一、流媒体:RTSP 和RTMP
1、RTSP 和 RTMP的工作原理
1)RTSP工作原理
用户设备向视频流平台发送 RTSP 请求
视频流平台返回可以操作的请求列表,比如播放、暂停等
用户设备向视频流平台发送具体的请求,比如播放
视频流平台解析请求并调用指定机制启动视频流处理
由于 RTSP 依赖于专用服务器,并且依赖于 RTP(底层用到了UDP),因此该协议不支持加密视频内容或重传丢失的数据包。
这里解释一下RTSP中是如何用到UDP和TCP的:
RTP协议,英文全称:Real-time Transport Protocol,中文就是实时传输协议,它的底层其实就是UDP,这样一来就可以实现低延迟。
除了RTP协议,为确保流畅和一致的流传输,RTSP 还使用另外两种网络通信协议:
TCP 收发控制命令(例如播放或停止请求):TCP可靠传输,比如用户按下播放或者停止播放的时候,这个是个准确的请求,这个需要保证可靠性,这个时候TCP作用就体现了。
UDP传送音频、视频和数据:UDP是低延迟的协议,那么用于传送音频、视频和数据可以达到非常高效的效果。
这里可以通过开源的rtsp服务器可以简单理解:TCP监听端口为8554,UDP监听端口为8000
2)RTMP工作原理
摄像头捕获视频
通过编码器将视频流传输到视频平台服务器
视频平台处理视频流
通过CDN分发到离用户最近的服务器上
最后视频流就能成功的到达用户设备
在视频从摄像头到服务器的过程中,RTMP将大量数据分割成小块并跨多个虚拟通道传输(内容分发网络CDN),在视频源和 RTMP 服务器之间提供了稳定和流畅的视频流。
2、RTSP 和 RTMP的优缺点
1)RTSP的优缺点
RTSP的优点:
1、轻松自定义流:可以通过结合不同的协议来开发自己的视频流解决方案。
2、分段流式传输:RTSP 流使观看者能够在下载完成之前访问的视频内容,而不必下载完整的视频以流式传输内容。
RTSP的缺点:
1、与 HTTP不兼容:没有简单的解决方案可以在 Web 浏览器中播放 RTSP流,因为 RTSP 旨在通过私有网络流式传输视频,必须借用额外软件。
2、使用率低:由于视频播放器和流媒体服务并未广泛支持 RTSP 流媒体,因为使用率比较低。
2)RTMP的优缺点
RTMP的优点:
1、低延迟:RTMP使用独占的 1935 端口,无需缓冲,可以实现低延迟。
2、适应性强:所有 RTMP 服务器都可以录制直播媒体流,同时还允许观众跳过部分广播并在直播开始后加入直播流。
3、灵活性:RTMP 支持整合文本、视频和音频,支持 MP3 和 AAC 音频流,也支持MP4、FLV 和 F4V 视频。
RTMP的缺点:
1、HTML5 不支持:标准HTML5 播放器不支持 RTMP 流。
2、容易受到带宽问题的影响:RTMP 流经常会出现低带宽问题,造成视频中断。
3、HTTP 不兼容:无法通过 HTTP 流式传输 RTMP,必须需要实现一个特殊的服务器,并使用第三方内容交付网络或使用流媒体视频平台。
3)RTSP和RTMP的比较
RTMP 和 RTSP协议 都是流媒体协议:
RTMP(Real Time Message Protocol 实时消息传递协议) 有 Adobe 公司提出,用来解决多媒体数据传输流的多路复用(Multiplexing)