zoukankan      html  css  js  c++  java
  • 转:简单的RTSP消息交互过程

    简单的RTSP消息交互过程

    C表示RTSP客户端,S表示RTSP服务端

    1.   第一步:查询服务器端可用方法

     1.C->S:OPTION request       //询问S有哪些方法可用

    1.S->C:OPTION response    //S回应信息的public头字段中包括提供的所有可用方法

    2.   第二步:得到媒体描述信息

    2.C->S:DESCRIBE request      //要求得到S提供的媒体描述信息

    2.S->C:DESCRIBE response    //S回应媒体描述信息,一般是sdp信息

    3.   第三步:建立RTSP会话

    3.C->S:SETUP request             //通过Transport头字段列出可接受的传输选项,请求S建立会话

    3.S->C:SETUP response          //S建立会话,通过Transport头字段返回选择的具体转输选项,并返回建立的Session ID;

    4.   第四步:请求开始传送数据

    4.C->S:PLAY request        //C请求S开始发送数据

    4.S->C:PLAY response            //S回应该请求的信息

    5.   第五步: 数据传送播放中

    S->C:发送流媒体数据    // 通过RTP协议传送数据

    6.   第六步:关闭会话,退出

    6.C->S:TEARDOWN request      //C请求关闭会话

    6.S->C:TEARDOWN response //S回应该请求

    上述的过程只是标准的、友好的rtsp流程,但实际的需求中并不一定按此过程。

    其中第三和第四步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成。

  • 相关阅读:
    用Python获取Linux资源信息的三种方法
    对python中元类的理解
    一道有趣的和编程无关的编程题思考
    Python编程进阶
    函数计算的 Python手册小问题
    Linux 命令
    pyechart
    KV数据库Redis
    微博API 学习记录
    非阻塞式的 requests.post 学习
  • 原文地址:https://www.cnblogs.com/skyofbitbit/p/4640477.html
Copyright © 2011-2022 走看看