Digital Digest
  • About the Author
  • Email
  • Disclaimer
  • Essential Links
  • Essential Tools
  • Ethics, Piracy & Philosophy
    Convert DVDs with Flask Mpeg
  • Extracting the DVD
  • Using FlasK Mpeg
  • Resizing in Flask
  • Convert DVDs with Mpeg2avi
  • Extracting the DVD
  • Using Mpeg2avi
  • Resizing in Mpeg2avi
  • Advanced DVD Conversion
    Convert DVDs with DVD2AVI
    Nandub SBC Encoding
  • Using Nandub
  • Using DivX 4.0
  • Audio / Video Editing
    Advanced VirtualDub
    Digital Video Capture
  • Video Capture: Part 1
  • Special FX Tutorials
  • Morphing Buffy Style
  • Star Wars LightSaber Effects
  • The Exorcist Effect
  • Other Video Formats
    VCD & SVCD Guides
  • DVD to VCD
  • AVI to VCD
  • Multimedia Guides
  • DivX with Subtitles
  • Mutilanguage DivX
  • Multimedia DivX Pt 1
  • Multimedia DivX Pt 2
  • Appendix / Tips
  • Aspect Ratio's
  • Resizing DVD's
  • DivX Quality Guide
  • Bicubic vs Bilinear Resizing
  • Deinterlace Method Test
  • Video Comparisons
  • WM8 Quality
  • Basic DVD Structure
  • NTSC / PAL & Interlace
  • AVI 4GB Limit
  • Key Frames & Delta
  • Monitor Setup Guide
  • FAQ's
  • Questions Answered
  • Downloadable PDF Guides
  • Glossary
  • Word Definitions
  • My Guides Translated
  • Go Here
  • Direct DVD to DivX from CD
    (the new trick)

    There is no such thing as a perfect solution but this one comes pretty close. For those of you who have small hard disks this is an effective way to convert a DVD to DivX directly from the CD! Its been made possible by a non-official "hacked" version of Flask Mpeg. Its called FlasKMpeg Decss 0.594h1. This version actually has some improvements on the old FlasK Mpeg. For one it seems to have fixed the aspect ratio problems for NTSC movies.

    Other great features are that it can outline in white where the cropping will be on you image rather than just deleting it as the old Flask did. This feature is useful because before you didn't know how much of the image you may be loosing. Also, the slider bar above the image allows you to select any part of the movie, so instead of getting some crud dark scene that is no good for resizing, you can check anywhere you like to see if it is cropped correct and in the best aspect ratio!

    Before I start here are the things you will need:

    DivX ;-) Mpeg-4 Codec 3.1alpha (or greater)

    Fhg Radium MP3 codec
    Advanced Bitrate Calculator 1.8
    Flask Mpeg DeCSS 0.594h1 (or greater)
    VobDec (without GUI)

    If you haven't installed the Radium MP3 and the DivX codec's you may as well do so now. Remember to run the "run me first" option on the DivX install too or it will not be installed correctly.

    Flask Mpeg has two main modes:

    Open File: This will open any mpeg file and try to convert it to whatever you want.
    Open DVD: This is a special mode that reads a DVD in the same way a DVD player would. This means you will be able to select to convert with subtitles; it will also make sure it only rips one angle in a multi-angle DVD. This prevents repeated scenes spoiling your movie!

    IMPORTANT NOTE!!: There have been reports about DVD drives overheating when forced to read at a much slower pace than single-speed DVD. Flask DeCSS has been tested on a few DVD-Rom's without problem. And I've never heard first hand of a drive being damaged in this way, but you might want to keep an eye on your drive the first time you transfer straight from a DVD-ROM. If you decide to try this program it is your own choice, I take no responsability for any damage you may do to your hardware by using this program! You have been warned!



    Basically just run SmartRipper but don't try and rip anything with SmartRipper, just run it and hit the minamize button. Bingo! Your drive is authenticated!



    Select 'Open DVD' and find the .IFO file for your movie.Up will pop something like the picture below:

    Select the movie Duration, in this case 1.51.53. This will usually be the first one in the list, but you can usually see from the length which one to choose.

    Next choose the language. Obviously they cannot ALL be English so choose the first and encode a minuet of the film and listen to it. If its not English choose the next in the list, and the next and the next etc., until you find the correct one. Or open the DVD in a DVD player and see the order they are in, usually it will be the same.

    Lastly we have subtitles. I don't usually select any because I don't want them on my movie. If you choose subtitles then you will not be able to turn them off, they will ALWAYS be on your movie! Flask is not always able to do subtitles correctly, so again, you will have to try it and see. There are other ways to get subtitles, though; why not check out my subtitle ripping section for this.

    Now Press FlasK this DVD!



    This is the only annoying bit :). Up pops a dialouge box asking for the decryption key to the DVD.

    We must use the command line utility Vobdec (which, by the way, is what 99% of GUI rippers use as their ripping engine). Anyway, its not that hard. Make a folder on your main hard drive (usually C:) and call it vobdec. Then copy the Vobdec.exe file into it and we are ready to go:

    Go to Start Menu > Run and type to bring the DOS Prompt up ie:

    Type: CD\ and press Enter. Type: CD vobdec and press Enter.

    Now, cut and paste the following line into the DOS prompt and press Enter:

    vobdec d:\video_ts\vts_01_1.vob

    Note that the green d is the name of the drive you have the DVD in. Its usually d: but change it to whatever your DVD drive says. After searching vobdec will find the key and give a number like this:

    E1 69 03 06 00

    Just type them into the boxes below.

    Its easy to find any key with vobdec because all you do is type the location of the vob file and it will decrypt it. Often the main movie will be on the vts_01_1.vob file. But if it is not, just change the vob name to whatever vob file you wish to find the key. To illustrate, if you wanted to find the key to the vob file vts_02_1.vob then you paste into the DOS Prompt:

    vobdec d:\video_ts\vts_02_1.vob

    If you wanted to check out the second in the list you put:

    vobdec d:\video_ts\vts_02_2.vob

    When you have a key, encode a 30 second clip of the movie. If you see bright green mess on the screen and / or Flask crashes you have been given the wrong Key! You have just been unlucky. Keep trying different vob files on the DVD and writing down the key's, eventually one of them should do the trick.



    Select Global Project options.


    Frame Size: In the Width and Height sections you can put the size you wish your final video to be. If you wish to crop your movie too you can select the 'Show Output Pad' at the bottom right. For detailed information on how to resize a movie in Flask read section 2nd of this guide: "resizing the video".

    Time Base (fps): Flask will normally choose the best framerate for your movie. All PAL movies (European) are 25 frames per second (fps). So if you know your movie is PAL make sure your movie is set to 25. All North American movies are NTSC which means they are 29.97 fps. BUT because of the way they are encoded to DVD most will appear Flask will choose 23.976 fps. This is usually correct so don't change it. Flask DeCSS sometimes chooses PAL instead of NTSC so be careful. And as always test a short clip before you do a whole movie to make sure its ok.

    iDCT Options: Just leave these alone its overkill to use IEEE and the quality will not look better.

    Video Structure: Do not check the deinterlace button unless you really need it because the video will decode very slow. For a full explanation of the interlace problem, check out my article: "Video Formats: NTSC & PAL / Telecine" in the appendix section.

    Deinterlace video
    For this kind of Deinterlacer blend gives best quality. The Threshold setting is basically how much it blurs problem lines. The lower the number the more it blurs it. If the interlace problem is really bad you should use a setting of 1-5 instead of 20. If its not very bad you could use 15-20.

    If Flask (or you) select the Time Base of 24 or 23.976 fps then there will be the extra option called 'Reconstruct progressive images'. This option is grayed out in the above picture. Flask automatically tries to detect the real framerate inside the DVD. This setting is not an IVTC (inverse telecine); it just forces Flask Mpeg to 24fps progressive mode, avoiding potential interlace problems if the movie is 24 but the playback is set to 29.976.

    So you want to know what you should do with them, right?! For PAL movies, I have found that there is no point selecting anything but 25fps and you will not need 'reconstruct progressive images'. In fact, you will almost always get jerky playback if you select it. For NTSC I'm not sure, I think the general opinion is to let Flask choose or ignore it.



    On to the Audio tab always select 'Decode audio' if you want sound. For DVD's un-check the 'same as input box' and select 48000 Hz (just to make sure you have the right setting). For Mpeg-1 you'd use same as input or 44100Hz. Never use 44100Hz with DVD's or you will get audio synchronization problems.

    If you just want to copy the DVD's AC3 audio across instead of converting it use the 'Direct Stream copy' option.



    This section deals almost exclusively with resizing. Never use 'Nearest Neighbouring' unless you are not resizing the picture because the quality is crud. Contrary to popular belief Bilinear looks just as nice as Bicubic, except it is twice as fast. JASC (makers of Paint Shop Pro) recommend Bilinear for shrinking images and Bicubic for enlarging them. But use what you think looks best.

    Keep aspect ratio: PAL users should always tick this box unless you know you don't need it. This is even more important with Widescreen DVD's. If you use NTSC DVD's the image may become stretched slightly wrongly. If you notice this uncheck the 'keep aspect ratio' and work out the ratio yourself. See the article"Resizing DVD's with Correct Aspect Ratios" in my appendix.

    Crop & Letterboxing: All the settings for cropping and letterboxing the DVD can be entered here or the output pad can be used. For detailed information on how to resize a movie in Flask read section 2nd of this guide: "resizing the video".



    Choose where you want to save your final movie. The audio save option is grayed out because you are encoding the video with audio in it. If you selected 'Direct Stream Copy' on the previous Audio Tab then you could say where you wanted it saved.


    Compiling Time: This speaks for itself. If you check the 'Compile whole file' box it will convert the whole DVD. If you uncheck it you can say how many seconds to encode. Obviously 60 is one minuet and 120 is two mins. The frames to compile is basically the same thing. There are 25 frames to one second of video for PAL and either 23.976 or 29.970 for NTSC. Using these options you can encode a small clip to test the quality etc. I recommend you shut down and restart Flask just before you encode a long movie to reduce chances of it crashing.

    Search Size: This searches the DVD for the audio. As it says, if you have problems make the number bigger. If all else fails and you cannot find audio you can try one of the other methods I explain in the section:"DVD Audio Extraction".

    Miscellaneous: Like the thing says, it'll shut down the computer if it can when its done :)

    That's it you're nearly ready to encode! Lets set the output options...



    Go to Options > Output Format Options.

    And up will pop the box shown below:

    Features and Future Features: Flask has an option to 'Split files after' a certain amount of seconds. This is useful if you want a VCD to be split in half so that one part can be put on a single CD. I don't use it for Divx because I prefer to split them in VirtualDub. To use it, just work out how many seconds there are in the movie. If the movie is 131 minuets then multiply 131 by 60 and you have the seconds (7860 seconds) then just divide that in half and you have your split number (3930).

    Enable Watermark: This lets you use any bitmap picture you want as a logo. So you can make a little picture saying made by 'smiffy' or whatever you like. The X and Y boxes let you say where the logo will appear on the movie. Then you have three options on how it will look. It can "Copy", which just sticks the bitmap on top. It can "Mask" which lets part of the image become transparent. Or it can "Alpha" which makes the whole image transparent. I do not recommend using logos because they increase the filesize of the picture and degrade the quality.

    Select Codec: These are the important buttons! Hit the top one and the following box appears:

    Choose the Divx ;-) MPEG-4' Low or High Motion codec from the drop down list depending on what you want. For getting the best setting you can look at my article: "Best Divx Quality & Bitrate Guide" in the appendix. But in short, use a bitrate calculator to determine the best bitrate to put in here. I'm using the 'Advanced Divx Bitrate Calc! Version 1.5'. It seems to give a more reliable amount and will not make a movie larger than you intend.

    Just put the DVD movie length in minuets in the top box. Select the audio bitrate you want to use (for Flask this will almost always be 96 kBit/s Stereo). Then it will tell you the amount to use! In the above picture the calculator says 581 so you would move the 'Data Rate slider bar to 581 instead of the 750 it is in the above picture. As for keyframes, I tend to use a keyframe every 1 second, but you can use one every 10 seconds to saves more memory. Then set the 'Crispiness to 75% and you are done!

    Ok. Back to our previous dialogue box. Press the bottom 'Select Codec' button to select the audio compression.

    Up pops this box:

    Choose 'MPEG Layer-3' at 96 kBit/s 48,000Hz. You can choose what you like here, 128 or 190 etc., if you prefer, but there is no need it will just make the file size larger.

    There are two problems with converting the audio to Mp3. First, the audio must be 48,000Hz. Some sound cards cannot handle the format and so it may play the audio back dull and buzzing. Secondly, because of the dynamic range of a DVD the audio level will sound very low and may not be loud enough for you. Check out the section "Dull Audio, Normalization & Samplerates" for a detailed explanation and a solution to all this. In short, you can choose PCM audio instead of mp3 and add it later. So here is where you would do that. Instead of choosing Mp3 choose PCM 48,000Hz 16bit, Stereo. No other audio format will work in Flask without potential problems!

    Warning! PCM Wav audio is uncompressed and creates a seriously large movie file 1-2GB! If you are making a single CD rip you will probably be okay using PCM audio. If you are making a 2 CD rip, your file may be so large that VirtualDub will not open it and Windows will not play it! This is annoying because Divx Mpeg4 can be larger than 2GB and would normally probably work okay at anything upto 4GB. But Flask seems to create a file that is corrupted at these sizes! So, the PCM Wav is an advanced option that should be treated with great respect! If you are a beginner just use Mp3!



    Once you have finished setting up your movie just go to Run > Start Conversion.

    Up will pop the following screen.

    If you are going to leave your computer alone to compress then select Highest in the 'Priority settings'. This will hog ALL CPU power to make compression faster. This CPU option only really works if other programs are running when Flask is though! When using idle or normal, you will be able to do basic tasks while it is compressing, such as checking Email etc. Be careful not to do too much because if your computer crashes because of another program then you'll need to start over again. Unchecking the 'Display output' box will also help speed things up a little. But if you are using a Dual Processor computer system just leave it on normal otherwise it slows it down.

    That's it! In 15-20 hours on a 500Mhz machine you will have a perfect DivX movie ;).

    Duplication of links or content is strictly prohibited. (C) NICKY PAGE 2000