RTSP相关

来源:互联网 发布:网络布线工程报价 拆线 编辑:程序博客网 时间:2024/05/01 04:29

    研究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系统就比较复杂了。

 

原创粉丝点击