基于HLS实现实时流式转码、多码率自适应支持

2025-07-02 15:18:15

如今,随着互联网带宽的不断提升,视频内容的分发与播放,在新闻娱乐、在线教育、社交网络和自媒体场景下越来越普遍。在满足成本预算的情况下、保证视频的快速分发与播放,也成了各家视频内容提供商不断优化的方向。如何节省带宽、快速分发视频内容、保证在网络不好的情况下流畅播放?

实时流式转码

1、目前国内外主流的基础音视频云服务,都是使用的异步转码模式,而异步转码有很多的问题。

2、异步转码通常要经过上传-转码-分发-播放的流程。使用异步转码,往往会给开发者和终端用户带来一定的局限性。

3、首先,视频转码需要一定时间,片源清晰度越高转码耗费的时间越是长久。异步转码方案决定了视频内容生产者必须要等待视频完全转码完毕后才能进行内容分发播放,这会为视频内容的生产和消费之间带来一定延迟效应。

4、其次,无论是开发者使用视频服务SDK轮询,或者自建回调服务接受回调结果,还是直接通过人工方式定期查询转码结果,都会给开发者带来一定的心智负担。同时,基础视频服务与上层业务产生了一定的耦合,任何使用变动都会影响上层业务。

5、再次,开发者需要预先设定转码参数,分辨率码率等相对固定。任何对转码参数的修改,都需要重新请求转码才能完成,无法由终端用户设置参数或者自适应用户请求场景。

6、此外,从业务上看,视频生产者无法预测视频播放情况,会有视频转码完却没有终端用户播发的情况,为此开发者需要付出多余的视频服务和存储花费。

7、针对上述异步转码的愁抉痊歪局限性,七牛推出了实时转码服务。与异步转码相比,实时转码仅需上传-分发-播放的流弛贾班隧程,将转码和播放合二为一,即边转边播,按需转码。实时转码使用流媒体协议(目前支持HLS协议)进行网络分发,使用七牛多媒体处理服务进行分布式转码,使用七牛对象存储服务作为基础存储,结合七牛CDN服务进行网络加速,构建了完整的转码播放方案。

8、云端收到用户播放请求,读取源视频,根据播放参数将源视频快速分割成子视频分块,向多媒体处理集群分发任务,并生成相应的播放索引(如m3u8)返回给用户。并发执行的转码任务结果将缓台仵瑕噤存在云端,或者按用户需求进行持久化存储。通常,用户按照索引依次请求视频分块,按序播放;而当遇到快捷或者拖拽时间轴时,云端会相应进行实时加速转码和任务二次调度,降低用户播放卡顿。

基于HLS实现实时流式转码、多码率自适应支持
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢