1

我无法真正理解为什么 MLT(以下面的示例为例)使用来自轨道 #1(中间轨道)的视频帧,而不是来自轨道 #0 的视频帧,其中轨道 #2 组成在它上面。有什么解释吗?

让我们假设一个简单的 MLT 设置,大致如下:

<mlt>
  ... <!-- some producers here -->
  <tractor>
    <multitrack>
      <track producer="playlist1"/>
      <track producer="playlist2"/>
      <track producer="playlist3"/>
    </multitrack>
    <transition id="transition1">
      <property name="a_track">0</property>
      <property name="b_track">2</property>
      <property name="mlt_service">composite</property>
    </transition>
  </tractor>
</mlt>

现在我们还假设所有三个播放列表都有以相同入点和出点开头的视频剪辑。也就是说,所有三个剪辑都相互重叠。

没有任何过渡,如果我是正确的,我理解拖拉机的工作方式是它总是从轨道#2 中获取“最顶层”的视频帧,即来自“playlist3”。

但是有了“transition1”,拖拉机就会从轨道#1 中获取帧,也就是“playlist2”。请记住,所有三个播放列表都具有相同的入点和出点,因此它们在时间上重叠。

有人可以向我解释为什么拖拉机现在从轨道#1“产生”视频帧,而不是从轨道#2的合成到轨道#0吗?

否则,我会期望后者或来自第 2 轨,但使用 Kdenlive 进行的快速检查显示只拍摄了来自第 2 轨的视频帧。为什么?

4

1 回答 1

2

正如我现在所了解到的,使用过渡基本上会在过渡期间“消耗”顶部/B 轨道。这实际上是有道理的,尽管它使 MLT 有点违反直觉。考虑到“消费者规则”,我上面的示例如下:

  1. 存在轨道 0、1、2。
  2. transition1 使用轨道 2。
  3. 留下曲目 0 和 1。
  4. 轨道 1 现在是产生帧的最顶层轨道。
于 2017-03-19T13:37:34.550 回答