0

我有两个视频剪辑和两个音频剪辑。我想将它们组合在一起,使每个音频都覆盖在其视频之上,并且结果按顺序运行:

[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>
4

1 回答 1

1

您缺少曲目。一般来说:

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

本文档中有很多很棒的示例: https ://github.com/mltframework/mlt/blob/master/docs/mlt-xml.txt

请参阅“拖拉机”部分。

于 2018-01-14T21:35:11.053 回答