VideoHelp Forum




+ Reply to Thread
Results 1 to 6 of 6
  1. Member
    Join Date
    Aug 2001
    Location
    Australia
    Search Comp PM
    Hi,
    I extracted an XML vcd structure from the VCD, "Under Siege" which contained
    '6' Chapter selections.
    I altered the XML doc to have '9' chapters and i burnt the VCD with great success

    My 3 questions are
    1. Are all the "<select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>"
    commands required ?

    2. How should the time codes for entry points be ? I worked out
    that 42min 53sec = 2552.000000 approx. is this correct ?

    3. My menu mpg is a 5second looping item0000.mpg is this correct ?
    (the original vcd had 5 items with each selection referencing an item. I altered
    all references to point to a single item0000.mpg)

    Anyways as i said, the VCD i burnt worked pretty good, i was just wanting to here
    from anyone who has any ideas how i can trim down the XML file.

    Thanks to anyone who has an ideas
    Phil



    <?xml version="1.0"?>
    <!DOCTYPE videocd PUBLIC "-//GNU//DTD VideoCD//EN" "http://www.gnu.org/software/vcdimager/videocd.dtd">

    <videocd xmlns="http://www.gnu.org/software/vcdimager/1.0/" class="vcd" version="2.0">
    <info>
    <album-id></album-id>
    <volume-count>1</volume-count>
    <volume-number>1</volume-number>
    <restriction>0</restriction>
    </info>
    <pvd>
    <volume-id></volume-id>
    <system-id>CD-RTOS CD-BRIDGE</system-id>
    <application-id>CDI/CDI_APPL.VCD;1</application-id>
    <preparer-id></preparer-id>
    <publisher-id></publisher-id>
    </pvd>
    <filesystem>
    <folder>
    <name>KARAOKE</name>
    </folder>
    <folder>
    <name>CDI</name>
    <file src="_cdi_cdi_appl.vcd">
    <name>CDI_APPL.VCD</name>
    </file>
    <file src="_cdi_vcd_back.dyv">
    <name>VCD_BACK.DYV</name>
    </file>
    <file src="_cdi_vcd_btn.c8">
    <name>VCD_BTN.C8</name>
    </file>
    </folder>
    </filesystem>
    <segment-items>
    <segment-item src="item0000.mpg" id="segment-0000"/>
    </segment-items>
    <sequence-items>
    <sequence-item src="avseq00.mpg" id="sequence-00"/>
    <sequence-item src="avseq01.mpg" id="sequence-01">
    <entry id="entry-002">83.400000</entry>
    <entry id="entry-003">322.800000</entry>
    <entry id="entry-004">694.200000</entry>
    <entry id="entry-005">1048.200000</entry>
    <entry id="entry-006">1330.800000</entry>
    <entry id="entry-007">1983.600000</entry>
    <entry id="entry-008">2106.600000</entry>
    <entry id="entry-009">2552.000000</entry>
    </sequence-item>
    </sequence-items>
    <pbc>
    <playlist id="playlist-01">
    <next ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="sequence-00"/>
    </playlist>
    <selection id="selection-01">
    <bsn>1</bsn>
    <timeout ref="selection-02"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/> (are these files
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/> <---- required ?)
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-02">
    <bsn>1</bsn>
    <timeout ref="selection-03"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-03">
    <bsn>1</bsn>
    <timeout ref="selection-04"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-04">
    <bsn>1</bsn>
    <timeout ref="selection-05"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-05">
    <bsn>1</bsn>
    <timeout ref="selection-06"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-06">
    <bsn>1</bsn>
    <timeout ref="selection-07"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-07">
    <bsn>1</bsn>
    <timeout ref="selection-08"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-08">
    <bsn>1</bsn>
    <timeout ref="selection-09"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <selection id="selection-09">
    <bsn>1</bsn>
    <timeout ref="selection-01"/>
    <wait>1</wait>
    <loop jump-timing="delayed">1</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-03" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-04" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-05" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-06" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-07" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-08" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-09" x1="0" y1="0" x2="0" y2="0"/>
    <select ref="playlist-10" x1="0" y1="0" x2="0" y2="0"/>
    </selection>
    <playlist id="playlist-02">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="sequence-01"/>
    </playlist>
    <playlist id="playlist-03">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-002"/>
    </playlist>
    <playlist id="playlist-04">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-003"/>
    </playlist>
    <playlist id="playlist-05">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-004"/>
    </playlist>
    <playlist id="playlist-06">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-005"/>
    </playlist>
    <playlist id="playlist-07">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-006"/>
    </playlist>
    <playlist id="playlist-08">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-007"/>
    </playlist>
    <playlist id="playlist-09">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-008"/>
    </playlist>
    <playlist id="playlist-10">
    <next ref="selection-01"/>
    <return ref="selection-01"/>
    <wait>0</wait>
    <autowait>0</autowait>
    <play-item ref="entry-009"/>
    </playlist>
    </pbc>
    </videocd>
    Quote Quote  
  2. 1
    As far as I can tell -- you've only got one real main menu, the <selection> with the id "selection-01".

    All the other selection-02 to selection-09 are superfluous and can (should!) be deleted. Furthermore, you should rewrite selection-01 as the following:

    <selection id="selection-01">
    <bsn>1</bsn>
    <loop jump-timing="immediate">0</loop>
    <play-item ref="segment-0000"/>
    <select ref="playlist-02"/>
    <select ref="playlist-03"/>
    <select ref="playlist-04"/>
    <select ref="playlist-05"/>
    <select ref="playlist-06"/>
    <select ref="playlist-07"/>
    <select ref="playlist-08"/>
    <select ref="playlist-09"/>
    <select ref="playlist-10"/>
    </selection>

    You should loop your video clip background menu indefinitely by using loop = 0.

    If you have a video clip as a background for a selection, you MUST use the jump timing as "immediate" otherwise you won't be able to enter an option until the clip finishes playing.

    Entering numbers 1 to 9 will go to the playlist-02 to playlist-10.

    2
    The "time codes" are in seconds. Thus 42min 53sec = 2573 seconds.

    3
    See number "1".

    Regards.
    Michael Tam
    w: Morsels of Evidence
    Quote Quote  
  3. draven1968,

    If all you want is a disc with one main video, a menu (that can be a video or a still) and possibly a video or still at the end saying, "The End" or "Please insert next disc", then I have a program that will easily generate the XML for you. All you do is give it a few parameters, such as a name for your disc, the root name of your video/still files, and your chapter numbers (by frame or hh:mms:cc timecode) and press a button and it creates your file. If you are interested, I could email it to you. Even if you want to write your own XML, it might be helpful for you to see how someone else structures the XML for their discs.

    Speaking of structure, the discs work as follows:

    At the main menu, if you wait 60 seconds, the main video automatically starts playing at the beginning. If you press play or next on the remote, the main video starts playing at the beginning. If you press a number key, play starts at the appropriate chapter number. During the play of any chapter, you can press next or prev to go to the next or previous chapter. At the first chapter, of course, prev takes you back to the main menu. At the last chapter, next takes you to the trailing video/still that tells you "the end" or "next disc". Also, during chapter play, you can press a number on the remote and it jumps to that chapter. Pressing return at any time takes you back to the menu.

    Anyway, if you are interested, let me know.

    - digvid
    Quote Quote  
  4. Member
    Join Date
    Aug 2001
    Location
    Australia
    Search Comp PM
    Thanks

    Micheal, for your advice for the XML i posted
    After investigating VCDimager and XML formats i was totally
    confused :/ , but after downloading and burning the DEMO VCD which demonstrated the potential of VCD, i got serious

    Thanks Again & ill try your suggestions for optimizing
    the XML code.

    Thanks
    Phil
    Quote Quote  
  5. Member
    Join Date
    Aug 2001
    Location
    Australia
    Search Comp PM
    Hi Digivid

    Thanks for your reply, i really appreciate it.
    Im very interested in that program you were talking about.
    What's it called ? as i have all the VCDimager and GUI tools
    downloaded from this site. Is it something you have written ?

    Thanks
    Phil

    Quote Quote  
  6. draven1968 -

    It is called "VCDig." I wrote it for my own personal use because I got tired of hand-coding XML code. I can email it to you if you like.

    - digvid
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!