EasyPusher安卓Android手机直播推送之RTSP流媒体协议流程
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直播、单兵直播项目中都同样可用!
获取更多信息
Copyright © EasyDarwin.org 2012-2016

EasyPusher安卓Android手机直播推送之RTSP流媒体协议流程的更多相关文章
- EasyPusher安卓Android手机直播推送之MediaCodec 硬编码H264格式
本文转自Holo的博客:http://blog.csdn.net/u013758734/article/details/50834770 最近在研究EasyDarwin的Push库EasyPusher ...
- 基于EasyDarwin EasyPusher实现Android手机直播推送功能
EasyPusher直播推送在之前就已经稳定支持了Windows.Linux.ARM上的RTSP直播推送功能,配合EasyDarwin开源流媒体服务器,延时基本在1s以内,这个技术方案经过一年多时间, ...
- 安卓Android手机直播推送同步录像功能设计与实现源码
本文转自:http://blog.csdn.net/jyt0551/article/details/58714595 EasyPusher是一款非常棒的推送客户端.稳定.高效.低延迟,音视频同步等都特 ...
- EasyDarwin开源手机直播方案:EasyPusher手机直播推送,EasyDarwin流媒体服务器,EasyPlayer手机播放器
在不断进行EasyDarwin开源流媒体服务器的功能和性能完善的同时,我们也配套实现了目前在安防和移动互联网行业比较火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 和 Ea ...
- EasyDarwin开源手机直播方案:EasyPusher手机直播推送,EasyDarwin流媒体server,EasyPlayer手机播放器
在不断进行EasyDarwin开源流媒体server的功能和性能完好的同一时候,我们也配套实现了眼下在安防和移动互联网行业比較火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 ...
- EasyRTMP安卓Android手机直播之AAC采集、编码与RTMP推送
本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52963378 EasyRTMP Android版de ...
- EasyPusher手机直播推送是如何实现后台直播推送的
本文由EasyDarwin开源团队成员John提供:http://blog.csdn.net/jyt0551/article/details/52276062 EasyPusher Android是使 ...
- EasyRTMP手机直播推送rtmp流flash无法正常播放问题
本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52960750 问题简介 EasyRTMP是EasyD ...
- 手机Android音视频采集与直播推送,实现单兵、移动监控类应用
从安卓智能手机.平板,到可穿戴的Android Ware.眼镜.手表.再到Android汽车.智能家居.电视,甚至最近看新闻,日本出的几款机器人都是Android系统的,再把目光放回监控行业,传统监控 ...
随机推荐
- C#:判断当前线程所处状态&委托
1.线程状态ThreadState 在C#中,线程对象Thread使用ThreadState属性指示线程状态,它是带Flags特性的枚举类型对象. ThreadState 为线程定义了一组所有可能的执 ...
- mfc对话框嵌入Flash的交互(转)
原文转自 http://blog.csdn.net/yacper/article/details/5021081 研究Flash嵌入游戏中的可行性....... 渲染问题已解决 事件响应已解决 下面是 ...
- C++ 回调函数的简单例子(转)
原文转自 http://blog.csdn.net/wnlwcg/article/details/6930990# 1.调用端 // 下面的这个_stdcall很重要的 void _stdcall T ...
- windows下webrtc的编译 2016(转)
====================20160124更新============================= 推荐一个FQ工具,shadowsocks,是需要付费的,一年也才不到100块,移 ...
- PHP错误捕获处理
PHP错误捕获处理 一般捕获错误使用的方法是: try{ ...}catch(Exception $e){ echo $e->getMessage();} 或者 set_exception_ha ...
- Purpose of XMLString::transcode
原文地址http://stackoverflow.com/questions/9826518/purpose-of-xmlstringtranscode I don't seem to underst ...
- Codeforces 932 B.Recursive Queries-前缀和 (ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined))
B. Recursive Queries time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- git上传(本地和远程有冲突时)
一. 冲突的产生:在上次git同步(上传)之后,本地和远程均有更改 二. 处理 1. 丢弃本地,采用远程: git checkout 冲突文件及其路径 如: git checkout bzrobot_ ...
- PHP平均小数红包算法
<?php function RandMoney( $money,$num ){ $arr = array();//存放金额 $total_money = 0;//红包总金额 $thisMone ...
- Hibernate中的对象状态,及自动更新原因,Hibernate set对象后不调用update却自动更新
原文:http://www.cnblogs.com/xiaoda/p/3225617.html Hibernate的对象有三种状态,分别为:瞬时状态 (Transient). 持久化状态(Persis ...