目标是从mkv生成与HLS兼容的MPEGTS片段,使用-c:v copy
复制视频,但转码音频。
然而,由于输入搜索(-ss
)ffmpeg寻求关键帧(对我来说,这似乎是最接近的关键帧),我得到没有音频的N秒视频在大多数细分之前,从关键帧开始。
可能的解决方案是:
定义段偏移/持续时间,使其实际匹配关键帧;问题是我不知道如何快速提取关键帧及其偏移列表
强制ffmpeg以某种方式寻找合适的时间,并在那里生成一个关键帧以启动该段; 编辑:我认为这是不可能的,因为在此之后生成关键帧会更改所有帧,-c:v copy
不可能
除非他们在源代码中证明了问题的解决方案,否则请不要建议现有的HLS解决方案。必须使用ffmpeg来按需生成每个段。
答案 0 :(得分:0)
对于您的解决方案1.,您可以使用ffprobe -show_frames
来获取帧。关键帧信息是输出的一部分。选项-print_format json
很容易解析。