Command line interface MLT/melt:连接剪辑、淡入/淡出音频和视频
我正在尝试自动化一个我每周执行的普通视频编辑任务。我想使用Command line interface MLT/melt:连接剪辑、淡入/淡出音频和视频,command-line-interface,mlt,melt-framework,Command Line Interface,Mlt,Melt Framework,我正在尝试自动化一个我每周执行的普通视频编辑任务。我想使用melt来完成此操作 假设我有视频a、b和c。我想做以下工作: 从a、b和c中剪下a1、b1和c1 将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文件 配乐是一个.m
melt
来完成此操作
假设我有视频a
、b
和c
。我想做以下工作:
a
、b
和c
中剪下a1
、b1
和c1
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
淡出时(即视频结束时),音轨不会淡出这解决了第1项(视频结束时结束音频),谢谢!然而,出于某种原因,当电影结束时,它似乎不会淡出音频(#2)。但是,您链接的文档表明它应该可以工作,所以我不清楚为什么不行:/I我会继续浏览文档,如果我能让它工作的话,我会在这里发布答案。我想,“mix”可能不会做您想做的,因为它实际上是一个交叉淡入淡出,并且应用了线性过渡,而不是对数。也许可以尝试按照我更新的答案中的建议应用“音量”过滤器。这正是我想要的,并且满足了我问题中陈述的所有目标。非常感谢你的帮助!(只要SO允许,我将对您的回答给予100分的奖励,以表示感谢,感谢您的回答。)
#!/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