EasyPusher移动端推送同我们平时用的RTSP直播推送流程一样,都是采用标准RTSP/RTP推送流程:ANNOUNCE->SETUP->PLAY->RTP/RTCP->TEARDOWN(或者直接直接断开推送连接),流程图如下:
我们贴一段EasyPusher 安卓与EasyDarwin流媒体服务器之间的交互报文:
#C->S:
#time: ms=475350259 date=Sat, 16 Apr 2016 01:09:58 GMT
#server: ip=192.168.1.101 port=554
#client: ip=192.168.1.107 port=58757
ANNOUNCE rtsp://192.168.1.101:554/live.sdp RTSP/1.0\r\n
CSeq: 1\r\n
User-Agent: EasyPusher v1.16.0325\r\n
Content-Type: application/sdp\r\n
Content-Length: 557\r\n
\r\n
#S->C:
#time: ms=475350275 date=Sat, 16 Apr 2016 01:09:58 GMT
RTSP/1.0 200 OK\r\n
Server: EasyDarwin/7.0.4 (Build/16.0108; Platform/Win32; Release/EasyDarwin; State/Development; )\r\n
Cseq: 1\r\n
\r\n
#C->S:
#time: ms=475350290 date=Sat, 16 Apr 2016 01:09:58 GMT
#server: ip=192.168.1.101 port=554
#client: ip=192.168.1.107 port=58757
SETUP rtsp://192.168.1.101:554/live.sdp/trackID=1 RTSP/1.0\r\n
CSeq: 2\r\n
User-Agent: EasyPusher v1.16.0325\r\n
Transport: RTP/AVP/TCP;unicast;mode=record;interleaved=0-1\r\n
\r\n
#S->C:
#time: ms=475350306 date=Sat, 16 Apr 2016 01:09:58 GMT
RTSP/1.0 200 OK\r\n
Server: EasyDarwin/7.0.4 (Build/16.0108; Platform/Win32; Release/EasyDarwin; State/Development; )\r\n
Cseq: 2\r\n
Cache-Control: no-cache\r\n
Session: 127315715557739\r\n
Date: Sat, 16 Apr 2016 01:09:58 GMT\r\n
Expires: Sat, 16 Apr 2016 01:09:58 GMT\r\n
Transport: RTP/AVP/TCP;unicast;mode=record;interleaved=0-1\r\n
\r\n
#C->S:
#time: ms=475350337 date=Sat, 16 Apr 2016 01:09:58 GMT
#server: ip=192.168.1.101 port=554
#client: ip=192.168.1.107 port=58757
SETUP rtsp://192.168.1.101:554/live.sdp/trackID=2 RTSP/1.0\r\n
CSeq: 3\r\n
User-Agent: EasyPusher v1.16.0325\r\n
Transport: RTP/AVP/TCP;unicast;mode=record;interleaved=2-3\r\n
Session: 127315715557739\r\n
\r\n
#S->C:
#time: ms=475350368 date=Sat, 16 Apr 2016 01:09:58 GMT
RTSP/1.0 200 OK\r\n
Server: EasyDarwin/7.0.4 (Build/16.0108; Platform/Win32; Release/EasyDarwin; State/Development; )\r\n
Cseq: 3\r\n
Session: 127315715557739\r\n
Cache-Control: no-cache\r\n
Date: Sat, 16 Apr 2016 01:09:58 GMT\r\n
Expires: Sat, 16 Apr 2016 01:09:58 GMT\r\n
Transport: RTP/AVP/TCP;unicast;mode=record;interleaved=2-3\r\n
\r\n
#C->S:
#time: ms=475350384 date=Sat, 16 Apr 2016 01:09:58 GMT
#server: ip=192.168.1.101 port=554
#client: ip=192.168.1.107 port=58757
PLAY rtsp://192.168.1.101:554/live.sdp RTSP/1.0\r\n
CSeq: 4\r\n
User-Agent: EasyPusher v1.16.0325\r\n
Session: 127315715557739\r\n
Range: npt=0.000-\r\n
\r\n
#S->C:
#time: ms=475350415 date=Sat, 16 Apr 2016 01:09:58 GMT
RTSP/1.0 200 OK\r\n
Server: EasyDarwin/7.0.4 (Build/16.0108; Platform/Win32; Release/EasyDarwin; State/Development; )\r\n
Cseq: 4\r\n
Session: 127315715557739\r\n
RTP-Info: url=rtsp://192.168.1.101:554/live.sdp/trackID=1,url=rtsp://192.168.1.101:554/live.sdp/trackID=2\r\n
\r\n
………………
……RTP……
………………
如上流程,服务器端为:192.168.1.101:554,推送端:192.168.1.107,EasyPusher采用的是RTP over TCP的方式进行推送,所以此过程在公网手机视频直播、移动4G直播、单兵直播项目中都同样可用!
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2016