MLT / melt:连接剪辑,fade-in/fade-out 音频和视频
MLT / melt: concatenate clips, fade-in/fade-out audio and video
我正在尝试自动执行我每周执行的一项平凡的视频编辑任务。我想用 melt
来做这个。
假设我有视频 a
、b
和 c
。我想做以下事情:
- 截图
a<sup>1</sup>
,b<sup>1</sup>
,以及来自 a
、b
和 c
.[=119= 的 c<sup>1</sup>
]
- 拼接
a<sup>1</sup>
,b<sup>1</sup>
, 和 c<sup>1</sup>
成一个视频。
- 在
a<sup>1</sup>
, b[=56 之间转换时 to/from 变黑一秒=]1</sup>
,以及c<sup>1</sup>
.
- 将配乐应用于
a<sup>1</sup>
、b<sup>1[= 的串联输出113=]
和c<sup>1</sup>
,同时还保留了原始音频。
- 随着
c<sup>1</sup>
逐渐变黑(视频结束),使配乐逐渐淡出。
由此:
a
、b
、c
为任意长度。
a
、b
、c
都是1080p的视频,60帧/秒。
a
, b
, c
, a<sup>1</sup>
, b<sup>1</sup>
和c<sup>1</sup>
都是.mp4
个文件.
- 配乐是一个
.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>
动画过渡。然而:
如果$AUDIO
比a<sup>1</sup>
,的拼接长b<sup>1</sup>
,和c<sup>1</sup>
,音频继续播放(带有白屏)视频结束后。
配乐在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
我正在尝试自动执行我每周执行的一项平凡的视频编辑任务。我想用 melt
来做这个。
假设我有视频 a
、b
和 c
。我想做以下事情:
- 截图
a<sup>1</sup>
,b<sup>1</sup>
,以及来自a
、b
和c
.[=119= 的c<sup>1</sup>
] - 拼接
a<sup>1</sup>
,b<sup>1</sup>
, 和c<sup>1</sup>
成一个视频。 - 在
a<sup>1</sup>
,b[=56 之间转换时 to/from 变黑一秒=]1</sup>
,以及c<sup>1</sup>
. - 将配乐应用于
a<sup>1</sup>
、b<sup>1[= 的串联输出113=]
和c<sup>1</sup>
,同时还保留了原始音频。 - 随着
c<sup>1</sup>
逐渐变黑(视频结束),使配乐逐渐淡出。
由此:
a
、b
、c
为任意长度。a
、b
、c
都是1080p的视频,60帧/秒。a
,b
,c
,a<sup>1</sup>
,b<sup>1</sup>
和c<sup>1</sup>
都是.mp4
个文件.- 配乐是一个
.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>
动画过渡。然而:
如果
$AUDIO
比a<sup>1</sup>
,的拼接长b<sup>1</sup>
,和c<sup>1</sup>
,音频继续播放(带有白屏)视频结束后。配乐在
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