MLT / melt:连接剪辑,fade-in/fade-out 音频和视频

MLT / melt: concatenate clips, fade-in/fade-out audio and video

我正在尝试自动执行我每周执行的一项平凡的视频编辑任务。我想用 melt 来做这个。

假设我有视频 abc。我想做以下事情:

  1. 截图a<sup>1</sup>,b<sup>1</sup>,以及来自 abc.[=119= 的 c<sup>1</sup> ]
  2. 拼接a<sup>1</sup>,b<sup>1</sup>, 和 c<sup>1</sup> 成一个视频。
  3. a<sup>1</sup>, b[=56 之间转换时 to/from 变黑一秒=]1</sup>,以及c<sup>1</sup>.
  4. 将配乐应用于 a<sup>1</sup>b<sup>1[= 的串联输出113=]c<sup>1</sup>,同时还保留了原始音频。
  5. 随着 c<sup>1</sup> 逐渐变黑(视频结束),使配乐逐渐淡出。

由此:

  1. abc为任意长度。
  2. abc都是1080p的视频,60帧/秒。
  3. a, b, c, a<sup>1</sup>, b<sup>1</sup>c<sup>1</sup>都是.mp4个文件.
  4. 配乐是一个 .mp3 文件。

这是我得到的最接近的结果:

#!/bin/sh
melt \
  colour:black out=59 $VIDEO1 in=0 out=600 -mix 60 -mixer luma \
  colour:black out=59 -mix 60 -mixer luma \
  colour:black out=59 $VIDEO2 in=0 out=600 -mix 60 -mixer luma \
  colour:black out=59 -mix 60 -mixer luma \
  colour:black out=59 $VIDEO3 in=0 out=600 -mix 60 -mixer luma \
  colour:black out=59 -mix 60 -mixer luma \
  -audio-track $AUDIO -transition mix

(我对相关文件使用了任意占位符,在上面的示例中使用了 fade-in/out 次。)

这成功剪切并连接了 a<sup>1</sup>, b<sup>1</sup>,和 c<sup>1</sup> 动画过渡。然而:

  1. 如果$AUDIOa<sup>1</sup>,的拼接长b<sup>1</sup>,和c<sup>1</sup>,音频继续播放(带有白屏)视频结束后。

  2. 配乐在c<sup>1</sup>淡出时(即视频结束时)不淡出.

据我所知,"animating the volume audio filter" 可以实现配乐的淡出,但我没有成功。

我应该尝试什么?

感谢您的帮助。

对于#1,您需要为音频设置一个出点。您有三个 601 帧剪辑(第 0 帧计为一个),总共 1803 帧。所以设out=1802.

对于 #2,您可以将音量过滤器应用于音轨的末尾以使其淡出。

请参阅音量滤波器的文档以了解增益和结束参数: https://www.mltframework.org/plugins/FilterVolume/

#!/bin/sh
melt \
  colour:black out=59 $VIDEO1 in=0 out=600 -mix 60 -mixer luma \
  colour:black out=59 -mix 60 -mixer luma \
  colour:black out=59 $VIDEO2 in=0 out=600 -mix 60 -mixer luma \
  colour:black out=59 -mix 60 -mixer luma \
  colour:black out=59 $VIDEO3 in=0 out=600 -mix 60 -mixer luma \
  colour:black out=59 -mix 60 -mixer luma \
  -audio-track $AUDIO out=1802 -attach-track volume:0db end=-70db in=1703 out=1802 \
  -transition mix in=0 out=1802