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
  • AVISynth Frameserving with FlasKMpeg

    Before we get started with this guide it would be helpful if you read through the AVISynth Guide first so you understand just what AVISynth is and what it can do. That guide also explains how to install AVISynth, which you will also need to do :).

    What is Frameserving anyway? Frameserving is using one utility to decode or read a video file and then, after it has been decoded, sending it straight to any other video editing or encoding application. For example, we could decode a DVD Vob file using Flask Mpeg and then use AVISynth to 'frameserve' it to another utility such as TMPGEnc and convert it to a SVCD or VCD. Or we could frameserve it to VirtualDub and add filters and effects before we encoded it into another format such as DivX and so on. Frameserving is the holy grail of the video converting scene because it allows us to pick and choose what encoders we want to use without the need to convert our video file into a huge uncompressed AVI format first!

    Of course some formats and some utilities just cannot support frameserving, so we still are limited to what we can do. For now I will describe how to use the AVISynth plugin for Adobe Premiere to frameserve from FlaskMpeg into almost any other application.

    Before I start here are the things you will need:


    AVISynth Premiere Plugin

    Note: the plugin I'm using is the one found on but the official AVISynth one should work just as well in most cases and can be obtained at


    Installing the Plugin

    After you have installed AVISynth all you need to do to make Flask Mpeg Frameserve is to copy and paste the plugin (encircled in red above) into the same folder as Flask Mpeg. This plugin was designed for Adobe Premiere so if you want to use it with that too just rename it to and copy it into your Adobe Premiere's plugin's folder.


    Frameserving from Flask Mpeg

    It is technically possible to use AVISynth and an application such as VirtualDub to convert a Vob into DivX or something like that. But I think to try is a bit crazy, because it wasn't really designed for that. You will almost always run into serious problems if you try. Flask Mpeg, however, is another story. Flask has a tried and tested with DVD reading and can convert almost any DVD video including audio, multiangle titles, subtitles, keeping correct aspect ratios, cropping and so on. In short, Flask Mpeg is probably our best bet for decoding a DVD if we wish to frameserve it to be used by another application such as TMPGEnc etc.

    Ok, we have put the AVISynth Plugin into the Flask folder. I'm assuming you have ripped and decoded the Vob files and IFO files to your hard disk like have explained in my Flask Mpeg guide. So imagine you were going to convert a DVD using Flask Mpeg as normal. I have repeated the process breifly here so just skim through it:



    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. 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!



    Select Global Project options.


    Frame Size: set the Width and Height.

    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. As always test a short clip before you do a whole movie to make sure its ok.



    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). Some utilities require you use 44100Hz so its tough noogie, you may have audio synchronization problems because of this depending on the application you are frameserving to.



    This section deals almost exclusively with resizing. Never use 'Nearest Neighbouring' unless you are not resizing the picture because the quality is crud.

    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".



    Normally you would now be setting your output format options.

    But because we are frameserving we do not need to do this so ignore that stuff. Instead go to 'Select Output Format' and choose 'Link to AVISynth':

    And then start converting as usual:

    Then up will pop the following box telling you what the file that Flask is frameserving out is called:



    If you recall my previous AVISynth guide you will know what I'm talking about next. Open notepad and paste exactly what AVISynth has just told us into it, namely:


    This is the name of the video file that is being frameserved from Flask Mpeg. The name videoout0 will be whatever you named your output in Flask, but thats not important because the pop-up box has told us exactly what to write :).

    Save it!

    Okay, save the file as whatever name you like but put the extension. *.avs on it instead of .txt or .doc. I'm calling my text file video.avs. So when I choose Save in notepad I will type the filename "video.avs" make sure you use quotation marks (" ") to force notepad to save it as avs instead of txt. Again, it will not work if the text file is called video.avs.txt or video.avs.doc or something like that.

    Thats it! Open the file we just made called: video.avs in any encoder or utility that can open AVI files! For example, open it in TMPGEnc and create a SVCD or VCD. TMPGEnc gives the highest quality and most configurable settings of any SVCD or VCD encoder I have ever seen - and its free! Just remember that instead of opening the AVI just open the *.avs file you made instead :).

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