0

我有一个我正在尝试做的特定任务。不幸的是,我不是 MLT 方面的专家,我得到了这个项目并被告知“去做”

最终目标是在 mp4 文件中并排显示视频和幻灯片。该视频和幻灯片将随着演示的进行而改变大小。

虽然我可以让视频和幻灯片并排工作,但只要我尝试添加过渡以缩放视频或幻灯片,一切都会完全中断。这是我正在使用的示例 XML 文件(如果它没有为 MLT 正确形成,我深表歉意,这是我被赋予使用的内容):

<?xml version="1.0" encoding="UTF-8"?>
<mlt>
  <profile width="1920" height="1080" progressive="1" />
  <tractor id="tractor0" global_feed="1" in=":0." out=":3144.">
    <multitrack>
      <playlist id="track0">
        <producer id="background" mlt_service="color" in="0" out=":3144." />
      </playlist>
      <playlist id="vTrack1">
        <blank length=":797." />
        <producer id="video" resource="/root/m/fe96fae3c5974c2fbc9d4b61bce42da129232839.mp4" in=":0." out=":255." />
        <blank length=":1359." />
        <blank length=":258." />
        <blank length=":99." />
        <blank length=":376." />
      </playlist>
      <playlist id="track1">
        <producer id="video" resource="/root/m/08448131a1398de90859264dd8dd46547222c41c.mp4" in=":428." out=":1225." />
        <blank length=":255." />
        <producer id="video" resource="/root/m/08448131a1398de90859264dd8dd46547222c41c.mp4" in=":1480." out=":2839." />
        <producer id="video" resource="/root/m/6b7f6ebb320c0b6c7f3b974c8954d4eb02dd5a2b.mp4" in=":2826." out=":3084." />
        <producer id="video" resource="/root/m/99bf4f550ffb389a4776723e5525868cda3b5953.mp4" in=":0." out=":99." />
        <producer id="video" resource="/root/m/08448131a1398de90859264dd8dd46547222c41c.mp4" in=":3203." out=":3579." />
        <blank length=":0." />
      </playlist>
      <playlist id="slidetrack0">
        <producer id="image" resource="/root/m/content/Slide1.PNG" in=":0." out=":538." />
        <producer id="image" resource="/root/m/content/Slide3.PNG" in=":0." out=":5." />
        <producer id="image" resource="/root/m/content/Slide6.PNG" in=":0." out=":66." />
        <producer id="image" resource="/root/m/content/Slide7.PNG" in=":0." out=":94." />
        <producer id="image" resource="/root/m/content/Slide10.PNG" in=":0." out=":955." />
        <producer id="image" resource="/root/m/content/Slide4.PNG" in=":0." out=":20." />
        <producer id="image" resource="/root/m/content/Slide6.PNG" in=":0." out=":768." />
        <producer id="image" resource="/root/m/content/Slide15.PNG" in=":0." out=":95." />
        <producer id="image" resource="/root/m/content/Slide1.PNG" in=":0." out=":12." />
        <producer id="image" resource="/root/m/content/Slide2.PNG" in=":0." out=":24." />
        <producer id="image" resource="/root/m/content/Slide4.PNG" in=":0." out=":14." />
        <producer id="image" resource="/root/m/content/Slide5.PNG" in=":0." out=":28." />
        <producer id="image" resource="/root/m/content/Slide6.PNG" in=":0." out=":17." />
        <producer id="image" resource="/root/m/content/Slide7.PNG" in=":0." out=":25." />
        <producer id="image" resource="/root/m/content/Slide23.PNG" in=":0." out=":72." />
        <producer id="image" resource="/root/m/content/Slide24.PNG" in=":0." out=":10." />
        <producer id="image" resource="/root/m/content/Slide28.PNG" in=":0." out=":6." />
        <producer id="image" resource="/root/m/content/Slide41.PNG" in=":0." out=":16." />
        <producer id="image" resource="/root/m/content/Slide42.PNG" in=":0." out=":379." />
      </playlist>
    </multitrack>
    <filter gain="1" in=":0." out=":3144." mlt_service="volume" track="2" />
    <transition in=":0." out=":3144" mlt_service="composite" progressive="1" geometry="0/0;1920x1080" halign="left" valign="middle" />
    <transition in=":0." out=":0." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,324:768x432:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":696." out=":696." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,180:1280x720:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1149." out=":1149." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,0:1920x1080:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1619." out=":1619." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,0:1x1:0" halign="left" valign="middle" distort="0" fill="1" />
    <transition in=":1890." out=":1890." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,324:768x432:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1925." out=":1925." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,0:1x1:0" halign="left" valign="middle" distort="0" fill="1" />
    <transition in=":1956." out=":1956." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,0:1920x1080:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1991." out=":1991." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,0:1x1:0" halign="left" valign="middle" distort="0" fill="1" />
    <transition in=":2235." out=":2235." mlt_service="affine" a_track="0" b_track="2" progressive="1" rect="0=0,432:384x216:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":0." out=":0." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=768,216:1152x648:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":696." out=":696." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=1280,360:640x360:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1149." out=":1149." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=0,0:1x1:0" halign="right" valign="middle" distort="0" fill="1" />
    <transition in=":1619." out=":1619." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=0,0:1920x1080:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1890." out=":1890." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=768,216:1152x648:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1925." out=":1925." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=0,0:1920x1080:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":1956." out=":1956." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=0,0:1x1:0" halign="right" valign="middle" distort="0" fill="1" />
    <transition in=":1991." out=":1991." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=0,0:1920x1080:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":2235." out=":2235." mlt_service="affine" a_track="0" b_track="3" progressive="1" rect="0=384,108:1536x864:100" halign="center" valign="middle" distort="0" fill="1" />
    <transition in=":0." out=":3144." mlt_service="mix" a_track="0" b_track="2" combine="1" always_active="1" />
  </tractor>
</mlt>

最终结果是幻灯片以某种方式不正确地计时,并且在过渡似乎计时正确时超早结束。我只是不知道在哪里可以看到这一点并需要指导。谢谢你。

4

1 回答 1

0

我马上注意到的一件事是您的配置文件没有指定帧速率。我希望 MLT 会默认为您选择 25Hz。但是在指定帧时,您可能无法获得预期的时间。

另一件可能有帮助的事情是 MLT 支持输入/输出属性的时间格式 - 这更容易阅读。因此,例如,如果您希望输出点为 1 分 30.25 秒,则可以将输出指定为 00:01:30.25。

最后,我总是建议尝试学习 MLT XML 的人花一些时间在后端使用它的视频编辑器中。KDENLIVE 和 Shotcut 都很受欢迎。在 GUI 中构建您想要的内容,然后检查保存在项目文件中的 XML。

于 2021-01-15T02:40:14.703 回答