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