融合通信常见问题2月刊 | 云信小课堂
「融合通信常見(jiàn)問(wèn)題」月刊將在每月末與大家見(jiàn)面,該月刊主要包括錯(cuò)題集、知識(shí)加油站、技術(shù)加餐三大板塊,匯集實(shí)踐過(guò)程中的易錯(cuò)問(wèn)題和解題思路,分享融合通信領(lǐng)域的前沿資訊和技術(shù)干貨,為您的開(kāi)發(fā)提效加速,為您的進(jìn)階之路添磚加瓦。
本期內(nèi)容概覽
看這里!別人踩過(guò)的坑快繞開(kāi)!
邊聽(tīng)音樂(lè)邊溝通的過(guò)程中人聲變小。
調(diào)用離開(kāi)房間接口后,攝像頭仍處于使用狀態(tài)。
觀眾切換至連麥者時(shí),聽(tīng)到主播的聲音兩次重復(fù)播放。
Web 端旁路推流之后,拉流端拉不到流。
關(guān)閉攝像頭后重新打開(kāi),攝像頭被切換無(wú)法保持。
使用 Web 端純音頻通話場(chǎng)景時(shí),聽(tīng)不到聲音。
這些知識(shí)點(diǎn)你知道嗎?
為什么打開(kāi)攝像頭失敗?
如何處理視頻模糊問(wèn)題?
為什么視頻會(huì)出現(xiàn)卡頓?
一、錯(cuò)題集
# 語(yǔ)聊房
疑難問(wèn)題1:語(yǔ)聊房伴音場(chǎng)景,邊聽(tīng)音樂(lè)邊溝通的過(guò)程中人聲變小。
易錯(cuò)等級(jí):????
錯(cuò)題原因:
伴音音量和人聲音量設(shè)置不合理,導(dǎo)致接收端的音頻效果較差。
解題思路:
(1)setAudioMixingPlaybackVolume 的音量建議設(shè)置不超過(guò) 25,超過(guò)之后可能伴音過(guò)程中語(yǔ)音溝通的體驗(yàn)會(huì)受到影響;
(2)adjustRecordingSignalVolume 該接口默認(rèn)音量為 100,建議不要調(diào)整。
疑難問(wèn)題2:調(diào)用離開(kāi)房間接口后,攝像頭仍處于使用狀態(tài)。
易錯(cuò)等級(jí):???
錯(cuò)題原因:
使用 nertc-web-sdk 時(shí),部分接口出現(xiàn)重復(fù)調(diào)用。Stream.init(初始化音視頻流對(duì)象)被重復(fù)兩次調(diào)用的情況下,本地被創(chuàng)建了兩條不同的視頻流,同時(shí)使用攝像頭設(shè)備。在 Client.leave(離開(kāi)音視頻房間)時(shí),只有一條流的設(shè)備使用被結(jié)束,致使攝像頭仍在被使用狀態(tài)。
解題思路:
業(yè)務(wù)中,需管理 Stream.init 調(diào)用次數(shù)及 Stream 對(duì)象的生命周期,每個(gè) Stream 只需初始化一次,以確保音視頻正常使用。
# 互動(dòng)直播
疑難問(wèn)題3:觀眾切換至連麥者時(shí),聽(tīng)到主播的聲音兩次重復(fù)播放。
易錯(cuò)等級(jí):???
錯(cuò)題原因:
互動(dòng)直播應(yīng)用中,觀眾及連麥者的切換,涉及播放器從 CDN 拉流切換至加入 RTC 房間訂閱主播音視頻。在觀眾連麥成功后,未停止播放器播放而直接加入音視頻房間并訂閱主播音視頻,致使主播音頻同時(shí)從播放器以及音視頻房間中重復(fù)播放。
解題思路:
互動(dòng)直播中,連麥者上麥的標(biāo)準(zhǔn)實(shí)現(xiàn)流程:
(1)連麥成功
(2)退出播放,釋放播放器實(shí)例和資源 mLivePlayer.release();
(3)初始化音視頻并進(jìn)入音視頻房間
(4)訂閱遠(yuǎn)端音視頻
疑難問(wèn)題4:Web 端旁路推流之后,偶現(xiàn)拉流端拉不到流。
易錯(cuò)等級(jí):???
錯(cuò)題原因:
推旁路流(addTasks 或者 updateTasks)和推 RTC 房間流(publish)的時(shí)序錯(cuò)誤,導(dǎo)致互動(dòng)直播混流時(shí)缺少數(shù)據(jù)源
解題思路:
推旁路流之前確保對(duì)應(yīng)的流已在 RTC 房間發(fā)布成功,所以需要再 publish 成功之后再去調(diào)用 addTasks;
如果旁路布局中還包含其他用戶的流,那得收到對(duì)應(yīng)用戶的 stream-added/stream-subscribed 流回調(diào)之后再去調(diào)用 addTasks 或者 updateTasks。
# 通用問(wèn)題
疑難問(wèn)題5:使用音視頻時(shí),關(guān)閉攝像頭后重新打開(kāi),攝像頭被切換無(wú)法保持。
易錯(cuò)等級(jí):???
錯(cuò)題原因:
開(kāi)關(guān)視頻使用 NERtc#enableLocalVideo() 接口,此時(shí)打開(kāi)前置或者后置攝像頭是由上一次調(diào)用 setLocalVideoConfig 中傳入的 frontCamera 參數(shù)決定的,如果在調(diào)用 enableLocalVideo 之后重新設(shè)置了 setLocalVideoConfig 接口中的 frontCamera 參數(shù),那就以這個(gè)參數(shù)為準(zhǔn)去打開(kāi)對(duì)應(yīng)的攝像頭。
解題思路:
setLocalVideoConfig 為全量參數(shù)配置接口,重復(fù)調(diào)用此接口時(shí),SDK 會(huì)刷新此前的所有參數(shù)配置,以最新的傳參為準(zhǔn)。所以每次修改配置時(shí)都需要設(shè)置所有參數(shù),未設(shè)置的參數(shù)將取默認(rèn)值。
# 音頻通話
疑難問(wèn)題6:
使用 Web 端純音頻通話場(chǎng)景時(shí),在接收到到訂閱的遠(yuǎn)端視頻流之后,聽(tīng)不到聲音。
易錯(cuò)等級(jí):?
錯(cuò)題原因:
Web 端接收到訂閱的遠(yuǎn)端音頻之后需要調(diào)用 play 方法播放。
解題思路:
在 stream-subscribed 回調(diào)(表示訂閱遠(yuǎn)端的音/視頻流成功)里面,調(diào)用 play 去播放遠(yuǎn)端的音視頻流,此時(shí) audio 和 video 推薦均設(shè)置為 true。
二、知識(shí)加油站
為什么打開(kāi)攝像頭失敗?
攝像頭打開(kāi)失敗有多種原因,您可以參考如下步驟進(jìn)行排查:
如何處理視頻模糊問(wèn)題?
視頻模糊一般是由視頻碼率或分辨率過(guò)低導(dǎo)致。
為什么視頻會(huì)出現(xiàn)卡頓?
視頻卡頓問(wèn)題一般由網(wǎng)絡(luò)、設(shè)備性能等原因造成。
- 判斷是持續(xù)性的還是一次性的卡頓。一次性的卡頓是由網(wǎng)絡(luò)和設(shè)備的隨機(jī)性導(dǎo)致,屬于正常現(xiàn)象。
- 檢查網(wǎng)絡(luò)狀態(tài),判斷連接是否正常,是否能夠上網(wǎng)。
- 如果網(wǎng)絡(luò)連接正常但依然卡頓,請(qǐng)嘗試更換網(wǎng)絡(luò)連接,檢查在網(wǎng)絡(luò)狀態(tài)良好的條件下是否依然卡頓。
- 如果網(wǎng)絡(luò)良好且條件允許,請(qǐng)嘗試更換設(shè)備。
- 如果有視頻前處理,例如美顏等,請(qǐng)先關(guān)閉前處理,檢查卡頓是否由于前處理導(dǎo)致。
三、技術(shù)加餐
資訊|WebRTC M97 更新
內(nèi)容概述:WebRTC M97 目前在 Chrome 的穩(wěn)定版中可用,包含 10 多個(gè)錯(cuò)誤修復(fù)、增強(qiáng)和穩(wěn)定性/性能改進(jìn)。
技術(shù)干貨 | C++ 四大特性之三:concept 特性詳解
內(nèi)容概述:模板的演進(jìn)是 C++ 發(fā)展史中一條十分重要的線,筆者認(rèn)為 concept 是這條線中最大的一個(gè)特性,本文將詳細(xì)解讀 C++ 的 concept 特性,以期對(duì) C++ 有更深入的了解。
技術(shù)干貨 | WebRTC ADM 源碼流程分析
內(nèi)容概述:本文主要基于 WebRTC release-72 源碼及云信音視頻團(tuán)隊(duì)積累的相關(guān)經(jīng)驗(yàn)而成,主要分析以下問(wèn)題:?ADM(Audio Device Manager)的架構(gòu)如何?ADM(Audio Device Manager)的啟動(dòng)流程如何?ADM(Audio Device Manager)的數(shù)據(jù)流向如何?本文主要是分析相關(guān)的核心流程,以便于大家有需求時(shí),能快速地定位到相關(guān)的模塊。
總結(jié)
以上是生活随笔為你收集整理的融合通信常见问题2月刊 | 云信小课堂的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 技术宝典 | WebRTC ADM 源码
- 下一篇: 场景创新,推动金融行业数字化转型