EasyDSS多路视频合成一个视频流时如何解决卡顿、内容丢失等问题?

在我们进行EasyDSS某个项目的定制版本开发时,项目要求能够在EasyDSS内生成一个完整的多路合成视频文件和复合的播放地址。起初的执行逻辑是根据需求直接将符合要求的ts文件按照时间和通道顺序写入提供播放的m3u8文件中。但在后期测试中发现,这样直接进行合成出的MP4文件以及m3u8播放文件都会出现音画不同步、卡顿、视频内容丢失等问题。

DSS7.png

因为是多路的视频文件合成,视频的分辨率、视频格式编码、时间戳等等信息都有可能影响最终的合成结果,所以采用这种强制的拼接方式会导致m3u8文件无法正常播放。而现有的MP4合成逻辑也是通过生成的m3u8制作,所以也会影响MP4文件的最终效果。

例如多路视频中有部分内容的时间戳相同,这样就会出现视频能够播放的帧数与实际长度不符,产生卡顿,视频丢失,或者音画不统一的问题。

image.png

为了更快的实现MP4和m3u8播放文件的生成,新的模式是独立生成MP4和m3u8文件,MP4的生成不再依赖m3u8文件,直接通过ts录像文件切片生成。这样不仅能够提高合成速度,也可以避免因为m3u8文件的错误从而导致MP4文件的错误。

同样的m3u8文件的生成规则也有直接将符合条件的ts文件信息写入改成了,由ffmpeg重新对符合条件的文件进行编辑生成新的ts文件和m3u8文件。

Ts转MP4 Ffmpeg命令参数:

21.png

Ts转m3u8 Ffmpeg命令参数:

22.png

EasyDSS能够获得众多开发者的青睐,主要优势包括以下几点:
1、接收RTMP直播流,并且转成HLS、FLV、RTMP等协议流进行第三方调用及播放;
2、EasyDSS内设立了虚拟直播的功能,可以将其他视频流转成直播流,并分享给第三方系统;
3、支持自行上传视频文件,并通过点播的方式播放;
4、平台内设角色管理、用户管理、通道管理等多重权限管理机制,支持权限分配,便于多人管理团队的共同使用。

有兴趣的朋友可以联系我们了解,我们均提供为期30天的试用版本供大家测试使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值