使用Serverless云函數(shù)實(shí)現(xiàn)TRTC單流 混流錄制

來源: TencentServerless
作者:李永濤
時(shí)間:2021-05-20
17009
分開錄制頻道內(nèi)每個(gè)UID的音頻流和視頻流。每個(gè)UID均有其對應(yīng)的音頻文件和視頻文件。

01.

什么是單流錄制/混流錄制?

1.單流錄制模式(默認(rèn)錄制模式)

分開錄制頻道內(nèi)每個(gè)UID的音頻流和視頻流。每個(gè)UID均有其對應(yīng)的音頻文件和視頻文件。

640.gif

2.混流錄制模式

頻道內(nèi)所有或指定UID的音視頻混合錄制為一個(gè)音視頻文件;或頻道內(nèi)所有或指定UID的音頻混合錄制為一個(gè)純音頻文件,所有或指定UID的視頻混合錄制為一個(gè)純視頻文件。

640 (1).gif

02.

Serverless云函數(shù)在單流/混流錄制中

最佳實(shí)踐場景

1.場景一:直播回放

·核心訴求

1.國家監(jiān)管要求,直播過程要生成回放。

2.優(yōu)質(zhì)資源二次利用,形成點(diǎn)播文件多次分發(fā)。

3.隨時(shí)生成回放,用戶可以拖拽重復(fù)回看感興趣商品

·云函數(shù)SCF解決方案

云函數(shù)錄制可以在直播直播過程中實(shí)時(shí)生成回放文件,根據(jù)用戶需求可以觸發(fā)函數(shù)片段錄制下來,滿足需求的同時(shí)降低錄制成本。

2.場景二:游戲精彩片段

·核心訴求

游戲過程中的精彩片段實(shí)時(shí)錄制并且進(jìn)行分享。

云函數(shù)SCF解決方案

1.利用云函數(shù)實(shí)時(shí)錄制直播內(nèi)容,生成ts文件存在指定位置。

2.精彩片段觸發(fā)之后,讀取觸發(fā)點(diǎn)前幾個(gè)片段,調(diào)用函數(shù)資源池,快速生成精彩片段。

3.場景三:定向用戶錄制

·核心訴求

多人連麥場景下,希望將指定視頻流錄制存儲(chǔ)下來,比如狼人殺場景,可以將優(yōu)質(zhì)玩家的內(nèi)容錄制下來,在游戲社區(qū)中進(jìn)行分享。

云函數(shù)SCF解決方案

可以調(diào)用函數(shù)單流錄制功能,將指定uid的用戶數(shù)據(jù)進(jìn)行錄制,生成精彩片段,指定設(shè)置觸發(fā)形式。

03.

Serverless云函數(shù)的實(shí)現(xiàn)價(jià)值

1.用戶可以自定義上傳地址,不需要與存儲(chǔ)地址強(qiáng)行綁定。目前市面上rtc自帶的錄制功能大部分需要指定云存儲(chǔ)供應(yīng)商。

2.錄制結(jié)束之后可以使用云函數(shù)龐大資源池進(jìn)行快速轉(zhuǎn)碼,短時(shí)間內(nèi)生成回放,滿足對于實(shí)時(shí)性的要求。

3.提供多種觸發(fā)形式,可與客戶的業(yè)務(wù)進(jìn)行強(qiáng)結(jié)合。

04.

云函數(shù)SCF進(jìn)行單流錄制Demo演示

以上為大家介紹了Serverless云函數(shù)在單流/混流錄制中的業(yè)務(wù)場景價(jià)值,接下來以單流錄制為例,通過簡單的Demo演示來講解如何使用API網(wǎng)關(guān)集成云函數(shù)SCF來進(jìn)行單流錄制,工作流程如下:

640.png

1.API網(wǎng)關(guān)調(diào)用涉及參數(shù)

640 (1).png

2.cosConfg涉及參數(shù)

640 (2).png

如果userId為0,則會(huì)隨機(jī)生成一個(gè)userId。如果userId為指定用戶ID,多次請求API網(wǎng)關(guān)不保證冪等。

cosConfig中如果不配置secretId與secretKey,函數(shù)訪問COS時(shí)將使用運(yùn)行角色SCF_ExecuteRole權(quán)限去執(zhí)行。

如果要查詢函數(shù)運(yùn)行過程的狀態(tài),參考異步事件管理接口。

3.創(chuàng)建云函數(shù)

3.1登錄云函數(shù)控制臺(tái),選擇左側(cè)導(dǎo)航欄中的「函數(shù)服務(wù)」,單擊「新建」進(jìn)入新建函數(shù)頁面,根據(jù)頁面相關(guān)信息提示進(jìn)行配置。如下圖所示:

云函數(shù)控制臺(tái):https://console.cloud.tencent.com/scf

640 (3).png

創(chuàng)建方式:選擇「模板創(chuàng)建」。

模糊搜索:輸入「單流音頻錄制」,并進(jìn)行搜索。單擊模板中的「查看詳情」,即可在彈出的「模板詳情」窗口中查看相關(guān)信息,支持下載操作。

3.2單擊「下一步」,根據(jù)頁面相關(guān)信息提示進(jìn)行配置。如下圖所示:

640 (4).png

函數(shù)名稱:默認(rèn)填充。

異步執(zhí)行:勾選以開啟。開啟后,函數(shù)將以異步執(zhí)行模式響應(yīng)事件,事件調(diào)用無需阻塞等待處理結(jié)果,事件將在被調(diào)用后進(jìn)入異步執(zhí)行狀態(tài)。

狀態(tài)追蹤:勾選以開啟。開啟后,針對異步執(zhí)行的事件,將開始記錄響應(yīng)事件的實(shí)時(shí)狀態(tài),并提供事件的統(tǒng)計(jì)、查詢及終止服務(wù),產(chǎn)生的事件狀態(tài)數(shù)據(jù)將為您保留3天。

執(zhí)行超時(shí)時(shí)間:可根據(jù)需要自行修改。

3.3配置API網(wǎng)關(guān)觸發(fā)器,默認(rèn)新建API服務(wù),不開啟集成響應(yīng)。您也可以選擇自定義創(chuàng)建,自定義創(chuàng)建時(shí)確保集成響應(yīng)關(guān)閉,單擊「完成」即可完成函數(shù)創(chuàng)建和API網(wǎng)關(guān)觸發(fā)器創(chuàng)建。如下圖所示:

640 (5).png

3.4如需使用CFS掛載能力,由于CFS只能私有網(wǎng)絡(luò)訪問,因此必須將云函數(shù)的VPC配置在與CFS在同一個(gè)私有網(wǎng)絡(luò)下。如下圖所示:

640 (6).png

4.創(chuàng)建TRTC應(yīng)用

4.1登錄實(shí)時(shí)音視頻控制臺(tái),選擇左側(cè)導(dǎo)航欄中的「開發(fā)輔助」-->「快速跑通Demo」。

4.2填寫Demo名稱,單擊「創(chuàng)建」完成應(yīng)用創(chuàng)建。您可以根據(jù)自己的客戶端選擇模板試運(yùn)行。

實(shí)時(shí)音視頻控制臺(tái)地址:https://console.cloud.tencent.com/trtc/monitor

640.png

5.測試函數(shù)功能

5.1使用Postman構(gòu)造HTTP請求。如下圖所示:

640.webp.jpg

5.2請求發(fā)送后會(huì)收到異步函數(shù)響應(yīng)“Async run task submitted”,此次函數(shù)的RequstId會(huì)通過HTTP頭部信息中的x-scf-reqid返回。如下圖所示:

640 (1).png

5.3在云函數(shù)控制臺(tái)「函數(shù)服務(wù)」頁面中,點(diǎn)擊上述「1.創(chuàng)建云函數(shù)」步驟中創(chuàng)建的云函數(shù)名稱,進(jìn)入「函數(shù)詳情」頁,查看到打印出的推流日志信息。如下圖所示:

640 (2).png

5.4切換至實(shí)時(shí)音視頻控制臺(tái),在「監(jiān)控儀表盤」頁面單擊房間ID,查看推流監(jiān)控詳情信息。如下圖所示:

640 (3).png

5.5如需在錄制過程中停止錄制,可以調(diào)用「移除用戶接口」將用戶提出房間。

移除用戶接口:https://cloud.tencent.com/document/api/647/40496

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于TencentServerless,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號(hào)登錄/注冊
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家