我正在尝试自动执行每周执行的普通视频编辑任务。我想用melt
来做这件事。
假设我有视频a
,b
和c
。我想做以下事情:
a1
,b1
和c1
内抓取a
,b
和c
。a1
,b1
和c1
连接到一个视频中。a1
,b1
和c1
之间转换时,淡入/淡出黑色一秒钟。a1
,b1
和c1
的连续输出,同时还保留原始音频。c1
淡化为黑色(结束视频)时淡出音轨。因此:
a
,b
和c
具有任意长度。a
,b
和c
都是以每秒60帧的速度拍摄的1080p视频。a
,b
,c
,a1
,b1
和c1
都是.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
(我在上面的示例中使用了相关文件和淡入/淡出时间的任意占位符。)
成功剪切并将a1
,b1
和c1
与动画过渡连接起来。但是:
如果$AUDIO
的长度超过a1
,b1
和c1
的串联,则音频会继续播放(带有白色屏幕)视频已经结束。
当c1
淡出时(即视频结束时),音轨不淡出。
从我收集的内容中,淡出音轨可以通过“动画音量过滤器动画”完成,但我没有成功尝试过。
我该怎么办?
感谢您的帮助。
答案 0 :(得分:4)
对于#1,您需要为音频设置一个输出点。您有三个601帧剪辑(第零帧计为一个),总共1803帧。所以出发= 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