如何在 rails 中生成具有特定持续时间的 .ts 视频文件?

问题描述

我有一个主播放列表文件,其中包含一组 .ts 视频文件以及每个文件的开始时间和持续时间。

这些时间戳不是连续的。即,连续 ts 文件的时间戳之间存在一些时间差,我想在这个时间差中包含空白屏幕。

示例 m3u8 文件

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:18

#EXT-X-disCONTINUITY
#EXT-X-AGORA-ROTATE:WIDTH=270,HEIGHT=270,ROTATE=0,TIME=20210729054944890
#EXT-X-AGORA-TRACK-EVENT:EVENT=START,TRACK_TYPE=VIDEO,TIME=20210729054944890
#EXT-X-AGORA-ROTATE:WIDTH=360,HEIGHT=360,TIME=20210729054950308
#EXTINF:22.752000
9760411e0e4abac2964ab5f212128d90_20210729054944890.ts

#EXT-X-disCONTINUITY
#EXT-X-AGORA-ROTATE:WIDTH=360,TIME=20210729055118021
#EXT-X-AGORA-TRACK-EVENT:EVENT=START,TIME=20210729055118021
#EXTINF:26.321000
9760411e0e4abac2964aasdfb5f258d90_20210729055118021.ts
#EXT-X-ENDLIST

每个 .ts 文件的最后一部分是视频流开始的时间戳,我们在 #EXTINF 中有持续时间

如果您看到 m3u8 文件,则第一个和第二个 .ts 文件之间大约有 1 分钟的差异。我想在播放这个 HLS 视频时用视频中的空白屏幕来填补这个空白

我希望这能解释问题陈述,并期待我们如何根据使用 ruby​​-on-rails 的时间间隔将另一个空白的 .ts 文件放置特定持续时间?

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)