专栏名称: 腾讯云加社区
目录
相关文章推荐
大数据文摘  ·  风投式思维:哪吒2和DeepSeek背后的共 ... ·  3 天前  
数据派THU  ·  AAAI 2025 | ... ·  10 小时前  
CDA数据分析师  ·  Deepseek爆火,CDA持证人如何确保不 ... ·  2 天前  
软件定义世界(SDX)  ·  马斯克20万块GPU炼出Grok-3,暴击D ... ·  3 天前  
百度智能云  ·  百度财报:智能云Q4同比增长26%,AI驱动 ... ·  4 天前  
51好读  ›  专栏  ›  腾讯云加社区

从0到1搭建视频通话系统,我1天就搞定了

腾讯云加社区  · 掘金  ·  · 2018-10-12 03:40

正文

阅读 163

从0到1搭建视频通话系统,我1天就搞定了

欢迎大家前往 腾讯云+社区 ,获取更多腾讯海量技术实践干货哦~

本文由 腾讯云视频 发表于 云+社区专栏

img

本文作者,ericxwli,高级工程师,来自腾讯云终端团队

背景

最近被老大分配了一个任务,他打开微信视频聊天,发起多人视频,指着功能界面说,“你看我们的产品也是有多人会议的场景,我们也加一个这样的功能,也不用很复杂,就仿照微信或者QQ的多人视频做一个出来,能实时视频通话,这个应该也不难吧,给你一个礼拜搞定,可以吗?” 我的内心在想这TM要涉及视频采集、编码、传输、解码、视频渲染,要有稳定的后台音视频传输,就光搭建后台就要老命了,这尼玛怎么搞,临走老大又补了一句,"哦,我们这里再加一个亮点,可以在视频界面发送文本消息,拓展下聊天功能",这时我的内心已经崩溃。

要一个礼拜搞定,只能看看有没有现成的解决方案,抱着试一试的态度google了下,没想到还真有,腾讯云、即构、网易云、声网等好几家公司提供了完整了解决方案,本着腾讯毕竟大厂,而且里面介绍他们的解决方案是基于QQ十多年的技术积累,稳定性和质量都有保障,于是直接试用了腾讯云的解决方案,从接入过程和最后的效果看确实也没有辜负我的期望,在还没有真正购买他们产品时,接入过程中遇到的问题都能得到积极的技术支持,而且让我意想不到的是该方案还支持im功能,解决了老大最后的神补刀功能。

本文根据自己接入过程,展开介绍下具体步骤,归纳起来主要有四步:

一、注册账号

进入官网

注册自己的腾讯云账号,这个简单没什么说的,腾讯云也提供了QQ或者微信账号直接登录,省去注册的麻烦。

二、申请APPID

在接入腾讯云实时音视频前,我们需要给自己的应用注册一个唯一标识appid,方法如下:

登录腾讯云,点击进入控制台,

img

选择云产品->实时音视频->创建新应用

img

img

填入信息,点击确定即可生成自己的AppID,会在后面接入sdk时使用。

img

点击创建的应用就可以在控制台中对自己的应用进行管理

img

三、购买1元套餐

在使用申请的appid接入实时音视频服务后,产生通话时长,腾讯云就会根据时长来计费,就像我们打电话计费一样,这里腾讯云提供了一些套餐,我们可以先使用最便宜的1元套餐,一个月1万分钟,一般也满足使用,如果觉得效果好,使用时长更多时我们可以再升级套餐包, 购买入口

img

四、SDK接入

完成上述准备工作后,就是最关键的SDK接入,腾讯云的SDK接入有专门的文档介绍,接入非常方便,主要有下面关键几个步骤:

1.集成SDK

腾讯实时音视频解决方案将底层音视频能力封装成了一套SDK集合,包含了

SDK 说明
IMSDK 提供 IM 即时通信功能
AVSDK 提供底层音视频功能
ILiveSDK 在 AVSDK 基础上封装而成,提供更简单易用的音视频功能接口
BeautySDK 提供美颜预处理功能

我们只需要将上次SDK下载然后导入到自己工程即可,详细过程可阅读 官方接入文档

2.生成usersig

每个用户都会有一个用户标识,usersig则是对用户标识的一种鉴权认证,是一个加密串,在登录时会用到,生成步骤如下:

第一步,到腾讯云的控制台下载私钥,也就是这个

img

**第二步,复制私钥

下载下来是一个keys.zip,不用解压缩,直接用winrar打开,右键private_key选【查看文件】,然后Ctrl+A,Ctrl+C复制**

img

**第三步,生成userSig

还是在腾讯云的控制台,在左边找到【开发辅助】,输入用户名,在私钥这里Ctrl+V,点击【生成签名】,然后就可以在右边把生成的userSig复制下来**

img

img

3.初始化登录

在程序启动的地方调用接口:

// 初始化iLiveSDK
ILiveSDK.getInstance().initSdk(this, Constants.SDKAPPID, Constants.ACCOUNTTYPE);
// 初始化iLiveSDK房间管理模块
ILiveRoomManager.getInstance().init(new ILiveRoomConfig()
          .setRoomMsgListener(this));
复制代码

sdkAPPID就是刚才申请的APPID,acountType在应用账号信息里

img

完成初始化后,使用userid和usersig进行登录

ILiveLoginManager.getInstance().iLiveLogin(userId, userSig, callback);
复制代码

4.进入房间,视频渲染

布局渲染用的控件:

```Java

复制代码

<com.tencent.ilivesdk.view.AVRootView


    android:id="@+id/av_root_view"

    android:layout_width="match_parent"






请到「今天看啥」查看全文