最近關注GB28181的朋友很多,昨天有位朋友問到GB28181出內網的問題,希望我花5分鍾的時間
講講如何通過GB28181協議將內網的攝像機視頻推送到公網。要說清楚這個問題,5分鍾的時間應該不
夠,還是寫篇文章跟大家分享下。
說這個問題之前,我想先聊聊GB28181協議,首先我們需要了解的是GB28181是應用層協議,而
不是傳輸層協議。所謂應用層協議說簡單點就是發送方跟接收方商議怎么協作:比如第一個信令由誰
發起,視頻流的采用什么封裝格式,什么時候開始推送視頻,什么時候結束推送等等。GB28181協議
規定下級(也可以理解為客戶端)首先向上級(服務端)注冊,這一點讓內網攝像機設備通過GB281
81協議主動推送視頻到公網有了可能性。局域網的攝像機設備只有內網IP,公網下的服務無法主動找
到攝像機設備,然公網下的服務有公網IP,內網中的攝像機通過路由轉換最終可以將注冊信息發送給公
網下的服務(這一點rtsp協議是做不到的,rtsp協議規定首先得服務端向客戶端發送命令,所以內網攝
像機設備通過rtsp協議主動推送視頻到公網是行不通,通過在內網部署流媒體服務主動推送視頻流到公
網可行,代價是增加一台服務器)。
客戶端設備已經注冊上來了,接下來服務端要做的事情是查詢設備信息以及發起視頻流請求命令。
客戶端設備跟服務端在同一個局域網時,服務端發送的查詢及請求命令的目的地址直接填寫客戶端設備
的IP及Port即可;客戶端設備在內網服務端在公網時服務端發送命令的目的地址該填什么呢?直接填客
戶端設備的內網IP及Port?顯然不正確,身在公網的服務根本不知道客戶端設備內網IP + Port家住何方,
哪一條路可以抵達。服務端要想將命令成功發送給客戶端設備必須得找到合適的路徑(路由路徑)。
合適在路徑在哪,攝像機設備注冊到服務端會產生一條從內網設備到公網服務的路徑,服務端沿着這
條路徑下發命令即可將命令發送給內網客戶端設備。服務端並不用關心這條路徑的所有節點,只要將
目的地址的IP及Port設置為設備注冊上來時公網測的IP及Port即可。
如需交流,可以加QQ群1038388075,766718184,或者QQ:350197870
博主提供Ffmpeg、GB28181視頻教程
播放地址: http://www.iqiyi.com/u/1426749687
源碼及Demo下載地址:http://www.chungen90.com/?news_2/
視頻下載地址: http://www.chungen90.com/?news_3/