用DVDAuthor制作一张影视DVD(4)

•   A VMGM menu can only jump to:
o   Another VMGM menu
o   The first VTSM of a titleset
o   The start of a titleset
•   A VTSM menu can only jump to
o   Another VTSM in the same titleset.
o   A title or chapter within the titleset.
o   The first VMGM of the disk
•   A Title can only jump to
o   A title 、menu or chapter within the titleset.
o   The first VMGM of the disk



五、 合成DVD

1.关于VMGM的处理技巧
代码示例:

代码:

<dvdauthor dest="e:\dvd1\">
<vmgm>
<fpc>{g1=0;g2=0;g3=0;g4=0;g5=0;g6=0;g7=0;g8=0;g9=0;jump title 4;}</fpc>
 
    <menus>
      <pgc entry="title">
      <pre>{if (g3 eq 1) {g3=0;jump titleset 3 menu;}
            if (g6 eq 1) {g6=0;jump titleset 1 menu;}
            if (g5 eq 1) {g5=0;jump titleset 1 menu;}
            if (g4 eq 1) {g4=0;jump titleset 2 menu;}
            if (g7 eq 1) {g7=0;jump title 1;}
            if (g8 eq 1) {g8=0;jump title 2;}
            if (g9 eq 1) {g9=0;jump title 3;}
           }
      </pre>

         <vob file="vmgm1.mpg"></vob>
         <button>jump titleset 1 menu;</button>
         <button>jump titleset 1 menu;</button>
         <button>jump titleset 2 menu;</button>
         <button>jump titleset 3 menu;</button>

         <button>jump title 1;</button>
<post>if (g1 eq 2) {g1=0;jump titleset 1 menu;} else jump title 4;</post>
      </pgc>
   </menus>
</vmgm>

<titleset>
  <menus>
      <pgc entry="root">
      <pre>g2=g2+1;</pre>
      <vob file="menuA1.mpg"></vob>
                 
         <button>jump title 1 chapter 2;</button>
         <button>jump title 1 chapter 3;</button>         
         <button>jump title 1 chapter 4;</button>
         <button>jump title 1 chapter 5;</button>
         <button>jump title 1 chapter 6;</button>
         <button>jump title 1 chapter 7;</button>
         <button>jump title 1 chapter 8;</button>
         <button>jump title 1 chapter 9;</button>
       
         <button>jump title 1 chapter 11;</button>
         <button>jump title 1 chapter 12;</button>
         <button>jump title 1 chapter 13;</button>
         <button>jump title 1 chapter 14;</button>
         

         <button>jump title 1;</button>
         <button>jump vmgm menu;</button>

<post>if (g2 eq 2) {g2=0;jump title 1;} else {g4=1;jump vmgm menu;}</post>         
</pgc>
</menus>

<titles>
<pgc  pause="3">

<vob file="ZY.vob">
<cell start="00:00:00"  chapter="1">jump chapter 10;</cell>
<cell start="00:01:56"  end="00:05:27"  chapter="1"  program="1"></cell>
<cell start="00:07:43"  end="00:10:58"  chapter="1"  program="1" ></cell>
<cell start="00:12:29"  end="00:14:17"  chapter="1"  program="1" ></cell>
<cell start="00:14:47"  end="00:17:14"  chapter="1"  program="1" ></cell>
<cell start="00:21:01"  end="00:24:19"  chapter="1"  program="1" ></cell>
<cell start="00:25:18"  end="00:25:46"  chapter="1"  program="1" ></cell>
<cell start="00:26:03"  end="00:28:00"  chapter="1"  program="1" ></cell>
<cell start="00:28:31" end="00:29:49" chapter="1" program="1">jump chapter 11;</cell>
</vob>

<vob file="zh.vob">
<cell start="00:00:00" chapter="1">jump program 15;</cell>
<cell start="00:08:35" end="00:11:17" chapter="1" program="1" ></cell>
<cell start="00:12:59" end="00:15:55" chapter="1" program="1" ></cell>
<cell start="00:18:20" end="00:21:24" chapter="1" program="1" ></cell>
<cell start="00:28:37" end="00:29:58" chapter="1" program="1" ></cell>
<cell start="00:29:57" end="00:29:58" chapter="1"></cell>
</vob>

   <post>{g8=1;call vmgm menu;}</post>

</pgc>
</titles>
</titleset>

<titleset>
<menus>
 <pgc pause="inf">
      <vob file="menuB1.mpg"></vob>
      <button>jump title 1 chapter 1;</button>
      <button>jump title 1 chapter 2;</button>
      <button>jump title 1 chapter 3;</button>         
      <button>jump title 1 chapter 4;</button>
      <button>jump title 1 chapter 5;</button>
      <button>jump title 1 chapter 6;</button>
             
      <button>jump title 1;</button>
      <button>jump vmgm menu;</button>
      <post>{g3=1;jump vmgm menu;}</post>
   </pgc>
</menus>

<titles>
 <pgc pause="3">
      <vob file="yc.vob" chapters="
00:00:00,
00:02:07,
00:04:30,
00:07:01">
</vob>
     <vob file="xz.vob" chapters="00:00:00,00:02:01"></vob>
     <post>{g9=1;call vmgm menu;}</post>
 </pgc>   
</titles>
</titleset>


<titleset>
<menus>
 <pgc pause="inf">
      <vob file="menuC1.mpg"></vob>
         <button>jump title 1 chapter 1;</button>
         <button>jump title 1 chapter 2;</button>
         <button>jump title 1 chapter 3;</button>         
         <button>jump title 1 chapter 4;</button>
         <button>jump title 1 chapter 5;</button>
         <button>jump title 1 chapter 6;</button>
         <button>jump title 1 chapter 7;</button>
         <button>jump title 1 chapter 8;</button>
         <button>jump title 1 chapter 9;</button>         
         <button>jump title 1 chapter 10;</button>
     
         <button>jump title 1;</button>
         <button>jump vmgm menu;</button>
         <post>{g5=1;jump vmgm menu;}</post>
      </pgc>
</menus>

<titles>
 <pgc pause="3">
      <vob file="hk.vob"  chapters="
00:00:00,
00:01:05,
00:02:00,
         
00:03:41,
00:04:21,
00:05:11,
00:05:51,
00:06:44,
00:07:45,
00:08:32">
     </vob>
     <post>call vmgm menu;</post>
 </pgc>   
</titles>
</titleset> 
 
<titleset>
<titles>

 <pgc>
     <pre>g1=g1+1;</pre>
     <vob file="vmgm1.mpg"></vob>
     <button>{g6=1;call vmgm menu;}</button>
     <button>{g5=1;call vmgm menu;}</button>
     <button>{g4=1;call vmgm menu;}</button>
     <button>{g3=1;call vmgm menu;}</button>
     <button>{g7=1;call vmgm menu;}</button>
     <post>call vmgm menu;</post>
 </pgc>

</titles>
</titleset>
</dvdauthor>



(1)利用fpc特性实现VMGM 菜单循环
将VMGM 菜单视频最后一个titleset引用,成为一个独立的titleset(title 4),需要用到的变量可以在fpc中初始化。


代码:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27388.html