EasyDarwin

面向企业级的流媒体平台框架

EasyDarwin开始于2013年,遵循 Apple开源License APSL,为了敏捷流媒体服务器开发和简化企业流媒体应用开发而诞生的。

详细 >>

EasyPusher安卓Android手机直播推送之RTSP流媒体协议流程


EasyPusher移动端推送同我们平时用的RTSP直播推送流程一样,都是采用标准RTSP/RTP推送流程:ANNOUNCE->SETUP->PLAY->RTP/RTCP->TEARDOWN(或者直接直接断开推送连接)...

EasyPusher移动端推送同我们平时用的RTSP直播推送流程一样,都是采用标准RTSP/RTP推送流程:ANNOUNCE->SETUP->PLAY->RTP/RTCP->TEARDOWN(或者直接直接断开推送连接),流程图如下:

EasyPusher安卓版RTSP协议流程

我们贴一段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直播、单兵直播项目中都同样可用!



------------------------------ 分割线 ------------------------------
本站文章除注明转载外,均为本站原创或编辑,欢迎大家转载,但请务必注明出处,尊重他人成果,谢谢。
转载请注明:EasyDarwin;非本站文章均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。
文章中如果有错误可联系:johnson@easydarwin.org
推荐文章
安防和移动互联网行业比较火热的移动端手机......>
有人问到像美拍、秒拍这些短视频拍摄是怎么......>
最近更新
Easydarwin中大量使用gettimeofday来获取系......>
最近很多EasyDarwin爱好者提出了手机移动端......>
第一个到达的音频RTP包就将作为音频的关键帧......>
打开手机直播立即就能显示出主播视频,其实就......>
h264的功能分为两层,视频编码层(VCL)和网......>
友情链接 | 申请链接
EasyDarwin官方微信!