前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyDSS多路视频合成一个视频流时如何解决卡顿、内容丢失等问题?

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

原创
作者头像
TSINGSEE青犀视频
修改2021-08-06 14:13:24
7810
修改2021-08-06 14:13:24
举报
文章被收录于专栏:TSINGSEE青犀视频

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

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

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

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

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

Ts转MP4 Ffmpeg命令参数:

Ts转m3u8 Ffmpeg命令参数:

EasyDSS能够获得众多开发者的青睐,主要优势包括以下几点:

1、接收RTMP直播流,并且转成HLS、FLV、RTMP等协议流进行第三方调用及播放;

2、EasyDSS内设立了虚拟直播的功能,可以将其他视频流转成直播流,并分享给第三方系统;

3、支持自行上传视频文件,并通过点播的方式播放;

4、平台内设角色管理、用户管理、通道管理等多重权限管理机制,支持权限分配,便于多人管理团队的共同使用。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档