RTSP相关

    研究RTSP有一阵了,一直没时间总结,今天抽个空梳理一下吧!!

 

    我使用TCP承载RTSP,所以这里只探讨TCP下RTSP流控制方法的传输。

    最基本的方法:OPTIONS,DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,ANNOUCE等等,这些方法看看RFC就都知道了,我想说说各个方法需要注意的或是有什么别的用途,有不对的地方还请指正。

    1. OPTIONS

        这个方法在建立RTSP连接时不是必须的,它是向Server端询问所能提供的服务。这个方法可以在任何时候发送,不影响Server的状态,因此可以把它作为心跳消息指定时间间隔进行发送,保证该RTSP连接正常。

 

    2. DESCRIBE

        该方法是向服务器询问请求媒体的详细信息,Server端使用SDP返回媒体的详细描述。这里详细说说SDP的组成。

        一个最简单的SDP包括v(协议版本),o(会话识别符或会话创建者的名字),s(会话名),t(会话活动时间),m(媒体名字和传输时间)

       媒体信息中包含媒体传输协议和媒体格式

PT          media type    clock rate   
31          H261     V     90,000
32          MPV       V     90,000 (这就是例子中的RTP/AVP类型)
33          MP2T     AV    90,000
34          H263     V     90,000
72-76    reserved N/A N/A
77-95    unassigned
96-127  dynamic

 

    3. SETUP

        该方法用来通信双方协商传输参数,比如client_port,单播还是组播等等,Server则分配唯一标识本次会话的sessionid,分配本次会话需要的资源。

    4. PLAY

        该方法开始传输client请求的媒体数据,并且播控都是通过该方法携带的参数来实现,比如快进、快退、跳转等功能。

    5. PAUSE

        实现暂停

    6. TEARDOWN

        会话结束,释放资源

    7. ANNOUCE

       该方法可以由Server发给client端,通知媒体播放完毕,或快进到文件尾,或快退到文件头等,以便client端进行相应的动作,比如断开连接。

 

 

     其中媒体数据流打成RTP包后通过UDP传输,测试时使用的vlc可以正常播放,但是暴风影音,QuickTime等播放器发送命令到SETUP后没有继续发送PLAY消息,网上查了查原因,暴风影音目前只支持使用TCP方式发送RTP封装数据,暂不支持UDP方式。

 

    如果只是协议,使用起来倒没什么困难的,关键是涉及到整个iptv系统就比较复杂了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值