我有这个播放列表:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:7
#EXT-X-MEDIA-SEQUENCE:0
我想插入剪切片段,因为生成的流比正常的6s长度(1s和3s之间)略短。
所以流看起来像这样。
stream136.ts
#EXTINF:7.133333,
stream137.ts
#EXT-X-DISCONTINUITY
#EXTINF:3.68,
cutstream20.ts
#EXTINF:6.933333,
stream21.ts
#EXTINF:5.2,
stream22.ts
VLC通过非常糟糕的打嗝来完成不连续性,iOS上的AVPlayer完全停止在不连续处。如果我删除剪辑剪辑,则播放顺畅。
如何创建剪切片段或修改播放列表以允许在iOS上播放?
cut命令如下所示:
ffmpeg -y -i file.ts -ss 3 -c:v copy -c:a copy cut.ts
答案 0 :(得分:2)
EXT-X-TARGETDURATION
是最长持续时间,因此较低的值不是问题。
每个片段必须从关键帧开始(更确切地说,在MPEG-TS的情况下,PAT / PMT后跟IDR)。
由于您正在寻找一些任意时间戳并复制现有编码,因此您的网段可能不会以关键帧开头,从而导致问题。
您可以尝试将-ss
参数放在 -i
之前,因为它会在流复制(wiki)时使用关键帧解析输入。