【问题标题】:FFmpeg how to extract time fragments of exact duration at set intervals?FFmpeg如何以设定的时间间隔提取精确持续时间的时间片段?
【发布时间】:2017-03-22 20:18:32
【问题描述】:

我有一个视频文件,我知道如何使用 ffmpeg 提取片段并将关键帧设置为精确。

但是,我想提取一段一定持续时间的片段,比如 1 分钟,然后等待 50 秒,再次片段 1 分钟,等待 50 秒,再次片段 1 分钟,等等,直到视频文件结束。

我怎样才能做到这一点? 是否可以使用 list.txt 作为剪切输入?

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    我们将您的分段持续时间称为X 以及一个分段结束与另一个分段开始之间的间隔Y。两者都在几秒钟内。使用

    ffmpeg -i in.mp4 -vf select='lt(mod(t,X+Y),X)',setpts=N/FRAME_RATE/TB -force_key_frames expr:gte(t,n_forced*X) -f segment -segment_time X out%d.ts
    

    您可能需要为每个分段的零开始时间戳添加-reset_timestamps 1。音频被忽略,如果存在将不同步。使用aselect/asetpts添加对应的音频过滤器以同步剪切音频。

    【讨论】:

      猜你喜欢
      • 2013-08-20
      • 2018-07-27
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      相关资源
      最近更新 更多