VideoHelp Forum




+ Reply to Thread
Results 1 to 9 of 9
  1. Member
    Join Date
    Nov 2003
    Location
    Montreal Beach
    Search Comp PM
    Hi, I'm looking for a guide on how to author multiple VCDs/SVCDs on a DVD-R. Anyone knows how? There are a lot of guides that explains how on Win, but I didn't found any for Linux.

    Thanks

    Yanik
    Quote Quote  
  2. I just succeeded in doing this with VCDs... I haven't tried it with SVCDs yet.

    The main thing you need to do is convert the sound from 44.1 khz samplerate to 48khz samplerate, because DVD players expect 48khz sound on a DVD. The video is fine in vcd format.

    Do the following for each mpeg that you've extracted from your vcds.

    demultiplex the mpeg file (see http://mpgtx.sourceforge.net/)

    Code:
    mpgtx -d file.mpg -b basename
    This gives you an m1v file holding the video, and an mp2 file holding the audio.

    convert the mp2 file to wav format (see http://www.mpg123.de/)
    Code:
    mpg123 -w file41.wav file.mp2
    upsample the wav file to 48 khz (see http://shibatch.sourceforge.net/)
    Code:
    ssrc --rate 48000 file41.wav file48.wav
    convert upsampled wav back to mp2 (see http://users.tpg.com.au/adslblvi/#tooLAME
    Code:
    toolame file48.wav file48.mp2
    then remultiplex the video and the new audio file...
    I'm using tcmplex which is part of the transcode toolset.
    You could also use mplex (part of mjpeg-tools) to do the same thing
    Code:
    tcmplex -m d -o file-DVD.mpg -i file.m1v -p file48.mp2
    I also wrote a shellscript to automate this process....

    Code:
    #!/bin/sh
    
    mkdir $1-tempdir
    cd $1-tempdir
    mpgtx -d ../$1 -b $1
    mpg123 -w $144.wav $1-0.mp2
    ssrc --rate 48000 $144.wav $148.wav
    toolame $148.wav $148.mp2
    tcmplex -o ../$1-DVD.mpg -i $1-0.m1v -p $148.mp2
    #rm *.mp2
    #rm *.m1v
    #rm *.wav
    cd ..
    #rmdir $1-tempdir
    This will leave a directory (name ending in "tempdir"). You can delete it when finished.

    After you've done this to each of the VCD mpeg files you want to use, you can then use DVDStyler to create a menu and burn the DVD.
    Quote Quote  
  3. Member mats.hogberg's Avatar
    Join Date
    Jul 2002
    Location
    Sweden (PAL)
    Search Comp PM
    Prob is, while VCD is already DVD compliant video, SVCD isn't. You do either have to reencode the SVCD video, or patch the header (like SVCD2DVDMPG does). Haven't seen a Linux tool for this, but it'd not be that hard to write one...

    /Mats
    Quote Quote  
  4. Originally Posted by mats.hogberg
    Prob is, while VCD is already DVD compliant video, SVCD isn't. You do either have to reencode the SVCD video, or patch the header (like SVCD2DVDMPG does). Haven't seen a Linux tool for this, but it'd not be that hard to write one...

    /Mats
    You know what? You're wrong, but I'm the idiot.

    I just realized that one of the files I put on to the DVD with the vcd mpegs was an svcd file. The thing is that I remembered having trouble converting some svcd files... but this svcd file had converted with no trouble and I had completely forgotten that it was svcd and not vcd.

    It worked! Mixed vcd and svcd movies authored under Linux work fine.

    Why patching of the header is not necessary in Linux
    I noticed that most of the guides for Windows require patching of the header. But the reason is that most Windows dvd authoring programs will choke on SVCD mpegs. In fact, many of the guides I have seen tell you to "unpatch" the headers in the VOB files after they are authored, but before burning them to DVDR.

    The guide that uses DVD-Lab for authoring says that patching is not required because DVD-Lab will accept the SVCD mpegs for authoring.
    http://dvdlab.net/dvdlab/tutorial/svcd.html says

    While it is true that SVCD frame size is not a standard for DVD, many players which play SVCD's will have no trouble to play such DVD as well. People realized this a while ago when they patched the first header of such non-standard mpeg file for the authoring tool to make believe it is a genuine DVD frame. Then before burning they patched the created vob's back.

    DVD-lab is much easier on restrictions than many of the other authoring tools. That means it will allow you to directly add a SVCD frame size movie to a DVD without any need of using patchers.
    So apparently dvdauthor (the Linux program) is like DVD-Lab (the Windows program), in that it doesn't require patching of the headers. The svcd movie plays just fine off of the DVDR in my Sony DVP-NS315.

    The NS315 will not play standard SVCDs (except with the TMPGEnc header trick)... but it does play SVCDs on DVDR!

    I'm very happy because I didn't know that I had already gotten svcd to dvd working under Linux.

    Here is the slightly modified shell script for doing svcd to dvd

    Code:
    #!/bin/sh
    
    mkdir $1-tempdir
    cd $1-tempdir
    mpgtx -d ../$1 -b $1
    mpg123 -w $144.wav $1-0.mp2
    ssrc --rate 48000 $144.wav $148.wav
    toolame $148.wav $148.mp2
    tcmplex -m d -o ../$1-DVD.mpg -i $1-0.m2v -p $148.mp2
    #rm *.mp2
    #rm *.m2v
    #rm *.wav
    cd ..
    #rmdir $1-tempdir
    Quote Quote  
  5. Member mats.hogberg's Avatar
    Join Date
    Jul 2002
    Location
    Sweden (PAL)
    Search Comp PM
    Yes, some authoring apps doesn't enforce standard. Didn't know DVDAuthor was one of them, even tho I use it regularly. That does however not alter the fact that SVCD video isn't DVD compliant.

    /Mats
    Quote Quote  
  6. I was probably wrong to say that you were "wrong".

    But the point is not whether it follows the DVD standard.... it simply doesn't, whether accomplished using Windows or Linux. Patching the headers won't make it standards compliant.

    The only way to reach the standard is to reencode the video, which is a waste of time if your DVD player can handle the video as it already is. I suspect that most DVD players can handle it.

    Of course, if you are producing something for mass consumption, then you want to follow all the standards.... but for just backing up your collection of SVCDs it's fine.
    Quote Quote  
  7. Member mats.hogberg's Avatar
    Join Date
    Jul 2002
    Location
    Sweden (PAL)
    Search Comp PM
    Originally Posted by spiritraveller
    Patching the headers won't make it standards compliant.
    No, of course not. It's just a way of fooling the authoring package (and the DVD player, I believed, but that's obviously not so!).

    /Mats
    Quote Quote  
  8. Member
    Join Date
    Sep 2005
    Location
    Vienna/Austria
    Search Comp PM
    Great idea! Based on the idea from spiritraveller I have written a little script that converts all given MPEG files to a ready-to-burn dvd-structure.

    The script is called svcd2dvd.sh and converts all given MPEG files, regardless of MPEG1, MPEG2, PAL, NTSC, 16/9, 4/3 and resolution. So you can mix VCD/SVCD or any MPEG file on one dvd and you even dont have to reencode the video!

    The script will not burn the dvd, just create a dvd-structure in a new created directory named "dvd". It will not create any dvd-menues, but you can skip the titles with the "next title" button on your dvd-player remote-control. (if you want a dvd-menu follow the instructions in the middle of the script beginning with "#Comment all following lines out...")

    You need the following tools installed on your linux-system:

    - mpgtx
    - ffmpeg
    - mplex (from 'mjpegtools')
    - dvdauthor

    Copy all MPEG files you want to burn on the dvd in one folder. chmod 755 the script und use it like this:

    ./svcd2dvd.sh "file1 foo.mpg" "file2 bar.mpeg" "file3.mpg" etc...
    (the titles on the dvd will created in the order you gave it to the script)

    svcd2dvd.sh:
    Code:
    #!/bin/sh
    #
    # Name: svcd2dvd.sh 
    # This script converts all given mpeg files to dvd-format
    #
    # Usage: ./svcd2dvd.sh "file1.mpg" "file2.mpg" "file3.mpeg" ...
    #
    # Needed tools: mpgtx
    #                     ffmpeg
    #                     mplex (from 'mjpegtools')
    #                     dvdauthor
    
    
    if [ -z "$1" ]; then
    echo "No files given."
    echo "Usage: ./svcd2dvd.sh \"file1.mpg\" \"file2.mpg\" \"file3.mpeg\" ..."
    exit 0
    fi
    
    for p in "$@";do
    
    clear
    echo "${p} demultiplex..."
    echo "------------------------------------------"
    mpgtx -d "${p}"
    mv chunk-0.m1v temp.mpv
    mv chunk-0.m2v temp.mpv
    mv chunk-0.mp2 temp.mp2
    
    clear
    echo "${p} convert audio..."
    echo "------------------------------------------"
    ffmpeg -i temp.mp2 -ar 48000 -ab 192 -ac 2 temp48.mp2
    
    clear
    echo "${p} multiplex video and audio..."
    echo "------------------------------------------"
    mplex -f 8 -o "${p}".dvd-format.mpg temp48.mp2 temp.mpv
    
    rm *.mpv
    rm *.mp2
    done
    
    clear
    echo "Completed. All \"*.dvd-format.mpg\" files ready for dvdauthor."
    
    
    #Comment all following lines out if you want to create your own dvd-menu with dvdauthor or a dvd-author gui like Q-DVD-Author or DVD Styler
    #You just have to author all generated files with the ending: ".dvd-format.mpg"
    
    
    clear
    echo "Creating dvd-structure..."
    echo "------------------------------------------"
    echo "<dvdauthor>" > dvdauthor.xml
    echo "<vmgm />" >> dvdauthor.xml
    echo "<titleset>" >> dvdauthor.xml
    echo "<titles>" >> dvdauthor.xml
    
    iMax=$#
    i=2
    
    for param in "$@";do
    
    echo "<pgc>" >> dvdauthor.xml
    echo "<vob file=\"${param}.dvd-format.mpg\" />" >> dvdauthor.xml
    
    if [ $iMax -eq 1 ];then
    echo "<post>jump title 1;</post>" >> dvdauthor.xml
    else
    iMax=$[$iMax+1]
    if [ $i -eq $iMax ];then
    echo "<post>jump title 1;</post>" >> dvdauthor.xml
    else
    echo "<post>jump title ${i};</post>" >> dvdauthor.xml
    i=$[$i+1]
    iMax=$[$iMax-1]
    fi
    fi
    echo "</pgc>" >> dvdauthor.xml
    
    done
    
    echo "</titles>" >> dvdauthor.xml
    echo "</titleset>" >> dvdauthor.xml
    echo "</dvdauthor>" >> dvdauthor.xml
    mkdir dvd
    dvdauthor -o dvd/ -x dvdauthor.xml
    rm *dvd-format.mpg
    rm dvdauthor.xml
    clear
    echo "Completed. Burn the content of the new \"dvd\"-directory."
    exit 0
    Thanks to spiritraveller for the idea. Any improvement suggestions will be welcome.

    regards
    Darko

    PS: sorry for my english, it is not my native language
    Quote Quote  
  9. Member
    Join Date
    Sep 2005
    Location
    Vienna/Austria
    Search Comp PM
    Sorry, but the board software recognises the video-tools and includes the links to the tools right into the code. Just remove all
    Code:
    ""

    and
    Code:
    "
    Code:
    "
    in the script.
    Quote Quote  



Similar Threads

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