从“618 大促”这样的大流量、高并发的场景说起,当下人们对直播和视频点播的需求越来越大,导致视频平台长期受到性能、可用性、突发热点、业务频繁迭代等挑战,技术门槛越来越高。长期以来,专业级的视频和流媒体处理相关技术,存在寡头竞争的现象,这些公司花费了大量的时间和成本来建设和维护基础设施,希望通过更出色的服务吸引开发者。
对于开发者而言,视频处理的构架主要包括音视频采集、预处理、编码、传输、服务端处理、解码等步骤,其中编解码和低延时传输最为核心。那么,目前行业内流行的编解码和低延时传输解决方法有哪些?京东作为基础设施的建设者和维护者,其视频云正在用的技术策略、编解码标准和开源工具有哪些?
目前,主流的视频编解码器分为 3 个系列:谷歌主推的 VPx(VP8,VP9),国际标准 H.26x(H.264,H.265),以及国产具备自主知识产权的 AVS(AVS1.0,AVS2.0,AVS3.0)。其中 VP9、H.265 和 AVS3.0 是最近 5 年内制定的标准,是目前压缩效率最高的。但是,用户对视频质量的要求时永无止境的。随着硬件设备、带宽的不断提高,用户对高分辨率的追求也不断提高。这就要求不断催生新的标准,为新兴的 5G 媒体应用、VR 等应用提供技术规范。
主流的视频编解码开源项目,主要包括 ffmpeg、WebRTC、Xvid、x264/x265、handbrake 等。
ffmpeg 支持几乎目前所有音视频编码标准;
WebRTC 支持网页浏览器进行实时语音对话或视频对话,由于缺少服务端设计和部署方案,还需将 WebRTC 与 Janus 等服务端类开源项目结合;
Xvid 是最著名的 MPEG4 编码器开源项目,但效率不及 x264;
x264/x265 是目前应用最广的 H.264/H.265 编码器,适合于实时视频的传输 AVC 格式;
handbrake 是可以将视频从任意格式转换为主流格式的工具。
在“低延时”保障方面,常用的流媒体协议包括 RTMP、HLS、HTTP-FLV 等。PC 端和 APP 端常用 RTMP 或 HTTP-FLV 协议将延迟控制到 3~5s。但在移动 Web 端广泛使用 HLS 协议,平均延时在 10s-30s,而更低延时的 HLS+ 技术,使延迟降低到 4 秒,也是各企业探索和实践的重点。同时 CDN、P2P 如何调整策略来降低延时的方法也需要不断探索。
对于上述问题,京东云是怎么做的?
京东云视频技术的大概情况如下:
从京东视频云的架构中可以看出,目前京东云关注的需求包括直播、点播、媒体处理等。其中:
直播支持 H.264、H.265 编码格式和 RTMP/HDL/HLS 等协议;
点播支持 H.264、H.265 编码格式和 MP4、FLV、HLS 等多种文件格式输出;
开源代码参考使用 ffmpeg、handbrake、x264、x265 等;
传输层面使用 CDN、P2P 等传输方式,提供 iOS、Android 移动端播放器 SDK,以满足多终端播放的需求。除此以外,京东云正在探索在 5G 环境下,使用其高速传输和低延时特性,传输达到 8K 分辨率、H265 的 VR 视频,在 VR 终端上达到良好的沉浸式体验。
除此以外,京东云视频质量提升、功能丰富度完善、降低延时等方面的具体实践是怎样的?7 月 2 日晚上(周二),京东云视频云产品研发部高级总监魏伟,通过「在线直播」的形式跟开发者聊聊视频和流媒体的关键技术。感兴趣的伙伴可以点击文末阅读原文报名参与。(文末有惊喜)
最后,小编想做个小调查:你在用的编解码工具、低延时策略和目前在探索的新兴场景是怎样的?和京东云的哪里不一样?欢迎在评论区留言。评论点赞数前二名的朋友将会分别获得“拍拍灯”一个。另外还有 3 只可爱的“京东 Joy 公仔”,随机送给其他精彩评论的同学哦~