GB28181國檢推流


     GB28181國檢有一向內容是實時播放攝像機流,經過一番努力,搞定這個功能,現分享心得:

首先需要了解流程,說簡答點就是視頻流從哪里來到什么地方去,下圖描述了視頻流推流,轉發的

基本過程:信令交互成功以后,攝像機(媒體流發送者)推送流到媒體服務器,媒體服務器在指定

的端口接收到視頻流后,轉發給流媒體接收者(例如某台PC的某個空閑端口)。

    講了基本流程,我們來看下28181要求的視頻流格式。GB28181要求傳輸的視頻流格式為PS流,或者

H264裸流,又或者是MP4格式,其中PS流及H264裸流較常見。PS流是如何封裝的這里不細述,可以查詢

相關文檔。如何區分是PS流還是H264裸流有個簡答的方法:用wireshark抓包,數據包類型是rtp的是PS流

數據類型是udp是H264裸流。

   准備工作完畢,開始講推流。推流的前提是信令交互已經成功。下面說下基於jpmedia推流的基本步驟。

  

                                                                 圖1

 

1) static boolInitialize() 

      輸入:無 輸出:無 返回值:true 表示初始化成功,false 表示失敗。

      初始化接口庫,媒體服務器接收到 sip 服務器 invite請求后即執行該操作,如圖 1 第 2 步。

 2) bool CreateRecvTransport(unsignedshortrecvPort) <br>  

      輸入:端口號 輸出:無 返回值:true表示創建接收端口成功,false表示失敗。

     備注:媒體服務器收到invite請求后發送自身 sdp 信息,recvPort 需作為 sdp 指定 端口。

     媒體服務器收到sip 服務器 invite 請求后<br>    即執行該操作,如圖 1 第2 步。

3)bool AttachMediaSender(conststring&mediasenderaddress,unsignedshortport)

     輸入:媒體流發送者 IP, 端口 輸出:無 返回值:true 表示關聯媒體流發送者成功,false 表示失敗。

     備注:關聯媒體流發送者 IP 地址及端口,圖 1 第 6 步執行該操作,sdp 信息包含了媒 體流發送者 IP 地址及端口號。<br>

4)bool CreateForwardTransport(unsignedshortsendport)const

     輸入:本地轉發端口 輸出:無 返回值:true

     表示創建轉發端口成功,false表示失敗。 備注:自行指定未使用端口即可,圖 1 第 8 步執行該操作。<br>

5)bool AttachMediaReceiver(conststring&mediareceiveraddress,unsignedshortport)const

    輸入:流媒體接收者 IP 地址,端口 輸出:無 返回值:true 表示關聯媒體流接收者成功,false表示失敗。

    備注:圖 1 第 12 步執行該操作。

6)void DestroySendTransport()const

     輸入:無 輸出:無 返回值:無 備注:釋放端口資源,圖 1 第15 步執行該操作。<br>

7)void DestroyRecvTransport()const

    輸入:無 輸出:無 返回值:無 備注:釋放端口資源,圖 1 第17 步執行該操作。

 

    如果出現推流花屏可以用wireshark抓包保存成文件。播放保存下來的文件,如果視頻正常,說明視頻源

沒有問題。如果抓包保存文件見下圖。

                                                                                            圖2

                                                                                   圖3

如需交流請加 流媒體/Ffmpeg/音視頻 766718184,庫下載地址http://pan.baidu.com/s/1hsysYuo

視頻下載地址:http://www.chungen90.com/?news_3/

 Demo下載地址: http://www.chungen90.com/?news_2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM