MLT/melt:连接剪辑,淡入/淡出音频和视频



我正在尝试自动化一项每周执行的普通视频编辑任务。我想用melt来做这件事。

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

  1. abc中截取a1b1c1
  2. a1b1c1连接到单个视频中
  3. a1b1c1之间转换时,变黑/变黑1秒
  4. 将原声音乐应用于a1b1c1的级联输出,同时保留原始音频
  5. 随着c1逐渐变黑,淡出原声音乐(结束视频)

其中:

  1. abc具有任意长度
  2. abc都是以每秒60帧拍摄的1080p视频
  3. abca1b1c1都是.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

(在上面的例子中,我为相关文件和淡入/淡出时间使用了任意占位符。)

这成功地剪切并连接了具有动画过渡的a1b1c1。但是:

  1. 如果$AUDIOa1b1c1的串联长度长,则在视频结束后继续播放音频(使用白色屏幕)。

  2. c1淡出时(即视频结束时),原声音乐不会淡出。

据我所知,淡出原声音乐可能是通过"设置音量音频过滤器的动画"来实现的,但我没有成功尝试。

我应该尝试什么?

谢谢你的帮助。

对于#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

最新更新