【问题标题】:FFMpeg - Trimming out the video after removing duplicate framesFFMpeg - 删除重复帧后修剪视频
【发布时间】:2017-08-10 07:50:34
【问题描述】:

我通过此命令从视频中删除了许多重复帧(并完全删除了音频)

ffmpeg -i scene.mkv -vf mpdecimate,setpts=N/FRAME_RATE/TB -map:v 0  scene3.mp4

(来自 Mulvya 的 answer,再次感谢)。

生成的视频正常,但总时长不会改变 - 原始视频的最后一帧被冻结以填充剩余时间(播放视频时)。

有什么方法可以修剪视频,使其在最后一帧结束?

【问题讨论】:

    标签: video ffmpeg duplicates


    【解决方案1】:

    地图语法应该是

    ffmpeg -i scene.mkv -vf mpdecimate,setpts=N/FRAME_RATE/TB -map 0:v scene3.mp4
    

    【讨论】:

    • 有没有办法在修剪重复帧的同时修剪音频,我每隔 100 个实际帧就有 1000 秒重复帧。在这些片段中没有音频。所以 8 分钟的视频被剪裁为 2 分钟,但音频没有受到影响,是否也可以删除不需要的音频部分?
    【解决方案2】:

    我尝试了Gyan 的解决方案,但它忽略了音频。我还尝试了多种其他解决方案,但它们似乎都不起作用。然而,有一个 mpdecimate_trim repo 做得很好。它基本上列出了所有要丢弃的帧(使用mpdecimate),然后创建一个复杂的过滤器,通过拆分视频并仅包括没有重复帧的部分来修剪视频中的所有这些帧(和相应的音频)。

    不过,我确实不得不调整代码中的一些选项。例如,在mpdecimate_trim.py 中,我不得不更改这一行:

    dframes2 = get_dframes(ffmpeg(True, "-vf", "mpdecimate=hi=576", "-loglevel", "debug", "-f", "null", "-").stderr)

    我不得不更积极地检测重复,所以我将mpdecimate 选项更改为mpdecimate=hi=64*32:lo=64*24:frac=0.05

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-29
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 2017-05-05
      相关资源
      最近更新 更多