本文是来自FOSDEM 2020 Open Media devroom的演讲,演讲者是Collabora的Olivier Crête。从2007年开始,他就一直是一名活跃的GStreamer开发人员,最初从事VoIP和视频通话,而最近从事各种多媒体项目。演讲主题是如何选择视频网络流协议。
开源栈如GStreamer、ffmpeg和UPipe已经实现了大量在网络上传输音频和视频的方式。这些实现的网络协议包括RTSP、SRT、RIST、WebRTC、HLS、DASH等。有些是针对局域网的,有些是针对英特网的,根据使用情况,这些协议有不同的优缺点。要创建一个成功的项目,需要选择最适合的技术。Olivier Crête介绍了各种协议,并解释它们之间的关系以及各自的优缺点。
Olivier Crête首先列出了主要的视频网络流协议,然后指出可以根据对延迟与可靠性的权衡以及协议在服务器端与客户端的适应性其进行选择。
只用于局域网:SDI、SMPTE ST2110、AVB和RTSP/UDP。
低延迟(小于1秒):SRT、RIST、SIP (or XMPP)和WebRTC。
中等延迟(小于10秒):低延迟MPEG-DASH和HLS、RTSP/TCP、RTMP、HTTP Streaming、Icecast、VNC (RFB)、RTSP/RDT和MMS。
高延迟:MPEG-DASH和HLS。
附上演讲视频: