摘要
本文介绍了Top 10的开源流媒体服务器及选型建议。
术语
媒体:音频、视频、文本等信息表示形式的统称。
串流:表示将媒体数据串行化发送,比如将PC上的游戏画面串流到Pico、Oculus Quest之类的VR设备,实现沉浸式的游戏体验。
媒体流:一个mp4文件可以被串流化成一个媒体流(Media Stream)。
轨:一个媒体流中可包含零到多个音频轨(Audio Track)和视频轨(Video Track)。媒体播放器播放时可根据各个轨的媒体样本(Media Sample)的呈现时间戳(pts)进行时钟同步。
流媒体:以串流化的方式在网络中传送的音频、视频媒体形式。
流媒体服务器:在网络上提供媒体数据串流化服务的程序,一般支持实时媒体源直播(Live Streaming)和历史媒体源点播(VOD)两种形式。通过配置不同的串流化策略,可以将直播和点播功能统一设计,让用户只通过点击时间进度条即可在直播和点播之间自然切换。
流媒体技术历史悠久,风靡一时的流媒体服务器多不胜数。本文仅描述采用C/C++语言开发的、影响力排名前十的开源流媒体服务器。根据是否支持WebRTC,作者将流媒体服务器划分为两大类:
古典流媒体服务器:支持RTMP或RTSP/RTP/RTCP协议。
现代流