VLC HowTo/Make a DVD

From VideoLAN Wiki
Revision as of 19:20, 14 January 2006 by H2g2bob (talk | contribs) (How to/Create a DVD moved to How to Create a DVD)
Jump to navigation Jump to search
This page describes how to create a DVD to play in your DVD player from video files stored on your computer. Other "how to" pages


DVD Formats

To make a DVD, you first have to change your movie file into the DVD format, which is MPEG 2. This format is:

PAL Format

Europe and elsewhere

  • Encapsulation (mux): mpeg ps up to 10.08 Mbps total for everything.
  • Video:
    • Format mp2v (MPEG-2 Video), up to 9.8 Mbps
    • Resolution of 720x576 (Full D1), 704x576, 352x576 (Half D1), 352x288 (same as VCD)
    • 25 frames/sec
  • Audio:
    • Up to 8 audio tracks in the following formats. At least one track must be in a52, mp2a or raw.
      • mp2a Standard MPEG Audio.
      • a52 AC3 Dolby Digital
      • DTS Audio
      • PCM Uncompressed (raw)
    • Format: 48000 Hz, 32 - 1536 kbps

NTSC Format

Used mainly in USA

  • Encapsulation (mux): mpeg ps up to 10.08 Mbps total for everything.
  • Video:
    • Format mp2v (MPEG-2 Video), up to 9.8 Mbps
    • Resolution of 720x480 (Full D1), 704x480, 352x480 (Half D1), 352x240 (same as VCD)
    • 29.97 (30) frames/sec
  • Audio:
    • Up to 8 audio tracks in the following formats. At least one track must be in a52 or raw.
      • mp2a Standard MPEG Audio.
      • a52 AC3 Dolby Digital
      • DTS Audio
      • PCM Uncompressed (raw)
    • Format: 48000 Hz, 32 - 1536 kbps


Encoding the Video with VLC

  • Format a file into a .mpg, mpeg ps encapsulation, mp2v video (a good bitrate is 4 mbps).
  • For audio, mp2a 2-channel 192K works well. If you need more channels, use a52 and increase the bitrate; budget 64 or 96K/channel (2 channels 192K, 6 channel 384K,...
  • A DVD format file should be 720x480 resolution for NTSC, or 720x576 resolution for PAL.
  • Set the --sout-transcode-fps to match your target, using 30 for NTSC, 25 for PAL.
  • Set the --sout-ffmpeg-keyint to 16 (possibly not needed, but I use this and it works)
  • Use the --aspect-ratio switch to control things. For instance, a Webcam or framegrabber with 640x480 or 320x240 resolution has an --aspect-ratio of 4:3. You need to specify this so that the transcoding doesn't make the output video "fat", stretch things to fit the wider DVD width. Standard DVD "letterbox" has an aspect ratio of 16:9.

Here is an example. The .asf source movie is a 640x480 frame grabber. You'll need to type this at the command prompt (windows) or terminal (linux), all on one line. You may also need to give the full path to vlc (ie, replace vlc with "C:\Program Files\VideoLAN\vlc\vlc", or wherever you installed vlc)

  • In the command I included --stop-time=20, which tells VLC to only encode the first 20 seconds. This is so you can then view the output and make sure it looks OK. To encode the full thing, just use the same command without the --stop-time=20.
  • This command goes all on one line. Important bits (which you should edit) are shown in bold.

vlc "C:\Movies\Your File.asf" :sout='#transcode{codec=mp2v,vb=4096,acodec=mp2a, ab=192,scale=1,channels=2}:std{access=file, mux=ps,url="C:\Movies\Your File Output.ps.mpg"}' --aspect-ratio="4:3" --sout-transcode-width=720 --sout-transcode-height=480 --sout-transcode-fps=30 --sout-ffmpeg-keyint=16 --sout-ffmpeg-strict-rc --stop-time=20

Explained:

  • channels=2 - needed because mp2a can only cope with 2 channels, it's not needed (or wanted) if you used a52
  • aspect-rato="..." - to avoid stretching to image, set this to the ratio of your source file.
  • If you use PAL, don't forget to change 720, 480 and 30!
  • sout-ffmpeg-keyint - number of keyframes (this is to do with the encoding. Inclusion will help the quality of the output file)
  • sout-ffmpeg-strict-rc helps compatibility
  • stop-time delete this to encode the whole thing


Alternative - This is a slightly different way to do the encoding:

vlc C:\Movies\DiveModules1to3_2Mbps.asf :sout=#transcode{vcodec=mp2v,vb=4096,scale=1,acodec=mp2a, ab=192,channels=2}:duplicate{dst=std{access=file,mux=ps,url="C:\TEMP\Dive1_3_out.mpg"}} --aspect-ratio "4:3" --sout-transcode-width 720 --sout-transcode-height 480 --sout-transcode-fps 30 --sout-ffmpeg-keyint 16 --sout-ffmpeg-strict-rc


DVD ISO Creation and Burning

Windows

This example shows how to create a DVD using DVDHive and CDBurnerXP Pro. These are good, free tools, and you will need to install both of these.

  • Launch DVD Hive
  • Select Options, type in a name you want for the video
  • Select Add, then browse to the .mpg file and select it.
  • Select Hive -- it will create a .iso image.
  • If the resulting ISO is < 4.4GB you should be OK. Otherwise reencode with VLC, knocking the bitrate down a bit (the 4 mbps mp2v/192k mp2a works fine, with a full-length video). Also note that some versions of windows (mainly 98) can't cope with files over 4GB (xp is fine).
  • Launch CDBurnerXP
  • A "New Compilation" window opens -- pick the first choice, which says "...and/or burn an ISO image..."
  • In the upper left corner of the main window, select File -- Write Disc From ISO File
  • "Write ISO Image" screen opens.
  • "No ISO Image" -- click the "..." button next to it, and browse to where you put the .ISO (DVD-Hive defaults to putting it in c:\program files\DVD Hive\ISO).
  • "Writing Speed" -- select the minimum value specified for your media and DVD drive. For example, my DVD supports 8X write, but I often use 4X write media, so I change it to say 4X.
  • "Write Disc" -- click it, and the image will be burned.

Linux

You can burn DVDs in linux using dvdauthor. It's quite tricky to use that on it's own, so you should download a front-end - try Q DVD Author or DVD Styler.