Wed Aug 26 20:36:54 PDT 2015

How to Make Looping VCDs

As discussed in elsewhere on this site, the VCD format allows you to play videos and movies on your DVD player using normal CD-R media. One thing that you might want to do is create a continuous loop VCD - you can use that to give yourself a constant background of favorite material from YouTube, create a looping product demonstration for a show or for a store, or even turn your television into a fishtank - using a movie or two of aquatic life. The VCD format can accommodate menus and considerable complexity. All the information that you need to understand VCD menus is [5]here on PCByPaul and [6]here (in detail). However, if you want to create a continuous loop playing video using VCD - you just need to do the following. Start with two flash movies, say video1.flv and video2.flv. First, create the necessary VCD format mpg files:

ffmpeg.exe -i video1.flv -target ntsc-vcd -ac 2 video1.mpg
ffmpeg.exe -i video2.flv -target ntsc-vcd -ac 2 video2.mpg

Now you need to create a template xml file to control vcdimager's production of your movie. You use:

vcdxgen -t vcd2 video1.mpg video1.mpg

...to do that.

This command creates a file called videocd.xml. You need to change this slightly to create the looping effect. To do this, remove the <playlist> portions in the pbc section in the file. Replace these with <selection> items, as follows:

    <selection id="lid-000">
      <next ref="lid-001"/>
      <timeout ref="lid-001"/>
      <wait>1</wait>
      <play-item ref="sequence-00"/>
    </selection>
    <selection id="lid-001">
      <next ref="lid-000"/>
      <timeout ref="lid-000"/>
      <wait>1</wait>
      <play-item ref="sequence-01"/>
    </selection>

Take a look at the changes and you will see how the looping effect is achieved. When the first section times out, it moves to 'lid-001' (the next section). When the second section times out, it moves to 'lid-000' (the first section) - and so on.

Once you have updated videocd.xml, you can use it to create the image to be burned to cd with:

vcdxbuild videocd.xml

And then finally burn the VCD with:

cdrdao write --device 1,0,0 --driver generic-mmc-raw --force --speed 4 videocd.cue

Now you can create some nice endless, atmospheric video backgrounds - and display them on your large screen television. If you need more than 2 movies - just create the appropriate number of <selection> sections and make sure that the last one times out to the first.


Posted by ZFS | Permanent link | File under: bash