----------------------------------

Title : DVD ripping 102 v.01
Author : Eggy the ripper
Date : 11-7-2001

----------------------------------

This new tutorial covers two of the most interesting software you can find, flask .6 preview and XMPEG 4.1c. They are basically the same, except XMPEG builds up on some of the features not included in flask .6 including the ability to use double pass (DIVX4) and ability to control luminescence (very nifty :)

Intro : This is just a simple tutorial of how to rip DVDs. This is by no ways complete and assumes you already know a little about the subject. Here are some really nice sites to get you started :

http://www.digital-digest.com/
http://www.divx-digest.com

==============================================================================

Tools : Smartripper 2.36, Virtual dub 1.4.7, FlaskMpeg 0.6 preview, Xmpeg 4.1c, DivX ;-) codec, thunder.mism, Radium MP3 codec, and a subtitle fix for flask .6 preview

Hardware : Pentium class PC (the faster the better), DVD drive


===============
Ripping the DVD
===============
As you all know, the motion pictures companies have invested a good amount of money in encrypting their DVDs. Not soon after, some computer geek found an agorithm to crack the code, hence starting the DVD ripping craze that has hit the net. Some of the older DVDs did not incorperate the encryption, so for those few, you can simply copy the .vob files to your hard-drive. The next step will cover ripping the DVDs to your hdd.

1. Start SmartRipper.exe. The proggie should autodectect the video files and check them for you.

2. Select the files you want to rip. This can be done by checking the Chapters. For multi-episode disks, each episode is usually divided into titles, which needs to be ripped seperately. Note that not all DVDs have the same structure, so you might have to experiement. For most movies, the chapters should already be selected for you.

3. Specify a target for your files to be stored in the "Target" box. The .vob files can be as large as 5+ Gigs, so make sure you have enough space. If your vob is bigger then 4 Gigs, click "Settings" and up the max file size.

4. Click the "Start" button. This process typically takes around 20-25 min for a full movie depending on your hardware.

==================
Converting to Divx
==================
Once you have all your vobs ripped, you can start encoding...

0. Move the thunder.mism plugin into the flask .6 folder, this will enable you to open multiple .vob files as one logical file. This feature was present in flask .594, but has not appeared yet in the preview version. Also, if you are doing subtitles, move the files in the subtile's fix zip into your flask dir and replace the files.

1. Startup Flask MPEG

2. In the folder containing your rips, you should now have a bunch of files. We are only interested in the .vob and .ifo files. Open up the .ifo file by clicking "file->open media" and choosing the appropriate .ifo file. A menu will pop up asking you to choose an audio (and subtitle) track. Choose whatever you want contained in your video and click "Flask this DVD".

3. Click "Options->Select Output format" and choose "OpenDML AVI output".

4. Click "Options->Global Project Options". In the "Video" tab, you will see a bunch of options. Here you can choose the frame size. Notice that most DVDs today are made in 4:3 dimensions (including widescreen), so whatever width you choose, be sure that that your height=width*3/4. You could probably stray from this a little, but you'll notice your video will seem kinda skewed if you go overboard with it. There are certain dimensions that will cause your Divx file to have an excess of interlacing (which occurs when the proggie has to "guess" on the video output). Even at "720x480" (DVD video's resolution) this sometimes occurs. You will have to test out the resolutions yourself to see which is best. When I encode, i usually use "352x288", "512x384", or "640x480", which minimizes most of the interlacing. The "Time Base (fps)" should be set to your DVD's fps, which can be either "23.976"(PAL) or "29.97"(NSTC). Leave the iDCT option to "Auto Select" and select "Deinterlace video" only if you want improved deinterlacing (this will substantially improve picture quality if your video has an interlaced structure, but unfortually requires ALOT of processing power). If you do choose to deinterlace, leave the Threshold to the standard 20 and click "Blend instead of interpolate".

5. Select the "Audio" tab. Check "Decode audio" and check "Same as input". It is extremely important for you to encode your audio the same frequency as specified on the DVD, otherwise you may encounter syncing problems (Video doesn't not match audio).

6. Select the "Post Processing" tab. Check "HQ Bicubic Filtering". You can also choose to crop your video (optional) by unchecking the "No crop" and pushing "Show Output Pad".

7. Select the "Files" tab. Choose the path of your Divx file in the "Output Video file" box.

8. Select the "General" tab. Here you can choose to encode the whole file or encode only a few seconds of it. It is always recommend that you test your encoding before you start on the whole file. Note that "Compile whole file" will encode all the video/audio in your selection (described below).

9. Press "OK".

10. Now you should be back to the video player. Click "delete all" to remove the default option of encoding the whole file. Move the slider to the position you want to start encoding and click the left boundary "L". Now move the slider to the end of the portion you want to encode and click the right boundary. The area between these two boundaries will now be highlighted blue. Click "Add" to add your selection to the job queue. You can choose to encode different sections of the file, and flask will automatically create a different file for each job in the job queue (very handy for encoding multiple episodes).

11. Click "Options->Output Format Options".

12. You can choose any codec you like. I usually pick the "DivX ;-) MPEG-4 Low Motion" codec because it produces some really nice results. Click "Configure". You can change the Keyframe (which is basically the indexing of the video for fast foward/reverse) and control the Smoothness and Data Rate of your file. Your smoothness should be set to 90-95%. The data-rate will depend on how big you want the file. Anything above 1000 kbps is good, but you may want to adjust this if you want to fit the movie on a CD. There are many tools that you can use to do this, including a handy one called "Bitrate calculator".

13. Select your audio codec. Choose PCM "44.1 khz, 16-bit" OR PCM "48 khz, 16-bit" depending on your vob file. Note you should not convert from 48k->44k and vice versa, this can lead to some syncing problems in your video. Press "OK" to get back to the main menu.

14. Click "Run...->Start conversion". You may get a prompt saying your audio output sample does not match the DVD's, so you will have to go back to step 13 to change it. You can choose to view the output video if you want, but leave it off for faster processing. The conversion typically takes around 4-5 hours on a 850 Mhz computer for a 2 hour movie, so be patient ^_^.

15. After you're done, you will have a nice little Divx file that you will have to compress to MP3. We did not do this in the previous step because flask has a habit of unsyncing audio when doing on the fly audio compression. Open VirtualDub.exe.

16. In VirtualDub, click "File->Open Video file..." and choose your newly created DIVX file.

17. Click "Video->Direct stream copy".

18. Now click "Audio->Full processing mode". Then "Audio->Compression...". Choose the "MPEG Layer-3" codec. Select the bitrate and frequency that matches what you set for your DIVX file. Now click "Volume.." and choose 200%-300% to normalize your audio. Press ok and go to the main menu.

19. Click "File->Save as AVI". Create a new AVI file and press ok. It will only take 10-30 min to compress the whole file.

20. You should now have a nice DIVX file to share with your friends. Enjoy ^__^.

- humm, guess i didn't have time to discuss XMpeg. The tutorial for this will be in a later tutorial, sayonara

- END -