MLT XML画外音

MLT XML voiceover

我有两个视频剪辑和两个音频剪辑。我想将它们组合起来,使每个音频叠加在其视频之上,结果 运行 按顺序:

[video0       ][video1  ]
[audio0  ]     [audio1 ]

编辑 这是一个有效的 MLT 文件。为了完整起见,我保留了下面的原始损坏 XML。

<playlist>
  <tractor>
    <multitrack>
      <producer>
        <property name="resource">video0.mp4</property>
      </producer>
      <producer>
        <property name="resource">audio0.wav</property>
      </producer>
    </multitrack>
  </tractor>
  <!-- melt can deduce the multitrack, so this works as well: -->
  <tractor>
    <producer>
      <property name="resource">audio1.wav</property>
    </producer>
    <producer>
      <property name="resource">video1.mp4</property>
    </producer>
  </tractor>
</playlist>

结束编辑

我试图做这样的事情,但我得到的错误似乎表明我的结构是错误的,例如[producer_xml] End multitrack in the wrong state...[producer_xml] Invalid state of playlist end 2

<playlist>
  <multitrack>
    <producer>
      <property name="resource">video0.mp4</property>
    </producer>
    <producer>
      <property name="resource">audio0.wav</property>
    </producer>
  </multitrack>
  <multitrack>
    <producer>
      <property name="resource">audio1.wav</property>
    </producer>
    <producer>
      <property name="resource">video1.mp4</property>
    </producer>
  </multitrack>
</playlist>

您缺少曲目。总的来说:

  1. 首先声明所有生产者
  2. 然后将所有的视频剪辑放在一个播放列表中,将音频剪辑放在 另一个播放列表。
  3. 创建两个轨道:一个用于视频播放列表,一个用于音频 播放列表
  4. 然后,在它们之间添加一个"mix"过渡

本文档中有非常好的示例: https://github.com/mltframework/mlt/blob/master/docs/mlt-xml.txt

参见 "Tractors" 部分。