【发布时间】:2016-05-24 08:01:33
【问题描述】:
目标是从 mkv 生成与 HLS 兼容的 MPEGTS 片段,使用 -c:v copy 复制视频,但对音频进行转码。
但是,由于在输入搜索 (-ss) 时 ffmpeg 会搜索关键帧(对我来说,这似乎是最接近之前的关键帧),我在大多数之前得到了 N 秒没有音频的视频从关键帧开始。
可能的解决方案是:
定义段偏移/持续时间,使其实际匹配关键帧;问题是我不知道如何快速提取关键帧列表及其偏移量
强制 ffmpeg 以某种方式寻找适当的时间,并在那里生成一个关键帧以开始该片段; 编辑:我认为这是不可能的,因为生成关键帧会更改之后的所有帧,而
-c:v copy是不可能的
请不要推荐现有的 HLS 解决方案,除非它们在源代码中展示了问题的解决方案。必须使用 ffmpeg 来按需生成每个片段。
【问题讨论】:
-
如果您查看trac.ffmpeg.org/wiki/Seeking#Seekingwhiledoingacodeccopy,您会发现在复制的同时寻找是不可能准确的。也许您可以计算到达关键帧所需的帧,将文件转码到关键帧,然后将其与从关键帧开始的文件连接起来......
标签: video ffmpeg http-live-streaming