RTP/RTCP/RTSP

From: http://www.51testing.com/html/44/17144-18146.html


1. 基本概念

实时传输协议(RTP,Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议。传送音视频数据通常都会采用基于UDP的RTP传输,RTP为数据流提供时间信息和实现流同步。但RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

实时传输控制协议(RTCP,Real-time Transport Control Protocol)和RTP一起提供流量控制和拥塞控制服务。在RTP会话期间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。

实时流协议(RTSP,Real-time Streaming Protocol)是由Real Networks和Netscape共同提出的。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。数据源包括现场数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、多播UDP与TCP提供途径,并为选择基于RTP上发送机制提供方法。

资源预订协议(RSVP,Resource Reserve Protocol)是网络控制协议,它使Internet应用传输数据流时能够获得特殊服务质量(QoS);RSVP是非路由协议,它同路由协议协同工作,建立与路由协议计算出路由等价的动态访问列表。

2. RTP VS RTCP

RTP不象http和ftp可完整的下载整个影视文件,它是以固定的数据率在网络上发送数据,客户端也是按照这种速度观看影视文件,当影视画面播放过后,就不可以再重复播放,除非重新向服务器端要求数据。

RTSP与RTP最大的区别在于:RTSP是一种双向实时数据传输协议,它允许客户端向服务器端发送请求,如回放、快进、倒退等操作。

当然,RTSP可基于RTP来传送数据,还可以选择TCP、UDP、组播UDP等通道来发送数据,具有很好的扩展性。它时一种类似与http协议的网络应用层协议。目前碰到的一个应用:服务器端实时采集、编码并发送两路视频,客户端接收并显示两路视频。由于客户端不必对视频数据做任何回放、倒退等操作,可直接采用UDP+RTP+组播实现。

3. 协议标准

具体协议内容可参看以下标准文档:

RTP/RTCP-------------------------RFC3550/RFC3551

RTSP        --------------------------RFC2326


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Div+CSS展示物流跟踪轨迹信息

DivCSS展示物流跟踪轨迹信息

软硬兼备 学做CIO

软硬兼备学做CIO江苏省张家港市万红小学黄利锋在普通规模的中小学校里,网络管理员一般由信息技术老师兼职担任,负责保障学校网络的正常运行,由于信息技术老师还要上课、计算机维护、摄像等,常常顾此失彼,所以很多时候对…

【C语言刷题每日一题#牛客网BC68】——X形图案

问题描述 思路分析 首先根据输入的描述&#xff0c;多组输入需要将scanf放在循环中来实现 #include<stdio.h> int main() {int a 0;while (scanf("%d", &a) ! EOF){} } 完成了输入之后&#xff0c;再来分析输出——输出的是一个由“*”组成的对称的X形…

编程:要求随机产生30到小学2年级的四则运算题

源代码&#xff1a; #include<iostream.h>#include<stdlib.h>#include<time.h>void main(){ int a,i,k,m; //定义几个变量 srand((unsigned)time(NULL)); //定义随机数 // char g[4]{,-,*,/}; //定义一个数组然后从数组中随机取一个四则运算符号 char g[4]; …

php mysql 全文检索_MySQL中文全文检索

一、概述MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索&#xff0c;可以利用全文索引来提高匹配的速度。二、语法MATCH (col1,col2,...) AGAINST (expr [search_modifier])search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION }例如&#xff1a;SELE…

原生js点击图片放大

原生js点击图片放大

RTP/RTCP/RTSP协议初探

From:http://apps.hi.baidu.com/share/detail/24794429 一&#xff0e;产生的背景 随着互连网的发展&#xff0c;人们已经不满足于传统的HTTP&#xff0c;FTP和电子邮件等文本信息和服务&#xff0c;而对内容丰富多彩的多媒体信息&#xff0c;服务以及多媒体通信方式提出了需求…

VC++ CopyFile函数使用方法

BOOL CopyFile( LPCTSTR lpExistingFileName, // pointer to name of an existing file LPCTSTR lpNewFileName, // pointer to filename to copy to BOOL bFailIfExists // flag for operation if file exists ); 当中各參数的意义&#xff1a; LPCTSTR lpExistingFileName, /…

vue+Ant design vue做项目

vueAnt design vue做项目

Linux下使用od查看文件

From: http://www.orczhou.com/index.php/2010/08/linux-od-data-file/ 查看文本文件使用vim/less就足够了&#xff0c;但如果想要查看一些其他二进制文件&#xff08;例如DB的数据文件、程序的二进制代码&#xff09;则借助于od/hexdump这些工具会很方便&#xff0c;这里会通过…

c mysql ssh_c ssh mysql数据库

快速搭建LAMP环境1.打开打开系统自带的终端工具 CMD&#xff1a;winR&#xff0c;输入cmd Powershell&#xff1a;winX→C2.输入ssh -V检查是否安装ssh3.连接命令ssh root弹性IP4.输入yes5.输入密码&#xff0c;连接成功会显示安装Apache服务6.执行命令yum -y install httpd h.…

两个重要而又容易被忽视的角色

在中国&#xff0c;一半以上甚至更多的&#xff0c;以网站为主营业务的或者把网站很看重的公司&#xff0c;没有Web前端工程师和产品工程师这两个职位&#xff0c;甚至有些有点规模的公司也可能没有这个职位&#xff0c;当然&#xff0c;这不能包括像alibaba&#xff0c;sina,1…

zip (ICSharpCode.SharpZipLib.dll文件需要下载)

ZipClass zcnew ZipClass (); zc.ZipDir("E:\1\新建文件夹", "E:\1\新建文件夹.zip", 1);//压缩 zc.UnZip("E:\1\新建文件夹.zip","E:\1\2222");//解压cs 1 class ZipClass2 {3 public void UnZip(string zipFilePath, string unZipDi…

堆与栈的关系与区别

From: http://blog.csdn.net/yfkiss/article/details/6542894 一. 在c中分为这几个存储区 1.栈 - 由编译器自动分配释放 2.堆 - 一般由程序员分配释放&#xff0c;若程序员不释放&#xff0c;程序结束时可能由OS回收 3.全局区&#xff08;静态区&#xff09;&#xff0c;全局…

mysql5.7 新建远程用户_Centos7中 mysql5.7 用户 创建 、授权、远程登录

1、添加用户跟以往版本不同&#xff0c;MySQL5.7 mysql.user表没有password字段&#xff0c;这个字段改成了 authentication_string&#xff1b;这里我们使用命令进行创建用户&#xff1a;CREATE USER usernamehost IDENTIFIED BY password;如创建一个test用户&#xff0c;密码…