【问题标题】:splitting a precise .ts piece with ffmpeg when doing -c:v copy在执行 -c:v 复制时用 ffmpeg 分割一个精确的 .ts 片段
【发布时间】:2016-05-24 08:01:33
【问题描述】:

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

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

可能的解决方案是:

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

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

请不要推荐现有的 HLS 解决方案,除非它们在源代码中展示了问题的解决方案。必须使用 ffmpeg 来按需生成每个片段。

【问题讨论】:

标签: video ffmpeg http-live-streaming


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多