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,您需要为音频设置一个出发点。您有三个601帧剪辑(第0帧计为一个),总共1803帧。所以出发=1802

    对于#2,您可以将音量过滤器应用到音频曲目的末尾,使其淡出

    请参阅音量滤波器的文档以了解增益和结束参数:


    这解决了第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