01.
什么是單流錄制/混流錄制?
1.單流錄制模式(默認(rèn)錄制模式)
分開(kāi)錄制頻道內(nèi)每個(gè)UID的音頻流和視頻流。每個(gè)UID均有其對(duì)應(yīng)的音頻文件和視頻文件。
2.混流錄制模式
頻道內(nèi)所有或指定UID的音視頻混合錄制為一個(gè)音視頻文件;或頻道內(nèi)所有或指定UID的音頻混合錄制為一個(gè)純音頻文件,所有或指定UID的視頻混合錄制為一個(gè)純視頻文件。
02.
Serverless云函數(shù)在單流/混流錄制中
最佳實(shí)踐場(chǎng)景
1.場(chǎng)景一:直播回放
·核心訴求
1.國(guó)家監(jiān)管要求,直播過(guò)程要生成回放。
2.優(yōu)質(zhì)資源二次利用,形成點(diǎn)播文件多次分發(fā)。
3.隨時(shí)生成回放,用戶(hù)可以拖拽重復(fù)回看感興趣商品
·云函數(shù)SCF解決方案
云函數(shù)錄制可以在直播直播過(guò)程中實(shí)時(shí)生成回放文件,根據(jù)用戶(hù)需求可以觸發(fā)函數(shù)片段錄制下來(lái),滿(mǎn)足需求的同時(shí)降低錄制成本。
2.場(chǎng)景二:游戲精彩片段
·核心訴求
游戲過(guò)程中的精彩片段實(shí)時(shí)錄制并且進(jìn)行分享。
云函數(shù)SCF解決方案
1.利用云函數(shù)實(shí)時(shí)錄制直播內(nèi)容,生成ts文件存在指定位置。
2.精彩片段觸發(fā)之后,讀取觸發(fā)點(diǎn)前幾個(gè)片段,調(diào)用函數(shù)資源池,快速生成精彩片段。
3.場(chǎng)景三:定向用戶(hù)錄制
·核心訴求
多人連麥場(chǎng)景下,希望將指定視頻流錄制存儲(chǔ)下來(lái),比如狼人殺場(chǎng)景,可以將優(yōu)質(zhì)玩家的內(nèi)容錄制下來(lái),在游戲社區(qū)中進(jìn)行分享。
云函數(shù)SCF解決方案
可以調(diào)用函數(shù)單流錄制功能,將指定uid的用戶(hù)數(shù)據(jù)進(jìn)行錄制,生成精彩片段,指定設(shè)置觸發(fā)形式。
03.
Serverless云函數(shù)的實(shí)現(xiàn)價(jià)值
1.用戶(hù)可以自定義上傳地址,不需要與存儲(chǔ)地址強(qiáng)行綁定。目前市面上rtc自帶的錄制功能大部分需要指定云存儲(chǔ)供應(yīng)商。
2.錄制結(jié)束之后可以使用云函數(shù)龐大資源池進(jìn)行快速轉(zhuǎn)碼,短時(shí)間內(nèi)生成回放,滿(mǎn)足對(duì)于實(shí)時(shí)性的要求。
3.提供多種觸發(fā)形式,可與客戶(hù)的業(yè)務(wù)進(jìn)行強(qiáng)結(jié)合。
04.
云函數(shù)SCF進(jìn)行單流錄制Demo演示
以上為大家介紹了Serverless云函數(shù)在單流/混流錄制中的業(yè)務(wù)場(chǎng)景價(jià)值,接下來(lái)以單流錄制為例,通過(guò)簡(jiǎn)單的Demo演示來(lái)講解如何使用API網(wǎng)關(guān)集成云函數(shù)SCF來(lái)進(jìn)行單流錄制,工作流程如下:
1.API網(wǎng)關(guān)調(diào)用涉及參數(shù)
2.cosConfg涉及參數(shù)
如果userId為0,則會(huì)隨機(jī)生成一個(gè)userId。如果userId為指定用戶(hù)ID,多次請(qǐng)求API網(wǎng)關(guān)不保證冪等。
cosConfig中如果不配置secretId與secretKey,函數(shù)訪問(wèn)COS時(shí)將使用運(yùn)行角色SCF_ExecuteRole權(quán)限去執(zhí)行。
如果要查詢(xún)函數(shù)運(yùn)行過(guò)程的狀態(tài),參考異步事件管理接口。
3.創(chuàng)建云函數(shù)
3.1登錄云函數(shù)控制臺(tái),選擇左側(cè)導(dǎo)航欄中的「函數(shù)服務(wù)」,單擊「新建」進(jìn)入新建函數(shù)頁(yè)面,根據(jù)頁(yè)面相關(guān)信息提示進(jìn)行配置。如下圖所示:
云函數(shù)控制臺(tái):https://console.cloud.tencent.com/scf
創(chuàng)建方式:選擇「模板創(chuàng)建」。
模糊搜索:輸入「單流音頻錄制」,并進(jìn)行搜索。單擊模板中的「查看詳情」,即可在彈出的「模板詳情」窗口中查看相關(guān)信息,支持下載操作。
3.2單擊「下一步」,根據(jù)頁(yè)面相關(guān)信息提示進(jìn)行配置。如下圖所示:
函數(shù)名稱(chēng):默認(rèn)填充。
異步執(zhí)行:勾選以開(kāi)啟。開(kāi)啟后,函數(shù)將以異步執(zhí)行模式響應(yīng)事件,事件調(diào)用無(wú)需阻塞等待處理結(jié)果,事件將在被調(diào)用后進(jìn)入異步執(zhí)行狀態(tài)。
狀態(tài)追蹤:勾選以開(kāi)啟。開(kāi)啟后,針對(duì)異步執(zhí)行的事件,將開(kāi)始記錄響應(yīng)事件的實(shí)時(shí)狀態(tài),并提供事件的統(tǒng)計(jì)、查詢(xún)及終止服務(wù),產(chǎn)生的事件狀態(tài)數(shù)據(jù)將為您保留3天。
執(zhí)行超時(shí)時(shí)間:可根據(jù)需要自行修改。
3.3配置API網(wǎng)關(guān)觸發(fā)器,默認(rèn)新建API服務(wù),不開(kāi)啟集成響應(yīng)。您也可以選擇自定義創(chuàng)建,自定義創(chuàng)建時(shí)確保集成響應(yīng)關(guān)閉,單擊「完成」即可完成函數(shù)創(chuàng)建和API網(wǎng)關(guān)觸發(fā)器創(chuàng)建。如下圖所示:
3.4如需使用CFS掛載能力,由于CFS只能私有網(wǎng)絡(luò)訪問(wèn),因此必須將云函數(shù)的VPC配置在與CFS在同一個(gè)私有網(wǎng)絡(luò)下。如下圖所示:
4.創(chuàng)建TRTC應(yīng)用
4.1登錄實(shí)時(shí)音視頻控制臺(tái),選擇左側(cè)導(dǎo)航欄中的「開(kāi)發(fā)輔助」-->「快速跑通Demo」。
4.2填寫(xiě)Demo名稱(chēng),單擊「創(chuàng)建」完成應(yīng)用創(chuàng)建。您可以根據(jù)自己的客戶(hù)端選擇模板試運(yùn)行。
實(shí)時(shí)音視頻控制臺(tái)地址:https://console.cloud.tencent.com/trtc/monitor
5.測(cè)試函數(shù)功能
5.1使用Postman構(gòu)造HTTP請(qǐng)求。如下圖所示:
5.2請(qǐng)求發(fā)送后會(huì)收到異步函數(shù)響應(yīng)“Async run task submitted”,此次函數(shù)的RequstId會(huì)通過(guò)HTTP頭部信息中的x-scf-reqid返回。如下圖所示:
5.3在云函數(shù)控制臺(tái)「函數(shù)服務(wù)」頁(yè)面中,點(diǎn)擊上述「1.創(chuàng)建云函數(shù)」步驟中創(chuàng)建的云函數(shù)名稱(chēng),進(jìn)入「函數(shù)詳情」頁(yè),查看到打印出的推流日志信息。如下圖所示:
5.4切換至實(shí)時(shí)音視頻控制臺(tái),在「監(jiān)控儀表盤(pán)」頁(yè)面單擊房間ID,查看推流監(jiān)控詳情信息。如下圖所示:
5.5如需在錄制過(guò)程中停止錄制,可以調(diào)用「移除用戶(hù)接口」將用戶(hù)提出房間。
移除用戶(hù)接口:https://cloud.tencent.com/document/api/647/40496