直播技术迭代的五个维度:
- 音视频编码的迭代
- 音视频传输协议的迭代
- 音视频封装格式
- 音视频传输质量优化策略的迭代
- 平台功能的迭代
一、音视频编码的迭代:
- 2008年FLV正式支持 H.264开始,H.264 因为码率较低、图像质量高、容错和网络适应性更强,在众多编码方式中脱颖而出,在国内得到广泛的应用。
- 2013年PPLive 和迅雷率先宣布采用 H.265(即 HEVC)进行视频压缩,这引起了直播行业的普遍关注,但因为 HEVC 专利池问题的复杂性,目前只有 Safari 浏览器支持 HEVC 的解码。
- 2018年,谷歌联合一众巨头,推出了 AV1 视频编解码标准,同样在 WebRTC 中被大范围应用。
视频编码标准中应用最广泛的依然是 H.264、HEVC 以及 AV1,下一代视频编解码标准 VVC 已经正式发布,AV2 也在制订中。
二、音视频传输协议的迭代:
针对直播场景,国内目前还是以 RTMP、HTTP 传输协议 为主,它们输协议比较通用,CDN 厂商支持比较健全。同时采用 DNS 协议调度,额外增加了 HTTP-DNS 与私有化的协议解析域名进行调度,从而解决运营商的内容和流量劫持问题。
视频会议场景、连麦、直播PK:WebRTC
三、音视频封装格式的迭代:
- 2010年Adobe开放RTMP协议之前,直播流传输的通常是音视频的裸流,或者是常用的 mpegts 直播流。在2010年之后 FLV成为主流。
- 2017年熊猫 TV 联合多家公司共同定制了支持 HEVC 的 FLV 视频标准。如今市面上的大多数内容都遵循这个标准,目前不会有什么问题。但如果 Adobe 突然有一天开始继续维护 FLV 并更新了 HEVC 的支持,这些内容将可能无法播放。
即便 Flash Player 播放器在浏览器中停止更新,但是 FLV 格式因为可以自行开发移动客户端的特性,在移动端仍有很大的用武之地。
四、音视频传输质量优化策略迭代:
- 2.5G 向 3G 升级的年代,移动端直播主要还是以 HLS、RTSP 传输为主,直播清晰度普遍较低,且直播链路会出现卡顿。
- 3G 向 4G 升级的时代,主要是以自研 TCP 优化或者采用 AppEx 的 TCP 优化,来保证视频内容传输质量。
- 2016 年谷歌公布 BBR 网络传输优化算法后,大量优秀的网络传输质量优化算法出现。
- 有很多直播平台基于 UDP 在不断地做一些直播传输质量优化的尝试,使用 KCP 替代 TCP,再比如快手发布的 KTP 传输优化,还有很多平台尝试用 QUIC 替代 TCP 传输,来提升音视频传输质量,降低音视频端到端的延迟。
- 在保障弱网服务质量方面,直播推流时可以做动态切换帧率、动态切换码率、降低分辨率等操作,但是这种做法又提升了服务端处理录制兼容、转码兼容等问题的难度。
从 AppEx 到 BBR、KCP,再到 QUIC,整个行业投入了大量的精力对网络进行针对性地优化,专门处理丢包、拥塞、抖动、慢启动等常见的网络问题,
五、平台功能的迭代
随着音视频技术人员的增多以及直播平台的功能趋于同质化,大家比拼的点从功能完善性逐渐转变成了功能创新,例如设计冲顶大会、在线抓娃娃等新的直播场景。
在创意逐渐干涸后,比拼的关键点从音视频流媒体技术本身转变为音视频平台服务质量。这对直播平台提出了更高的要求和挑战,因为提升 QoS 与 QoE 需要的不单单是音视频技术,还包括大数据、弹性计算、深度学习等。
直播传输协议
RTMP
- Adobe公司开发
- Flash播放器和流媒体服务器之间传输音频、视频和数据流。RTMP协议可以支持多种编码方式,包括H.264、AAC、MP3等。
- 连接建立后,客户端可以向服务器发送流数据,包括音频、视频和数据流。服务器会将这些流数据转发给其他客户端。RTMP协议支持点对点(P2P)和多播(Multicast)两种传输方式。
- 低延迟、高可靠性,适用于直播、视频会议等实时应用场景。由于Adobe已经停止了对Flash Player的支持,因此RTMP协议的应用范围已经受到了限制。
2010年, Adobe开放RTMP协议
2012年,NginxRTMP 大幅降低了服务器的建设门槛
2013年,SRS为RTMP带来革命性改变,单进程单线程的工作方式,不需要考虑信号量和锁操作相关的问题,也可以借助第三方(例如 Docker)的能力,自己启动多进程来控制多任务。
HLS
- 苹果公司提出并实现
- 基于HTTP协议的流媒体传输协议,将整个流分成一个个小的文件来下载,客户端下载一个包含元数据的 m3u8 playlist文件,用于寻找可用的媒体流,从许多不同的备用源中以不同的速率下载同样的资源。
- 可以方便地透过防火墙或代理服务器,可以很方便地利用CDN进行分发加速,客户端实现起来也很方便。
DASH
- 与HLS类似,DASH也是将媒体文件分成小的媒体片段,通过HTTP协议进行传输。
- 支持多种DRM(数字版权管理)技术,可以保护视频版权。
- 需要客户端支持Media Source Extensions(MSE)扩展,以便在浏览器中播放DASH流。目前,大多数主流的浏览器都已经支持MSE扩展。
直播传输协议应用场景
- 广电单向发布直播流,如 IPTV、电视盒、常用 HLS、DASH、HDS 这类端到端且画面延迟 10s 左右的直播流媒体协议;
- 安防监控采集直播流,如海康、大华、水滴摄像头等,常用 H.323/SIP+RTP 等延迟 50ms~500ms 左右的协议;
- 互联网 / 移动互联网互娱直播流,如秀场直播、游戏电竞直播、户外活动直播、街拍直播等,常用 RTMP、HTTP+FLV 等延迟 3s 左右的直播协议;
- 视频会议直播流,如 Polycom、Cisco 等,常用 H.323/SIP+RTP 等协议。
网友评论