使用 FFMPEG,我可以以 HLS m3u8 格式重写 .ts 特定段吗?



我对FFMPEG相当陌生,并开始挖掘超出我的经验。是否可以重写 1 个或多个任意 .ts 文件段(例如,如果我编辑了一个场景(,而不必重新编码整个电影?

另外,如果该段的长度

发生了变化,是否像更改 m3u8 文件中的段长度一样简单?例如,这是原始的:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:8
#EXTINF:7.007000,
file0.ts
#EXTINF:5.964292,
file1.ts
#EXTINF:1.876875,
file2.ts
#EXTINF:2.293958,
file3.ts
etc...

更改为:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:8
#EXTINF:7.007000,
file0.ts
#EXTINF:12.023,
modified1.ts
#EXTINF:1.876875,
file2.ts
#EXTINF:2.293958,
file3.ts
etc...

您可以看到我想将 file1.ts 更改为更长的长度并修改文件名。任何提示将不胜感激。

你真的应该阅读潘托斯规范。 https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-14

但为了更直接地回答,您应该将#EXT-X-TARGETDURATION增加到最大段持续时间(四舍五入(。在您的情况下 13.接下来,您需要在重置编解码器或连续性计数器时放置一个不连续性指示器。例如

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:13
#EXTINF:7.007000,
file0.ts
#EXTINF:12.023,
#EXT-X-DISCONTINUITY
modified1.ts
#EXTINF:1.876875,
#EXT-X-DISCONTINUITY
file2.ts
#EXTINF:2.293958,
file3.ts

相关内容

  • 没有找到相关文章

最新更新