RTP 和 RTSP的区别

RTP(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作。其目的是提供时间信息和实现流同步。但RTP通常使用UDP来传送数据。但RTP也可以在TCP或ATM等其他协议之上工作。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP一个给 RTCP。RTP本身并不能为接顺序传送数据包提供可靠的传送机制。也不提供流量控制或拥塞控制。它依靠RTCP提供这些服务。通常RTP算法并不作为一个独立的网络层来实现。而是作为应用程序代码的一部分。实时传送控制协议RTCP.

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

    RTSP实时流协议RTSP(Real-time Streaming Protocol)是由Real Networks和Netscape共同中提出的。该协议定义了一对多应用程序如何有效地通过lP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上。它使用TCP或RTP完成数据传输。HTTP与RTSP相比。HTTP传送HTML。而RTP传送是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。

 

区别:

RTP是实时传输协议,一般不作为单独应用层协议处理;rtsp是实时流传输协议,它是与http等级的应用层网络协议,它是由realmedia开发,用来传输流媒体影像文件。   
   rtsp可基于rtp之上,比如常见的视频流传输过程:视频压缩文件->rtp打包->基于udp的rtsp网络传输;也可以不做成rtp包,直接基于udp传送,如视频压缩文件->基于udp的rtsp网络传输。

 

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

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

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

时间: 2024-07-29 20:35:44

RTP 和 RTSP的区别的相关文章

RTSP - RTP over TCP

Normally, RTSP provide streaming over UDP. By nature, UDP is a better choice as it provides robust streaming capability for media. However, it is unlikely to use UDP for streaming over the Internet. 通常来说,RTSP提供UDP方式发送RTP流.当然,发送流媒体时,UDP往往是更好的选择.但是,在互联

嵌入式 RTSP流媒体播放器实现

最近需要做一个RTSP流媒体播放器,研究了一下,封装了一个RTSP播放类CRTSPPlayer,解码库采用ffmpeg.由于需求比较简单,时间也有限,目前只实现了播放.停止.暂停几个基本的接口.下面是基于CRTSPPlayer类实现的简单RTSP播放器.                                            目前视频只测试了H264格式,其它格式的视频还未做测试.播放器也支持直接打开本地视频播放,但播放的帧率和原始视频的码率不同步.目前还不清楚如何处理这个问题,希

Darwin Streaming Server 简介

Darwin Streaming Server     概要 Darwin Streaming Server简称DSS.DSS是Apple公司提供的开源实时流媒体播放服务器程序.整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好.并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的.  

视频-关于媒体流侦测的问题

问题描述 关于媒体流侦测的问题 浅浅的问一句:有人知道类似vso downloader之类的网络视频下载软件的原理吗? 解决方案 网络视频,一般采用 RTP 或 RTSP 协议,还是可以检测的.就算还有其它流媒体,通过网络抓包分析后,也是可以获取到的.不过,需要你对流媒体的格式比较清楚,否则就算抓到流媒体的数据,你也不认识它. 解决方案二: 既然视频能播放,那么就能解码得到每帧图像,然后再编码得到视频文件,相当于下载了.

MOV是什么文件格式

MOV即QuickTime影片格式,它是Apple公司开发的一种音频.视频文件格式,用于存储常用数字媒体类型.当选择QuickTime(*.mov)作为"保存类型"时,动画将保存为.mov文件. QuickTime用于保存音频和视频信息,现在它被包括Apple Mac OS,Microsoft Windows 95/98/NT/2003/XP/VISTA,甚至WINDOWS7在内的所有主流电脑平台支持. QuickTime简介 QuickTime 视频文件播放程序,除了播放MP3外,Q

mov是什么格式?

  MOV即QuickTime影片格式,它是Apple公司开发的一种音频.视频文件格式,用于存储常用数字媒体类型,如音频和视频.暴风影音可以打开. 在所有视频格式当中,也许MOV格式是最不知名的.也许你会听说过QuickTime,MOV格式的文件正是由它来播放的.在PC几乎一统天下的今天,从Apple移植过来的MOV格式自然是受到排挤的.它具有跨平台.存储空间要求小的技术特点,而采用了有损压缩方式的MOV格式文件,画面效果较AVI格式要稍微好一些.到目前为止,它共有 4 个版本,其中以 4.0

用vlc搭建简单流媒体服务器(UDP和TCP方式)

VLC不仅仅是个播放器,也可以作为流媒体服务器使用.这个网上有相关的资料,我就不多说了. 声明下本文用的VLC版本:2.0.3 用VLC搭建基于UDP的流媒体服务器 流媒体服务器大多数是基于UDP的,这个在VLC中也有好几种实现,我这里只列出我用到的几个. 1.UDP(legacy)传统模式 服务端操作 打开"媒体--流"选项,如图所示: 点击"添加"按钮选择流媒体文件,然后点击"串流"按钮 点击"下一个"后,在"目

值得推荐的开源C/C++框架和库

值得学习的C语言开源项目   - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd tinyhttpd是一个超轻量型

值得推荐的C/C++框架和库

下次造轮子前先看看现有的轮子吧   值得学习的C语言开源项目 - 1. Webbench  Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd