摘要:上述就是本文根據(jù)騰訊云官方文檔指引,以為例總結(jié)的從零搭建視頻通話服務(wù)的主要步驟,如有遇到其他問(wèn)題,歡迎留言。
歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~
本文由騰訊云視頻發(fā)表于云+社區(qū)專欄
本文作者,ericxwli,高級(jí)工程師,來(lái)自騰訊云終端團(tuán)隊(duì)
背景
最近被老大分配了一個(gè)任務(wù),他打開(kāi)微信視頻聊天,發(fā)起多人視頻,指著功能界面說(shuō),“你看我們的產(chǎn)品也是有多人會(huì)議的場(chǎng)景,我們也加一個(gè)這樣的功能,也不用很復(fù)雜,就仿照微信或者QQ的多人視頻做一個(gè)出來(lái),能實(shí)時(shí)視頻通話,這個(gè)應(yīng)該也不難吧,給你一個(gè)禮拜搞定,可以嗎?” 我的內(nèi)心在想這TM要涉及視頻采集、編碼、傳輸、解碼、視頻渲染,要有穩(wěn)定的后臺(tái)音視頻傳輸,就光搭建后臺(tái)就要老命了,這尼瑪怎么搞,臨走老大又補(bǔ)了一句,"哦,我們這里再加一個(gè)亮點(diǎn),可以在視頻界面發(fā)送文本消息,拓展下聊天功能",這時(shí)我的內(nèi)心已經(jīng)崩潰。
要一個(gè)禮拜搞定,只能看看有沒(méi)有現(xiàn)成的解決方案,抱著試一試的態(tài)度google了下,沒(méi)想到還真有,騰訊云、即構(gòu)、網(wǎng)易云、聲網(wǎng)等好幾家公司提供了完整了解決方案,本著騰訊畢竟大廠,而且里面介紹他們的解決方案是基于QQ十多年的技術(shù)積累,穩(wěn)定性和質(zhì)量都有保障,于是直接試用了騰訊云的解決方案,從接入過(guò)程和最后的效果看確實(shí)也沒(méi)有辜負(fù)我的期望,在還沒(méi)有真正購(gòu)買他們產(chǎn)品時(shí),接入過(guò)程中遇到的問(wèn)題都能得到積極的技術(shù)支持,而且讓我意想不到的是該方案還支持im功能,解決了老大最后的神補(bǔ)刀功能。
本文根據(jù)自己接入過(guò)程,展開(kāi)介紹下具體步驟,歸納起來(lái)主要有四步:
一、注冊(cè)賬號(hào)進(jìn)入官網(wǎng)
注冊(cè)自己的騰訊云賬號(hào),這個(gè)簡(jiǎn)單沒(méi)什么說(shuō)的,騰訊云也提供了QQ或者微信賬號(hào)直接登錄,省去注冊(cè)的麻煩。
二、申請(qǐng)APPID在接入騰訊云實(shí)時(shí)音視頻前,我們需要給自己的應(yīng)用注冊(cè)一個(gè)唯一標(biāo)識(shí)appid,方法如下:
登錄騰訊云,點(diǎn)擊進(jìn)入控制臺(tái),
選擇云產(chǎn)品->實(shí)時(shí)音視頻->創(chuàng)建新應(yīng)用 填入信息,點(diǎn)擊確定即可生成自己的AppID,會(huì)在后面接入sdk時(shí)使用。 點(diǎn)擊創(chuàng)建的應(yīng)用就可以在控制臺(tái)中對(duì)自己的應(yīng)用進(jìn)行管理 三、購(gòu)買1元套餐在使用申請(qǐng)的appid接入實(shí)時(shí)音視頻服務(wù)后,產(chǎn)生通話時(shí)長(zhǎng),騰訊云就會(huì)根據(jù)時(shí)長(zhǎng)來(lái)計(jì)費(fèi),就像我們打電話計(jì)費(fèi)一樣,這里騰訊云提供了一些套餐,我們可以先使用最便宜的1元套餐,一個(gè)月1萬(wàn)分鐘,一般也滿足使用,如果覺(jué)得效果好,使用時(shí)長(zhǎng)更多時(shí)我們可以再升級(jí)套餐包,購(gòu)買入口
四、SDK接入完成上述準(zhǔn)備工作后,就是最關(guān)鍵的SDK接入,騰訊云的SDK接入有專門的文檔介紹,接入非常方便,主要有下面關(guān)鍵幾個(gè)步驟:
1.集成SDK騰訊實(shí)時(shí)音視頻解決方案將底層音視頻能力封裝成了一套SDK集合,包含了
SDK | 說(shuō)明 |
---|---|
IMSDK | 提供 IM 即時(shí)通信功能 |
AVSDK | 提供底層音視頻功能 |
ILiveSDK | 在 AVSDK 基礎(chǔ)上封裝而成,提供更簡(jiǎn)單易用的音視頻功能接口 |
BeautySDK | 提供美顏預(yù)處理功能 |
我們只需要將上次SDK下載然后導(dǎo)入到自己工程即可,詳細(xì)過(guò)程可閱讀官方接入文檔
2.生成usersig每個(gè)用戶都會(huì)有一個(gè)用戶標(biāo)識(shí),usersig則是對(duì)用戶標(biāo)識(shí)的一種鑒權(quán)認(rèn)證,是一個(gè)加密串,在登錄時(shí)會(huì)用到,生成步驟如下:
第一步,到騰訊云的控制臺(tái)下載私鑰,也就是這個(gè)
**第二步,復(fù)制私鑰
下載下來(lái)是一個(gè)keys.zip,不用解壓縮,直接用winrar打開(kāi),右鍵private_key選【查看文件】,然后Ctrl+A,Ctrl+C復(fù)制**
**第三步,生成userSig
還是在騰訊云的控制臺(tái),在左邊找到【開(kāi)發(fā)輔助】,輸入用戶名,在私鑰這里Ctrl+V,點(diǎn)擊【生成簽名】,然后就可以在右邊把生成的userSig復(fù)制下來(lái)**
3.初始化登錄在程序啟動(dòng)的地方調(diào)用接口:
// 初始化iLiveSDK ILiveSDK.getInstance().initSdk(this, Constants.SDKAPPID, Constants.ACCOUNTTYPE); // 初始化iLiveSDK房間管理模塊 ILiveRoomManager.getInstance().init(new ILiveRoomConfig() .setRoomMsgListener(this));
sdkAPPID就是剛才申請(qǐng)的APPID,acountType在應(yīng)用賬號(hào)信息里
完成初始化后,使用userid和usersig進(jìn)行登錄
ILiveLoginManager.getInstance().iLiveLogin(userId, userSig, callback);4.進(jìn)入房間,視頻渲染
布局渲染用的控件:
android:id="@+id/av_root_view" android:layout_width="match_parent" android:layout_height="match_parent" />并設(shè)置到SDK:ILiveRoomManager.getInstance().initAvRootView(avRootView);
進(jìn)入房間有兩種方式,房間不存在,調(diào)用創(chuàng)建房間接口ILiveRoomManager.getInstance().createRoom(roomId, new ILiveRoomOption(), callback);
如果房間已經(jīng)存在,則調(diào)用加入房間接口:ILiveRoomManager.getInstance().createRoom(roomId, new ILiveRoomOption(), callback);
roomID即是房間的號(hào)碼,由自己的業(yè)務(wù)提供維護(hù)。 在進(jìn)入房間后,對(duì)于本應(yīng)用程序就是進(jìn)入了會(huì)議室,會(huì)自動(dòng)將進(jìn)入會(huì)議室的每個(gè)人員畫面渲染出來(lái)。 #### 5.消息處理 在老大最后補(bǔ)的一句里,需要在視頻通話中加入文本消息聊天功能,老大說(shuō)的倒很簡(jiǎn)單,但是一個(gè)消息聊天單單消息通道的建立就是一件非常困難的事情,但在接入過(guò)程中驚喜的發(fā)現(xiàn)騰訊實(shí)時(shí)音視頻本身就提供了這個(gè)功能,真實(shí)得來(lái)全不費(fèi)工夫,而且開(kāi)啟聊天功能非常簡(jiǎn)單,只需在進(jìn)房時(shí)將ILiveRoomOption的imSupport開(kāi)啟,然后設(shè)置消息監(jiān)聽(tīng)即可收到消息,消息發(fā)送也是s調(diào)用一個(gè)借口即可,代碼如下://消息發(fā)送
ILiveMessage message = new ILiveTextMessage(test);
ILiveRoomManager.getInstance().sendGroupMessage(message, callback);##效果展示  浪里個(gè)浪,原本以為任務(wù)是肯定完成不了,沒(méi)想到不到一天的功夫就已經(jīng)搭建出視頻通話功能。上述就是本文根據(jù)騰訊云[官方文檔](https://cloud.tencent.com/document/product/647?utm_source=yunjiashequ&utm_campaign=trtc)指引,以Android為例總結(jié)的從零搭建視頻通話服務(wù)的主要步驟,如有遇到其他問(wèn)題,歡迎留言。 >**問(wèn)答 ** >[怎么用小程序?qū)崿F(xiàn)視頻通話?](https://cloud.tencent.com/developer/ask/117208?fromSource=waitui) >**相關(guān)閱讀** >[【小視頻】特效錄制插件強(qiáng)勢(shì)來(lái)襲](https://cloud.tencent.com/developer/article/1336182?fromSource=waitui) >[怒刷3000條短視頻后,我終于發(fā)現(xiàn)網(wǎng)紅300萬(wàn)點(diǎn)贊的套路](https://cloud.tencent.com/developer/article/1336162?fromSource=waitui) >[即時(shí)通訊App怎樣才能火?背后的技術(shù)原理,可以從這5個(gè)角度切入](https://cloud.tencent.com/developer/article/1336177?fromSource=waitui) >[【每日課程推薦】機(jī)器學(xué)習(xí)實(shí)戰(zhàn)!快速入門在線廣告業(yè)務(wù)及CTR相應(yīng)知識(shí)](https://cloud.tencent.com/developer/edu/course-1128?fromSource=waitui) **此文已由作者授權(quán)騰訊云+社區(qū)發(fā)布,更多原文請(qǐng)[點(diǎn)擊](https://cloud.tencent.com/developer/article/1168261?fromSource=waitui )** **搜索關(guān)注公眾號(hào)「云加社區(qū)」,第一時(shí)間獲取技術(shù)干貨,關(guān)注后回復(fù)1024 送你一份技術(shù)課程大禮包!**
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/77333.html
摘要:除了一些線程調(diào)度和線程模型的調(diào)整,我們還需要進(jìn)行業(yè)務(wù)邏輯上的優(yōu)化,比如縮減高消耗,低反饋的業(yè)務(wù)模塊,降低消耗,限制業(yè)務(wù)邏輯隊(duì)列內(nèi)存分配增長(zhǎng)空間,避免某些業(yè)務(wù)場(chǎng)景中內(nèi)存持續(xù)增長(zhǎng)導(dǎo)致系統(tǒng)奔潰。 1、HaaS RTC背景介紹 HaaS RTC是阿里云IoT聯(lián)合視頻云開(kāi)發(fā)的IoT設(shè)備端上的實(shí)時(shí)通...
摘要:今天的話題分四部分,第一個(gè)是小程序音視頻能拿來(lái)做什么,第二部分是將其內(nèi)部是怎么做到的第三就是講騰訊視頻云的音視頻技術(shù)的一些技術(shù)細(xì)節(jié)第四個(gè)是介紹一下微信上做音視頻的應(yīng)用的一些審核問(wèn)題以及應(yīng)對(duì)方案。 本文由云+社區(qū)發(fā)表 作者:常青 騰訊視頻云是做什么的?騰訊視頻云既不做數(shù)據(jù)庫(kù),也不做存儲(chǔ),也不做網(wǎng)絡(luò),我們只做音視頻服務(wù),也就是直播、點(diǎn)播、視頻通話、這類面向B類客戶的音視頻PAAS業(yè)務(wù)。 今...
閱讀 991·2023-04-25 19:40
閱讀 3625·2023-04-25 17:41
閱讀 3086·2021-11-11 11:01
閱讀 2787·2019-08-30 15:55
閱讀 3313·2019-08-30 15:44
閱讀 1489·2019-08-29 14:07
閱讀 572·2019-08-29 11:23
閱讀 1406·2019-08-27 10:54