chrisadas.com

Legacy

I had to create a looping VCD today.

You would think that would be easy. But NO. VCD is ancient, and you can’t easily find current day tools that deal with it.

After a lot of messing around, this is what I (thought I) had to do:

But no no, that would be too easy. I got pretty far but I couldn’t get the shared folder to work for the guest OS.

After almost ripping my hair off and pissing the missus with my tantrum, I finally did it, after 4 hours, using GNU VCDImager.

This command line tool dates back to 2002, very fitting for the task at hand. But the direct command line vcdimager only does simple stuffs and not infinite looping. For that, I need the XML driven vcdxbuild

Rusty, I am. But hey, got it to work in the end.

Final XML uses, in case I had to do this again anytime in the future.

<?xml version="1.0"?> 
<!DOCTYPE videocd PUBLIC "-//GNU//DTD VideoCD//EN" "http://www.gnu.org/software/vcdimager/videocd.dtd"> 
<!-- commandline used: vcdxgen -=iso-volume-label=video -=type=svcd video.mpg --> 
<videocd > 
 <info> 
 <album-id></album-id> 
 <volume-count>1</volume-count> 
 <volume-number>1</volume-number> 
 <restriction>0</restriction> 
 </info> 
 <pvd> 
 <volume-id>video</volume-id> 
 <system-id>CD-RTOS CD-BRIDGE</system-id> 
 <application-id></application-id> 
 <preparer-id/> 
 <publisher-id/> 
 </pvd> 
 <sequence-items> 
 <sequence-item src="video.mpg" id="sequence-00"/> 
 </sequence-items> 
 <pbc> 
	<selection id="select-loop"> 
	 <bsn>1</bsn> 
	 <prev ref="select-loop"/> 
	 <next ref="select-loop"/> 
	 <return ref="select-loop"/> 
	 <timeout ref="select-loop" /> 
	 <wait>0</wait> 
	 <loop jump-timing="immediate">0</loop> 
	 <play-item ref="sequence-00" /> 
	 <select ref="select-loop" /> 
	</selection> 
 <endlist id="lid-end" rejected="true"/> 
 </pbc> 
</videocd>