P2P直播模塊FAQ

術(shù)語解釋

P2P中間件:P2P直播模塊的底層庫,負(fù)責(zé)建立P2P網(wǎng)絡(luò)和處理各種音視頻數(shù)據(jù)。

P2P直播模塊:在P2P中間件的基礎(chǔ)上封裝的針對直播這一特定場景的SDK。

采集端:指P2P直播模塊中負(fù)責(zé)采集和分發(fā)視頻的實(shí)例或者節(jié)點(diǎn)。

播放端:是P2P直播模塊中負(fù)責(zé)從采集端獲取視頻數(shù)據(jù)并播放的實(shí)例和節(jié)點(diǎn)。

設(shè)備端:常指采集端,運(yùn)行在特殊設(shè)備上的實(shí)例或者節(jié)點(diǎn)。

手機(jī)端:常指播放端,與APP集成的部分。

怎樣給直播模塊對接嵌入式設(shè)備的攝像頭?

1) 閱讀嵌入式設(shè)備的開發(fā)手冊,清楚設(shè)備關(guān)于視頻采集的API。

2) 閱讀《Peergine 擴(kuò)展設(shè)備輸入輸出C接口說明 v1.5.doc》和Demo代碼callbackVideo.cpp,



怎樣定位直播模塊登錄超時的問題?

登錄超時一般是網(wǎng)絡(luò)問題,主要排查方向是設(shè)備的網(wǎng)絡(luò)連接。設(shè)備能不能連接到公共網(wǎng)絡(luò)。

1、 Ping 服務(wù)器看看是否域名能夠正常解析,我們的測試服務(wù)器地址是 connect.peergine.com ,客戶自己搭建服務(wù)器后就ping客戶本身的服務(wù)器域名或者地址。

2、如果能ping通后檢測防火墻問題,看是否配置了一些防火墻規(guī)則限制了P2P流量。

如果還是不通。請?zhí)峤粏栴}到我們的討論群,同時提交日志和描述狀態(tài)信息,必要時提供遠(yuǎn)程服務(wù)。

3、目前需要排除的是防火墻對P2P的影響,請?jiān)谠O(shè)備上使用telnet connect.peergine.com?443?看看是否有反應(yīng),請將局域網(wǎng)防火墻關(guān)閉試試能不能登錄。如果還是不行換臺設(shè)備試試,或者換個網(wǎng)絡(luò)試試。

4、在嵌入式系統(tǒng)中,某些shell在輸入回車鍵后在字符串中輸入‘\n’或者‘\r’,如果這個時候輸入服務(wù)器地址的環(huán)節(jié)直接按回車會導(dǎo)致服務(wù)器地址是”\n” ,導(dǎo)致登錄超時。



怎樣對接嵌入式設(shè)備的音頻?

嵌入式測試程序原理說明:


因?yàn)榍度胧皆O(shè)備各種音頻采集和播放的接口都不統(tǒng)一,我們沒有辦法直接從音頻輸入設(shè)備采集音頻以及將音頻直接播放到音頻輸出設(shè)備。所以我們開放了一些接口支持客戶通過編程來對接音頻輸入輸出設(shè)備。

同時在SDK壓縮包中給出了一個演示程序。


演示程序音頻部分的做法是,接到播放端傳過來音頻后,將音頻數(shù)據(jù)再傳入中間件的音頻采集接口。

這樣就可以在播放端測試音頻數(shù)據(jù)是否能夠正常的傳輸?shù)搅嗽O(shè)備端,并且成功的從設(shè)備端傳回播放端。

設(shè)備端采集視頻的Demo演示的原理是循環(huán)的讀取一幀視頻數(shù)據(jù)測試視頻數(shù)據(jù)能不能正常的從設(shè)備端傳送到播放端并成功播放。

所以我們的對接視音頻的時候需要做的就是修改hardware_api.c文件,將從P2P中間件接收到的音頻數(shù)據(jù)調(diào)用設(shè)備的音頻輸出接口直接播放。同時要啟動設(shè)備的音頻采集,將采集到的音頻數(shù)據(jù)通過調(diào)用P2P中間件的音頻輸入接口輸入到P2P中間件。

同時需要注意的是設(shè)備采集音頻的采樣率以及設(shè)備支持播放音頻的采樣率。中間件只支持采樣率為11025 的音頻數(shù)據(jù)的傳輸。如果設(shè)備不支持這種采樣率的音頻數(shù)據(jù)的采集和播放,那么就需要了解一下pgLibDevAudioConvert.h 中的API接口,將其他采樣率的音頻轉(zhuǎn)化成11025采樣率,或者將11025采樣的的音頻轉(zhuǎn)化成其他采樣率。


音頻外部采集回調(diào)注冊后打開失敗

音頻的外部采集的回調(diào)的注冊和啟用同時要啟用音頻外部播放和啟用。

音頻轉(zhuǎn)換API支持的參數(shù)解析


8000,16000,32000,22050, 44100

441 = 11025/1000*40?

直播模塊播放端不能打開采集端視頻的原因

問題描述:

有客戶將直播模塊集成到APP中測試發(fā)現(xiàn):APP第一次打開可以看到采集端視頻,但是切換到后臺后(不殺死APP進(jìn)程)重新進(jìn)入APP,發(fā)現(xiàn)采集端視頻不能打開了。

具體情況:

直播模塊播放端對象Clean后然后置空銷毀。然后程序退到后臺,之后切換到前臺重新New 和初始化。發(fā)現(xiàn)調(diào)用VideoStart后接收不到采集端的視頻了,調(diào)用VideoStart后如截圖所示。

但是殺掉采集端APP這個進(jìn)程重新進(jìn)入就可以看到采集端視頻。


解決方法:檢查用來顯示采集端視頻的SurfaceView是否正常銷毀了。注意直播模塊的SurfaceView要使用pgLibLiveMultiView.Get 獲取,以及使用pgLibLiveMultiView

.Release銷毀。

特別注意,ExtVideo模塊使用的是pgLibView.Get 獲取pgLibView .Release銷毀。千萬不要混淆。

直播模塊關(guān)于視頻外部采集的問題。

參考文檔:《Peergine 擴(kuò)展設(shè)備輸入輸出C接口說明 v1.6.doc》

請先參考文檔已及及外部采集的Demo了解各個回調(diào)和API函數(shù)的意義。

啟動視頻外部采集的相關(guān)流程。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,210評論 3 119
  • 前言:每個成功者多是站在巨人的肩膀上!在做直播開發(fā)時 碰到了很多問題,在收集了許多人博客的基礎(chǔ)上做出來了成功的直播...
    _方丈閱讀 24,218評論 35 330
  • 很榮幸,因?yàn)槌蔀樵聝?yōu)秀小組成員,得到了一份禮物?!冻缘裟侵磺嗤艿臅贩浅0簦≌檬俏以诔郧嗤苓^程中遇到瓶頸的時候,...
    朵朵_79c1閱讀 474評論 2 7
  • 《哈佛時尚煥彩日式美甲》教學(xué)大綱 一、培訓(xùn)背景及任務(wù) 美甲是一種對指(趾)甲進(jìn)行裝飾美化的工作,又稱甲藝設(shè)計(jì)。美...
    豆腐哥哥啊閱讀 639評論 0 3
  • “夏天的夏,檸檬的檸。我第一次見你的時候在領(lǐng)快遞,那時候你在籃球場上打球,超帥的樣子吸引了。我們能做盆友嗎??” ...
    藍(lán)桂子閱讀 259評論 0 1

友情鏈接更多精彩內(nèi)容