首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

直播平台制作,低延迟视频流播放的方案

直播平台制作的视频流不仅仅是在本地传播,还需要考虑到跨地区传递时网络情况、带宽限制等,当然对于直播平台制作视频流的要求自然是低延迟、低资源消耗。但真正达到这两点并不容易。

一、最经典的直播系统方案

不论是web端还是APP端,RTMP协议永远都属于优先考虑使用的实时传输协议,延迟低、实时性好。不过过了今年之后,RTMP协议在web端的应用可能会受到影响,浏览器需要借助flash插件才能播放,但今年12月之后,浏览器不再支持flash插件的应用。

尽管我们还有RTSP、HLS等协议,但对于直播平台制作来说,RTSP更适合视频监控、视频会议、IP电话等场景;而HLS则延迟太高不符合要求。

二、低延迟优化

通过对比,现在RTMP仍然是最优的传输协议,那么如何对RTSP协议进行优化降低延迟呢?

1.推流端ffmpeg可以通过控制一些参数来降低推流的延迟,比如提高编码的效率、减少缓冲大小等,必要情况下会牺牲一部分视频质量来弥补延迟造成的缺口。

2.拉流端flvjs可以开启enableStashBuffer来提高实时性。

三、如何实现多线程优化

视频的解码,对CPU来说占用率很高,这也是为什么直播平台制作会在必要情况下牺牲一部分视频质量、降低视频分辨率等手段来降低视频码率,虽然不能太好的降低CPU的消耗情况,但最起码能保证JSMpeg播放器不会崩溃。就是说用户虽然观感上会受到影响,但还不至于不能看直播。

用户的实际观看场景中,可能存在一个浏览器播放多路视频的情况,基于不同视频网站的播放线路不同,如果所有的视频都在浏览器主进程中进行解码渲染,页面操作会非常的差。针对直播平台制作的解码播放情况,这种问题同样存在,为了降低影响,最好将JSMpeg分离到worker中,保证主进程可以响应用户交互的同时,保证JSMpeg崩溃不会连累主进程。

如果以上方法还不行,不足以降低直播平台制作的延迟,还可以通过调节播放的速度、丢掉积累的帧来保证延迟带来的影响。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O9LBRF_dLPh3lwiEjwCAOhig0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券