安防視頻推流組件EasyRTSPServer對接海康NVR視頻正常音頻不能正常播放問題解析

背景分析

衆所周知,RTSP協議是一個流媒體協議,可以實現直播和點播形式的音頻與視頻流的播放。RTSP協議定義了多種服務器-客戶端之間交互的接口,主要有OPTIONS,DESCRIBE,SETUP,PLAY,TEARDOWN,RECORD,ANNOUNCE。網絡上已經有很多針對RTSP協議的文章,我這裏不準備進行過多介紹。RTSP並不包括具體數據的傳輸,該功能一般由RTP與RTCP協議來實現,並可以通過TCP或UDP兩種底層傳輸方式進行。

下圖是典型的RTSP直播過程中服務端-客戶端主要交互過程:

EasyRTSPServer

 

EasyRTSPServer就是一套穩定、高效、可靠、多平臺支持的RTSP-Server組件,今天爲大家分享用戶在使用EasyRTSPServer對接海康NVR時G726時,音頻不能正常播放的問題

提出問題

近期我們遇到了EasyRTSPServer對接海康NVR,視頻正常,但音頻不能正常播放這樣的問題。

分析問題

EasyRTSPServer輸出視頻爲H264,音頻格式爲G726,源都來自海康的攝像機,而該攝像機直接接入NVR是可以正常播放的。

 

EasyRTSPServer

我們可以排除攝像機源,問題就在EasyRTSPServer,通過抓包對比,發現海康每次發包大小是固定的,而EasyRTSPServer的音頻發包則是很大的一幀,說明是將多個音頻幀組成一個大的幀發出了。

解決問題

在創建SimpleRTPSink中,指定allowMultipleFramesPerPacket參數爲false即可。

EasyRTSPServer

 

EasyRTSPServer是一套穩定、高效、可靠、多平臺支持的RTSP-Server組件,接口調用非常簡單成熟,無需關注RTSPServer中關於客戶端監聽接入、音視頻多路複用、RTSP具體流程、RTP打包與發送等相關問題,支持多種音視頻格式,再也不用去處理整個RTSP OPTIONS/DESCRIBE/SETUP/PLAY/RTP/RTCP的複雜流程和擔心內存釋放的問題了,非常適合於安防領域、教育領域、互聯網直播領域等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章