转载:http://linux-expert.blog.163.com/blog/static/764585292008530912712/

rtsp/rtp over http

C->S (get)
    GET /1.3gp HTTP/1.0
    User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.07.09)
    x-sessioncookie: 5ba041fbf06108c6e9565a1
    Accept: application/x-rtsp-tunnelled
    Pragma: no-cache
    Cache-Control: no-cache

S->C(reply)
    HTTP/1.0 200 OK\r\n
    Server: DSS/5.5.5 (Build/489.16; Platform/Linux; Release/Darwin; state/beta; )\r\n
    Content-Type: application/x-rtsp-tunnelled\r\n

C->S (post)
    POST /1.3gp HTTP/1.0
    User-Agent: ./openRTSP (LIVE555 Streaming Media v2007.07.09)
    x-sessioncookie: 5ba041fbf06108c6e9565a1
    Content-Type: application/x-rtsp-tunnelled
    Pragma: no-cache
    Cache-Control: no-cache
    Content-Length: 32767
    Expires: Sun, 9 Jan 1972 00:00:00 GMT

C->S(option)
    
T1BUSU9OUyBydHNwOi8vMTcyLjE2LjEwMC43OC8xLjNncCBSVFNQLzEuMA0KQ1NlcTogMQ0KVXNlci1BZ2VudDogLi9vcGVuUlRTUCAoT

ElWRTU1NSBTdHJlYW1pbmcgTWVkaWEgdjIwMDcuMDcuMDkpDQoNCg==

这种通过HTTPchannel方式的区别就是它将C->S的请求(POST), 通过base64编码之后再发给服务器。这样中间路由防火墙
就看不到这个RTSP请求了。

S->C(reply)
    RTSP/1.0 200 OK
    Server: DSS/5.5.5 (Build/489.16; Platform/Linux; Release/Darwin; state/beta; )
    Cseq: 1
    Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, RECORD

C->S (describe)
REVTQ1JJQkUgcnRzcDovLzE3Mi4xNi4xMDAuNzgvMS4zZ3AgUlRTUC8xLjANCkNTZXE6IDINCkFjY2VwdDogYXBwbGljYXRpb24vc2RwD

QpVc2VyLUFnZW50OiAuL29wZW5SVFNQIChMSVZFNTU1IFN0cmVhbWluZyBNZWRpYSB2MjAwNy4wNy4wOSkNCg0K

S->C (reply)
RTSP/1.0 200 OK
Server: DSS/5.5.5 (Build/489.16; Platform/Linux; Release/Darwin; state/beta; )
Cseq: 2
Last-Modified: Thu, 19 Jul 2007 01:41:09 GMT
Cache-Control: must-revalidate
Content-length: 504
Date: Mon, 23 Jul 2007 02:23:42 GMT
Expires: Mon, 23 Jul 2007 02:23:42 GMT
Content-Type: application/sdp
x-Accept-Retransmit: our-retransmit
x-Accept-Dynamic-Rate: 1
Content-Base: rtsp://172.16.100.78/1.3gp/

v=0
o=StreamingServer 3394146222 1184809269000 IN IP4 172.16.100.78
s=/1.3gp
u=http:///
e=admin@
c=IN IP4 0.0.0.0
b=AS:50
t=0 0
a=control:*
a=range:npt=0- 70.00000
m=video 0 RTP/AVP 96
b=AS:41
a=rtpmap:96 MP4V-ES/90000
a=control:trackID=3
a=cliprect:0,0,144,176
a=framesize:96 176-144
a=fmtp:96 profile-level-id=1;config=000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F
m=audio 0 RTP/AVP 97
b=AS:8
a=rtpmap:97 AMR/8000/1
a=control:trackID=4
a=fmtp:97 octet-align=1

C->S (SETUP)
U0VUVVAgcnRzcDovLzE3Mi4xNi4xMDAuNzgvMS4zZ3AvdHJhY2tJRD0zIFJUU1AvMS4wDQpDU2VxOiAzDQpUcmFuc3BvcnQ6IFJUUC9BV

lAvVENQO3VuaWNhc3Q7aW50ZXJsZWF2ZWQ9MC0xDQpVc2VyLUFnZW50OiAuL29wZW5SVFNQIChMSVZFNTU1IFN0cmVhbWluZyBNZWRpYS

B2MjAwNy4wNy4wOSkNCg0K

S->C(reply)
RTSP/1.0 200 OK
Server: DSS/5.5.5 (Build/489.16; Platform/Linux; Release/Darwin; state/beta; )
Cseq: 3
Last-Modified: Thu, 19 Jul 2007 01:41:09 GMT
Cache-Control: must-revalidate
Session: 2110769224986338178
Date: Mon, 23 Jul 2007 02:23:42 GMT
Expires: Mon, 23 Jul 2007 02:23:42 GMT
Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=771536A8

C->S(setup)
U0VUVVAgcnRzcDovLzE3Mi4xNi4xMDAuNzgvMS4zZ3AvdHJhY2tJRD00IFJUU1AvMS4wDQpDU2VxOiA0DQpUcmFuc3BvcnQ6IFJUUC9BV

lAvVENQO3VuaWNhc3Q7aW50ZXJsZWF2ZWQ9Mi0zDQpTZXNzaW9uOiAyMTEwNzY5MjI0OTg2MzM4MTc4DQpVc2VyLUFnZW50OiAuL29wZW

5SVFNQIChMSVZFNTU1IFN0cmVhbWluZyBNZWRpYSB2MjAwNy4wNy4wOSkNCg0K

S->C(reply)
RTSP/1.0 200 OK
Server: DSS/5.5.5 (Build/489.16; Platform/Linux; Release/Darwin; state/beta; )
Cseq: 4
Session: 2110769224986338178
Last-Modified: Thu, 19 Jul 2007 01:41:09 GMT
Cache-Control: must-revalidate
Date: Mon, 23 Jul 2007 02:23:42 GMT
Expires: Mon, 23 Jul 2007 02:23:42 GMT
Transport: RTP/AVP/TCP;unicast;interleaved=2-3;ssrc=4CAA823B

C->S (play)
UExBWSBydHNwOi8vMTcyLjE2LjEwMC43OC8xLjNncC8gUlRTUC8xLjANCkNTZXE6IDUNClNlc3Npb246IDIxMTA3NjkyMjQ5ODYzMzgxN

zgNClJhbmdlOiBucHQ9MC4wMDAtDQpVc2VyLUFnZW50OiAuL29wZW5SVFNQIChMSVZFNTU1IFN0cmVhbWluZyBNZWRpYSB2MjAwNy4wNy

4wOSkNCg0K

S->C (reply)
RTSP/1.0 200 OK
Server: DSS/5.5.5 (Build/489.16; Platform/Linux; Release/Darwin; state/beta; )
Cseq: 5
Session: 2110769224986338178
Range: npt=0.00000-70.00000
RTP-Info:

url=rtsp://172.16.100.78/1.3gp/trackID=3;seq=11720;rtptime=1814783692,url=rtsp://172.16.100.78/1.3gp/trac

kID=4;seq=53596;rtptime=894859716

S->C (data)
2400017580e02deb6c2e9b1c771536a8000001b65567809f5b1f7c49120bbea0bc4b1f2affc46f2b2ff7bff456b8d3e81cf0301b1

2d5095b1983f2f2fc5c1b0200f8491271382161281ab947c2489410d50191f7ef2acacb95f95096252b80a61247c5cac90e3d86ce

7f30ffd780b27197c296044540f13005aad022a3741884d9d7a01a9cfac51a701c189a2459b25823ac99fe9548e164d53bbe157e6

b497ad493b6a2728aa390459642b7acfa4c7f402c9d935bcf7970f5fecea6604227719835d87202dc6b98da4942d966ec5cffcd5f

9989e7126f4602936e804f9c3bbce8da434061b5d3402c1f396c98bc89d98969691c94fec3d34b0b2e6402facb720dca88c1cfe92

7454787068ffe029e1612ce8d5fd3c0490054eb098052636f6b4458053be4145a19ba9e062e02c6a94608cad0fa8aecc32f3663d3

56d46f0a518baa87557e93ef3d9fe7a360f3b931e3a029302afe3ca46d1381c3ee79bf21fec753df9abd318f37c209e74db04c21e

71816d3e75ef5b7fffe

我们只关心前面4个字节,根据rfc2326 10.12, 这种交织方式第一个字节是一个美元符号($),ASCII码为24.第二个字节是交织channel的ID,这里是0,然后两个字节就表示接下来的数据的长度。表示接下来的数据长度是0x0175.
channel为0表示为RTP数据,即接下来的数据是一个RTP数据包,因此开始部分也就是这个RTP包的头部。也是可以给解析

的。

rtsp/rtp over http的更多相关文章

  1. SIP SDP RTSP RTP RTCP webrtc

    rfc1889  rfc2326  rfc3261  rfc3550  rfc3856  rfc6120. SIP SDP RTSP  RTP RTCP,就像他们出现的顺序一样,他们在实际应用中的启用 ...

  2. 一个RTSP/RTP over TCP 的丢包引起的问题

    背景知识:可以查看https://www.cnblogs.com/lidabo/p/4483497.html RTSP/RTP over TCP TCP承载RTSP/RTP   When you us ...

  3. RTSP服务器之————rtsp-server(轻量级RTSP / RTP流媒体服务器)

    github:https://github.com/revmischa/rtsp-server 轻量级RTSP / RTP流媒体服务器

  4. EasyPusher/EasyDarwin支持H.265 RTSP/RTP直播推流与分发播放

    前言描述 随着大屏时代和高清时代的到来,人们已经不再满足于VGA.CIF这种小分辨率了,取而代之的是720P.1080P.4K级的视频传输,虽然我们国家的基础带宽一直在上升,但普遍情况下,传输高清视频 ...

  5. 课堂/会议同屏教学解决方案之RTSP/RTP over UDP组播解决方案

    问题 在之前的博客<EasyIPCamera实现Windows PC桌面.安卓Android桌面同屏直播,助力无纸化会议系统>我们描述了一套基于EasyIPCamera的同屏功能,但是这个 ...

  6. RTSP - RTP over TCP

    RTP over RTSP(TCP)(一)   RTP over RTSP包混合发送的解决办法   RTSP - RTP over TCP     To use TCP communication, ...

  7. ONVIF、RTSP/RTP、FFMPEG的开发实录

    前言 本文从零基础一步步实现ONVIF协议.RTSP/RTP协议获取IPC实时视频流.FFMPEG解码.开发环境为WIN7 32位 + VS2010. 最终成功获取浩云.海康.大华的IPC实时视频流. ...

  8. MPlayer 开始支持RTSP/RTP流媒体文件

    hostzhu点评:MPlayer对流媒体的支持,让大家能更进一步地利用linux来看网络直播,对Linux下多媒体应用的推动作用可以说不可度量. RTSP/RTP streaming support ...

  9. RTSP/RTP 媒体传输和控制协议

    1 前言 本文档主要描述了 NewStream Vision 系统中前端视频服务器(DVR, 网络摄像机), 中心转发服务器以及客户端之间的多媒体通信以及控制协议. 本协议主要基于标准的 IETE 的 ...

随机推荐

  1. iOS_核心动画(二)

    目 录: 一.Core Animation开发步骤 二.Core Animation的继承结构 三.CAAnimation常用的属性 四.CAPropertyAnimation(属性动画) 五.CAB ...

  2. INSPIRED启示录 读书笔记 - 第11章 评估产品机会

    市场需求文档 大多数的公司产品选择权是由高管.市场部门.开发团队甚至是大客户,在这种情况下公司会跳过市场需求文档或是误写成产品规范文档,回避评估产品机会 在正常情况下,应该是由业务人员会撰写一份论证产 ...

  3. 吴恩达深度学习笔记(十一)—— dropout正则化

    主要内容: 一.dropout正则化的思想 二.dropout算法流程 三.dropout的优缺点 一.dropout正则化的思想 在神经网络中,dropout是一种“玄学”的正则化方法,以减少过拟合 ...

  4. 3.django连接mysql数据库及安装mysqldb驱动报错解决办法

    1.在setting.py设置连接数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'djang ...

  5. 【P1714】切蛋糕(单调队列)

    实在不明白难度等级,难不成前缀和是个很变态的东西? 说白了就是单调队列裸题,都没加什么别的东西,就是一个前缀和的计算,然而这个题也不是要用它优化,而是必须这么做啊. #include<iostr ...

  6. 回溯法之k着色问题

    package main import ( "fmt" ) type Graphic struct { edges [][]int colors int color []int f ...

  7. Spring初学之spring的事务管理xml

    所有的java类都是用的上一篇文章:Spring初学之spring的事务管理 不同的是,这时xml配置事务,所以就要把java类中的那些关于spring的注解都删掉,然后在xml中配置,Applica ...

  8. JavaScript 正则表达收集整理

    JavaScript 正则表达收集整理 //可为空 /^\s*$/ //密码验证,必须且只含有数字和字母,可以拥有英文符号,6-17位 /(?=.{,})(?=.*\d)(?=.*[a-z])[\x2 ...

  9. splunk的统计分析功能——特定字段的统计功能包括取值分布(+topK,min/max/平均值)

    特定字段的统计功能——取值分布,topK,min/max/平均值 例如: date_second 60 值, 100% 的事件 时段平均值 时段最大值 时段最小值 上限值 时段上限值 罕见值 具有此字 ...

  10. cassandra cqlsh 和 python客户端

    Keyspaces A cluster is a container for keyspaces. A keyspace is the outermost container for data in ...