我是FFMPEG的新人,并开始深入挖掘我的经验。是否可以重写一个或多个任意.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更改为更长的长度并修改文件名。任何提示将不胜感激。
答案 0 :(得分:2)
你应该真正阅读pantos规范。 https://tools.ietf.org/html/draft-pantos-http-live-streaming-14
但要直接回答,您应该将#EXT-X-TARGETDURATION
增加到最大的片段持续时间(向上舍入)。在你的情况下13.接下来你需要在你的编解码器或连续性计数器被重置时放置一个不连续指示器。
e.g。
#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