一、監(jiān)控設(shè)備的國(guó)標(biāo)GB28181協(xié)議直播流程
1.1 fastbee平臺(tái)監(jiān)控設(shè)備交互流程

1.流程描述如下
a) fastbee平臺(tái)調(diào)用zlmediakit的接口 /index/api/openRtpServer,創(chuàng)建rtp服務(wù)器,并將rtp推流端口返回,填入Invite消息中的sdp信息
b) fastbee平臺(tái)(SIP服務(wù)器)向設(shè)備發(fā)送Invite消息,消息頭域中攜帶 Subject 字段,表明點(diǎn)播的視頻源ID、發(fā)送方媒體流序列號(hào)、媒體流接收者ID、接收端媒體流序列號(hào)等參數(shù),SDP消息體中s字段為“Play”代表實(shí)時(shí)點(diǎn)播
c) 設(shè)備收到fastbee平臺(tái)(SIP服務(wù)器)的Invite請(qǐng)求后,先回復(fù) 100 Trying 響應(yīng),再回復(fù) 200 OK 響應(yīng),攜帶SDP消息體,消息體中描述了設(shè)備發(fā)送媒體流的IP、端口、媒體格式、SSRC字段等內(nèi)容
d) fastbee平臺(tái)(SIP服務(wù)器)收到設(shè)備返回的 200 OK 響應(yīng)后,向設(shè)備發(fā)送 ACK 請(qǐng)求,請(qǐng)求中不攜帶消息體,完成與設(shè)備的 Invite 會(huì)話建立過程。
e) 設(shè)備向zlmediakit創(chuàng)建的rtp服務(wù)器推流
f) zlmediakit通過onPublish hook api 通知fastbee平臺(tái)流已經(jīng)發(fā)布和推流鑒權(quán),fastbee平臺(tái)響應(yīng)需要開啟拉流協(xié)議和流配置等信息。zlmediakit通過onStreamChanged hook api 通知fastbee平臺(tái)不同協(xié)議推流器流注冊(cè)狀態(tài)
g) 播放器根據(jù)設(shè)置的默認(rèn)播放地址拉取flv直播流
h) zlmediakit通過onPlay hook api 通知fastbee平臺(tái)播放器開始播放和播放鑒權(quán)
1.2 主要問題出現(xiàn)的步驟
· 步驟b,c,d中數(shù)據(jù)包沒有按照標(biāo)準(zhǔn)協(xié)議格式,導(dǎo)致直播會(huì)話建立出問題
· zlmediakit配置有問題,檢查api http/https端口(8082,8443),rtp收流端口(udp 30000-30100),https證書等
· 設(shè)備和服務(wù)器連通性是否正常,設(shè)備的sip包->服務(wù)器java 5061,設(shè)備rtp推流->zlmediakit 30000-30100,不通將導(dǎo)致步驟e設(shè)備推流失敗
· hook api配置是否正確,java應(yīng)用部署在容器中,hook api為:java:8080, java應(yīng)用在idea中啟動(dòng),zlmediakit服務(wù)器在本機(jī)docker中啟動(dòng),hook api為:host.docker.internal:8080 配置不正確將導(dǎo)致步驟f,h中回調(diào)接口出問題
1.3 抓包截圖

1.4 GB28181標(biāo)準(zhǔn)直播協(xié)議流程

1.5 播放器url示例
1.http 和 https
http協(xié)議下,server為:http://ip:port 例如:http://192.168.1.66:8082
https協(xié)議下,server為:https://域名:port 例如: http://m.btsdy.com:8443
2.flv協(xié)議
播放url格式:server/rtp/流ID.live.flv
示例:http://192.168.1.66:8082/rtp/gb_play_11010100001320000001_11010100001320000001.live.flv
http://m.btsdy.com:8443/rtp/gb_play_11010100001320000001_11010100001320000001.live.flv
3.fmp4協(xié)議
播放url格式:server/rtp/流ID.live.mp4
示例:http://192.168.1.66:8082/rtp/gb_play_11010100001320000001_11010100001320000001.live.mp4
http://m.btsdy.com:8443/rtp/gb_play_11010100001320000001_11010100001320000001.live.mp4
4.rtmp協(xié)議
播放url格式:rtmp://ip:port/rtp/流ID
示例:rtmp://192.168.1.66:1935/rtp/gb_play_11010100001320000001_11010100001320000001
5.rtsp協(xié)議
播放url格式:rtsp://ip:port/rtp/流ID
示例:rtsp://192.168.1.66:554/rtp/gb_play_11010100001320000001_11010100001320000001