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