rtmp和rtsp的区别和适用范围

Posted STN_LCD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rtmp和rtsp的区别和适用范围相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/jiayayao/p/6536140.html

 

1.视频传输

  从网络上接收视频时首先要解协议(RTSP/RTMP/HTTP),然后是解格式(MKV,RMVB),之后才是将视频(H264)和音频(AAC)格式数据分别解码为图像(RGB/YUV)和声音(PCM),再根据时间戳同步播放。 

  RTSP+RTP主要用于IPTV,原因是传输数据使用的是UDP,在网络环境比较稳定的情况下,传输效率是比较高的; 

  RTMP主要用于互联网音视频传输,它使用的是TCP传输,因为互联网环境相对较差,采用RTMP保证了视频的传输质量,但是其传输延迟相对较高,传输效率相对较低。 

  使用RTMP技术的流媒体系统有一个非常明显的特点:使用 Flash Player 作为播放器客户端,而Flash Player 现在已经安装在了全世界将近99%的PC上,因此一般情况下收看RTMP流媒体系统的视音频是不需要安装插件的。用户只需要打开网页,就可以直接收看流媒体,十分方便。直播服务普遍采用了RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式,AAC作为音频编码格式。FLV是RTMP使用的封装格式,H.264是当今实际应用中编码效率最高的视频编码标准,AAC则是当今实际应用中编码效率最高的音频编码标准。

  librtmp是RTMP协议的实现,可以使用librtmp来实现协议的解析和数据的收发。直播服务器可以基于nginx+rtmp实现;直播客户端方面采用librtmp负责推流,FFmpeg负责编码;收看客户端采用VLC即可,因为VLC本身既可以解析RTMP流,又可以解析编码后的视频数据。

2.视频压缩 

  • 视频压缩分为有损压缩和无损压缩。

  无损压缩是采用一些压缩算法压缩视频,但是压缩完毕后还能够真实的还原原始数据;

  有损压缩是借助于人眼的一些特性,丢弃一些特定的数据,但是压缩完毕后的视频效果还在人眼可以接受的范围内的特定数据。 

  • 视频压缩编码的主要原理是:

  帧内编码(变换编码和熵编码):像素点之间存在相关性。图像变换到频域可以实现去相关和能量集中。

  帧间编码(运动估计和运动补偿):将图像划分为一个个小区块,进行预测。 

3.参考资料:

http://blog.csdn.net/leixiaohua1020/article/details/18893769

以上是关于rtmp和rtsp的区别和适用范围的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议/RTSP协议/RTMP协议的区别

什么是RTMP 和 RTSP?它们之间有什么区别?

什么是RTMP 和 RTSP?它们之间有什么区别?

JavaCV音视频开发宝典:视频转码和转封装有什么区别?使用rtsp拉流转推到rtmp案例来讲一下转码和转封装实现的区别

JavaCV音视频开发宝典:视频转码和转封装有什么区别?使用rtsp拉流转推到rtmp案例来讲一下转码和转封装实现的区别

HTTP协议/RTSP协议/RTMP协议的区别