流媒体传输协议系列之--RTSP协议详解
1. RTSP连接的建立过程
2. DESCRIBE请求消息处理过程
SDP消息组装过程:
Live555库是一个使用开放标准协议如RTP/RTCP、RTSP、SIP等实现多媒体流式传输的开源C 库集。这些函数库可以在Unix、Windows、QNX等操作系统下编译使用,基于此建立RTSP/SIP服务器和客户端来实现多媒体流的传输。下面给出具体实现过程[4]:
(1)客户端发起RTSP OPTION请求,目的是得到服务器提供什么方法。RTSP提供的方法一般包括OPTIONS、DESCRIBE、SETUP、TEARDOWN、PLAY、PAUSE、SCALE、GET_PARAMETER。
(2)服务器对RTSP OPTION回应,服务器实现什么方法就回应哪些方法。在此系统中,我们只对DESCRIBE、SETUP、TEARDOWN、PLAY、PAUSE方法做了实现。
(3)客户端发起RTSP DESCRIBE请求,服务器收到的信息主要有媒体的名字,解码类型,视频分辨率等描述,目的是为了从服务器那里得到会话描述信息(SDP)。
(4)服务器对RTSP DESCRIBE响应,发送必要的媒体参数,在传输H.264文件时,主要包括SPS/PPS、媒体名、传输协议等信息。
(5)客户端发起RTSP SETUP请求,目的是请求会话建立并准备传输。请求信息主要包括传输协议和客户端端口号。
(6)服务器对RTSP SETUP响应,发出相应服务器端的端口号和会话标识符。
(7)客户端发出了RTSP PLAY的请求,目的是请求播放视频流。
(8)服务器对RTSP PLAY响应,响应的消息包括会话标识符,RTP包的序列号,时间戳。此时服务器对H264视频流封装打包进行传输。
(9)客户端发出RTSP TEARDOWN请求,目的是关闭连接,终止传输。
(10)服务器关闭连接,停止传输。
3. SETUP请求消息处理过程
4. PLAY请求消息处理过程
发送RTP数据包的间隔计算方法:
http://blog.sina.com.cn/s/blog_450e44880100mfiu.html
流媒体传输协议系列之--RTSP协议详解相关推荐
- 流媒体专家(2)RTSP协议详解II
rtsp的方法有点类似于http的方法,如post,get等,大家在学习时可以做对比学习,加强理解. 本节主要介绍rtsp常用的方法,并串讲rtsp流媒体建立.控制.终止的整个过程. 文章目录 1.R ...
- 计算机网络中的语法 语义 时序的概念,网络iso协议及语义语法时序详解
网络iso协议及语义语法时序详解 计算机学习 网络协议的三要素 在计算机网路中,通信发生在不同系统的实体之间,,实体(entity)是能够发送和接收信息的任何事物.然而,两个实体间仅发送比特流就指望能 ...
- USB CCID类协议中的APDU命令详解
出处:http://blog.chinaunix.net/uid-29124653-id-4573075.html 原文地址:USB CCID类协议中的APDU命令详解 作者:jeffasdasd 最 ...
- HTTP协议之http状态码详解 300-305 重定向
HTTP协议之http状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果 ...
- HTTP协议头部与Keep-Alive模式详解
HTTP协议头部与Keep-Alive模式详解 HTTP协议头部与Keep-Alive模式详解 - 玩命写博客 - 博客频道 - CSDN.NET HTTP协议头部与Keep-Alive模式详解 20 ...
- flutter listview 滚动到底部_Flutter系列之Flex布局详解
PS:长期坚持是一件很难的事. Flutter 是 Google 推出的跨平台 UI 框架,可以快速地在 Android 和 IOS 上构建高质量的应用程序,其主要特点是 Flutter 具有快速开发 ...
- RxJS 系列之二 - Observable 详解
查看新版教程,请访问前端修仙之路 RxJS 系列目录 RxJS 系列之一 - Functional Programming 简介 RxJS 系列之二 - Observable 详解 (本文) RxJS ...
- 大型网站架构系列:负载均衡详解(4)
原文:大型网站架构系列:负载均衡详解(4) 本文是负载均衡详解的第四篇,主要介绍了LVS的三种请求转发模式和八种负载均衡算法,以及Haproxy的特点和负载均衡算法.具体参考文章,详见最后的链接. 三 ...
- zabbix 5系列之snmp监控详解
更多精彩Zabbix文章.技术交流.免费技术培训加微号NateIT,免费获取zabbix安装.配置.优化技术培训视频 官网:http://ywzs.hanyunintel.com 首先,谢谢原作者: ...
最新文章
- 简单分析Flask 数据库迁移详情
- AWS pytorch-model API
- ruby Encoding
- linux中if的作用域,【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域
- 快速收录网站文章可以从这几步下手
- [LeetCode]k个一组翻转链表(Reverse Nodes in k-Group)
- 仅剩3天 | 带学《百面机器学习》葫芦书,算法+leetcode一应俱全
- 能过好每一天的人,都不会混得太差
- PSD分层电商促销模板|换季大促销,不怕老板催你做海报了
- 现在是 RSS 复兴的时候了!
- 原型万事通,你想知道(但不敢问)的都在这里
- 洛希极限 (10 分)
- 辨异 —— 概率与统计
- visual studio 2015 Enterprise key vs2015密钥
- Sigmoid函数总结
- python 爬虫例子及总结(详细理解注释)
- android 固件 修改工具箱,固件工具箱(ROM Toolbox)
- java实现网页结构分析,网页列表发现
- Linux系统 查看系统版本、CPU、内存、主频等信息
- Delphi 鼠标模拟点击
热门文章
- 手动添加mysql服务
- green ethernet
- 查找含有特定字符的存储过程
- firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码...
- 惜缘-致家乡的一位女孩[原创]
- Installation failed, deleting ./composer.json.安装phpunit报错解决方案
- 一、【Collection、泛型】
- 深度学习之 BP 算法
- python处理ini文件_python对ini配置文件处理
- 【SSL】HTTPS配置全过程