代码之家  ›  专栏  ›  技术社区  ›  Edward

当ffmpeg中的音频较长时,将黑色帧附加到视频

  •  1
  • Edward  · 技术社区  · 7 年前

    我正试图利用ffmpeg作为视频编辑器,这主要是因为常规视频编辑器丢弃的帧比我所能接受的要多。

    ffmpeg -i "videoplayback1" -t 00:09:51 -i "audioplayback1" -t 00:09:54.38 -vcodec libx264 -crf 20 -acodec copy "playback1.mp4"
    

    正如你所看到的,我把视频剪辑得比音频短,但我想要的是与音频相反的东西 -shortest 命令开关,使文件在音频期间继续 -t ,并为剩余时间添加物理黑色帧。

    现在,视频仍然被剪辑,就好像我在使用 -最短的 转换我试了一些 -vf filter_complex 但要么我出错,要么音频仍然被切碎,视频冻结,但持续时间是最长的 -t型

    只要音频还在播放,我该如何添加黑色帧?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gyan    7 年前

    您的命令格式错误,因为它没有将视频剪短于音频。期权安排事项。输入的输入选项在该输入之前,所以

    ffmpeg -t 00:09:51 -i "videoplayback1" -t 00:09:54.38 -i "audioplayback1" -vcodec libx264 ...
    

    根据您的编辑要求,我会删除视频剪辑,并使用drawbox过滤器在所需的视频剪辑点后将帧变黑。

    ffmpeg -i "videoplayback1" -t 00:09:54.38 -i "audioplayback1" -vf drawbox=t=fill:enable='gt(t,591)' -shortest -c:v libx264 -crf 20 -c:a copy "playback1.mp4"
    

    drawbox 设置为在591秒的视频后以默认颜色黑色绘制整个帧。 -shortest 终止输出。