在执行-c:v copy

时间:2016-02-13 01:28:36

标签: video ffmpeg hls

目标是从mkv生成与HLS兼容的MPEGTS片段,使用-c:v copy复制视频,但转码音频。

然而,由于输入搜索(-ss)ffmpeg寻求关键帧(对我来说,这似乎是最接近的关键帧),我得到没有音频的N秒视频在大多数细分之前,从关键帧开始。

可能的解决方案是:

  1. 定义段偏移/持续时间,使其实际匹配关键帧;问题是我不知道如何快速提取关键帧及其偏移列表

  2. 强制ffmpeg以某种方式寻找合适的时间,并在那里生成一个关键帧以启动该段; 编辑:我认为这是不可能的,因为在此之后生成关键帧会更改所有帧,-c:v copy不可能

  3. 除非他们在源代码中证明了问题的解决方案,否则请不要建议现有的HLS解决方案。必须使用ffmpeg来按需生成每个段。

1 个答案:

答案 0 :(得分:0)

对于您的解决方案1.,您可以使用ffprobe -show_frames来获取帧。关键帧信息是输出的一部分。选项-print_format json很容易解析。