+-----------------------------------------------------------------+ | | | Premiere Video Server Plugin v.93 | | --------------------------------- | | | | Homepage: www.videotools.net | | Contact : edwinvaneggelen@softhome.net | | | +-----------------------------------------------------------------+ New: -Audio support for the Wrapper server mode. -external audio encoder input for the multiplexor (Useful for CCE) -Added AC3 multiplexor support. -Bug fix: problems with settings are solved in Premiere. -Automatic default settings detection for each application. (Now random access is automatically enabled in Premiere as default) -If the Timeout function is selected, the time out is enabled after that 2 frames are read. This prevents the problem that the plugin times out when the user is setting the properties in TMPGEnc. -post processing support for VCD. -Help link in settings menu. -Added check for audio encoder. Now you will get a warning if you are not exporting 44100Hz audio when the audio encoder is enabled. -GUI fixes (e.g. location of window) -Audio only fix for MPEG mediator Introduction: ------------- The video server plugin enables you to convert Premiere or FlasK to a frame server. This is very useful if you want to code your edited video from Premiere or FlasK with an external (MPEG)-encoder e.g. TMPGEnc or Cinemacraft encoder. This is done by creating a "fake" AVI-file. The created "fake" AVI can be loaded into the encoder as a normal AVI. This resolves the problem of making a time and space consuming intermediate AVI. If you load the "fake" AVI-file into an encoder, the aviwrap.dll codec makes a connection with the plugin. When an encoder wants to read audio or video, this request is passed to the Premiere/FlasK plugin. Then the plugin fetches the audio/video and sends this to the encoder. We call this inter-process-communication. Recommended server mode for encoders: Encoder Server mode ----------------------------------+-------------------------- -Microsoft Media Encoder v8 | Wrapper, RAW Audio -Cinemacraft SP v2.62 | Wrapper -Cinemacraft SP v2.50 | Wrapper -TMPGEnc (several versions) | Wrapper -VirtualDub v1.4d | Wrapper -NERO encoder plugin v1.2 | Wrapper * -LSX encoder v3.5 | Wrapper, RAW Audio or AVISynth -Ulead DVD Movie Factory (editor) | Wrapper * If you run into problems please use RAW Audio, I have performed many succesful encodings with the NERO MPEG plugin, but occasionally NERO gives an error at the end of the encoding. Installing the Plugin: ---------------------- Please DELETE all old plugins and old versions of bbMPEG from the plugin directory. (the old v0.90 version is called Cm-avisynth.prm). Otherwise strange things will happen! I recommend that you read the section "Filenames" before starting the installation process. The installation of the plugin can be done by copying the plugin into the correct dir for the application (see below). When the Premiere/FlasK/Xmpeg/DVDx is started, it detects the plugin automatically. As the plugin is the server, you also need to install a client. The installation procedure for the client (Wrapper codecs) can be found in the readme.txt present in \aviwrpr directory. Premiere: copy the Cm-videoserver.prm file into the plugin dir of premiere Xmpeg: Rename the cm-videoserver.flask to .Xmpeg and copy it into the working dir of Xmpeg Flask: copy the cm-videoserver.flask in the program directory of FlasK DVDx: copy the Cm-videoserver.prm file into the working dir of DVDx Postprocessing: If you want to use additional post processing, install the representing files in the same directory as the plugin : -audioencoding (wav2mp.exe) -multiplexing/cutting (bbmpeg.dll, *.ini) -pulldown (pulldown.exe) Filenames: Several programs use different extensions. Premiere and DVDx use the .prm extension while FlasK uses the .flask extension. And to make things worse Xmpeg uses the Xmpeg extension. So the files Cm-avisynth.prm, Cm-avisynth.cm.prm, Cm-avisynth.cm.flask, Cm-avisynth.flask and Cm-avisynth.Xmpeg are all the same. I put 2 files in my package which are the same, one with the .flask extension and one with the .prm extension. This makes it possible to copy the files right into the directory without renaming them first. And to make the extension problem even worse, AVI2MPG uses the .dll extension. So you can find bbMPEG with the extensions .flask, .dll , .prm and .Xmpeg. Please make sure that you DELETE all old files before installing a new version... So use the .prm extension for both the Video Server plugin and bbMPEG in Adobe Premiere/DVDx. And when using FlasK/Xmpeg please use the .flask extension for both the Video Server Plugin and bbMPEG. Do I need AVISynth ? -------------------- NO, The Premiere Video Server plugin is a standalone program. It does not need AVISynth to export the data (So you do not need to install it). The plugin is able to export the data to AVISynth but I only recommend that you use AVISynth if you want to process the video in the export chain with a script language. AVISynth is something like Adobe Premiere but without a graphical user interface, it uses a script language as user input. Please note that not all encoders are able to read AVISynth-files. The following encoders are NOT able to read AVISynth-files: CCE SP v2.62, Windows Media Encoder v8. Although I was able to encode AVISynth-files in TMPGEnc on all my tested systems, I am getting reports that some people are not able to code the AVISynth-files in TMPGEnc on some machines. Why did I develop the AVI-Wrapper mode ? ---------------------------------------- Many new encoders are not able to read the AVISynth-files. This is because of a fundamental problem with this method of reading of the AVI-files. This is the reason why I have developed a new server mode that is able to connect with any encoder. (It works with all tested encoders 'till now). What is this YUY/YV12/RGB stuff ? --------------------------------- As you probably know, colors are built with three basic colors, namely Red (R), Green (G), Blue (B). Normally on a PC, a pixel is built with those three colors. So for every pixel an intensity for R, G and B is stored. As a result you need at least 24 bits per pixel (8 bits per color component). White is built with R=255, G=255 and B=255 and black with R=0 G=0 B=0. This seems to work fine, but your eye is less sensitive to colors than to intensity. So what you actually need is a higher detail for intensity than for color (giving the best perceptual quality for an amount of data). Since the introduction of color TV they have used this perceptual property of the eye. What they did is transform the RGB to the YUV domain. In the YUV domain the Y is the intensity and UV the color components. The trick is that you can store Y for every pixel and UV for every 2 (YUY) or 4 (YV12) pixels. RGB24/RGB32 (4:4:4) (4:2:2) <-> YUY2 (4:2:0) <-> YV12 ------------------------------------------------------------------------------- RGB RGB RGB RGB YUV YUV YUV YUV YUV Y YUV Y YUV Y YUV Y RGB RGB RGB RGB YUV YUV YUV YUV YUV Y YUV Y Y Y Y Y RGB RGB RGB RGB YUV YUV YUV YUV YUV Y YUV Y YUV Y YUV Y RGB RGB RGB RGB YUV YUV YUV YUV YUV Y YUV Y Y Y Y Y Why is editing in YUV better than in RGB ? ------------------------------------------ First I assume that you use a digitised/compressed source (e.g. DV, MPEG...). This source is stored in YUV format (MPEG=(4:2:0)=YV12). If you use ordinary software on a PC, the format is converted into the RGB domain. This takes some time (9 multiplications and 3 additions per pixel) and due to some implementation issues it degrades the quality. Then you can cut, edit and do processing on this RGB format. When you are done with that, you probably want to encode it. Then this RGB is transformed into YUV again and the stream is coded. So to give you an example when you are using FlasK: Decode the MPEG-file to YUV (4:2:0) format. Calculate the missing UV components because it is transformed to YUV (4:4:4). Then it is transformed to RGB. After that, the scaling and de-interlacing will be performed. This format is then fed to an encoder. And inside this encoder the RGB is transformed to RGB -> (4:4:4) -> (4:2:0). Therefore I have extended the Premiere interface so that it is also able to export YUV (4:4:4), YUV (4:2:2), RGB24 and RGB32. So if you are using the latest version of FlasK (Xis versions) the processing chain is in the YUV format and is able to export it with my plugin in this YUV format. This is the main reason why it is so much faster. It does not do all of these transformations, which are completely unnecessary. Unfortunately not all encoders can take YUV as input. To date, I have found that CCE SP, Windows Media encoder vx.x and many codecs (e.g. DV/DIVX/MPEG4/HUFFYUV) can work with YUV input. If you have a license for encoders that do not support YUV processing, I would suggest you to e-mail the authors for support and ask if they would implement it. It is very simple to implement this feature (it only has to skip some processing). I have already e-mailed the author of TMPGEnc (did not get any response) about it, but I can imagine that it is hard for him to implement it, because all this processing is done in RGB. But if you want to have a faster TMPGEnc, you can send him an e-mail to find whether he is willing to implement YUV input or not. RGB24 RGB32 YV12 YUY Ligos x x TMPGEnc x x CCE SP x x x bbMPEG x x DIVX x x x x HUFFYUV x x x x About the dual pass. -------------------- Dual/multipass encoding enables you to encode video with high quality. Because you can specify the exact bit rate that the encoder must use, you can use your disc space (CD-R) completely. Personally, I always use dual/triple pass encoding to completely fill an 80 min disc. With this method I am able to fit 1 hour of high quality progressive video on single 80 min CD-R discs (SVCD). Split function with TMPGEnc: ---------------------------- With this function you are able to split your video stream while encoding (so there is no post processing). So you can create 2 VCD streams in one go. (No need for splitting of the encoding anymore, just drag the files into e.g. NERO). Please read the splitguide on my site (www.videotools.net) How to use the benchmark for FlasK ? ------------------------------------ Options->Select Output Format->Video Server Options->Output Format Options->General(tab)Enable benchmark Options->Global project->General->Compile time ~100sec (A longer compile time is more accurate. You need a minimum of 500frames for reliable results). Run->Startconversion Now a file c:\benchmark_results.txt is written. Please fill in the requested data for comparison. You can send me the results if you like. Guides: ------- There are many good guides on how to use this plugin. You can find a guide and some good links on my site (www.videotools.net). The site www.rmvos.nl has the latest info about this plugin most of the time. So maybe you should start looking there first. Tested operating systems: ------------------------- I have personally tested it on Windows 98, NT and Windows 2000. So this should be no problem. Tested programs: ------------------------- Premiere v5.x (RGB only) Premiere v6.x (RGB only) FlasK v0.x (RGB only) multipass FlasK v0.6 (RGB only) multipass Xis x.x (RGB,YUY,YV12) DVDx v1.6 (RGB only) Links: ------------------------------------------------------- Window Media Encoder v8 (free download) http://www.microsoft.com/windows/windowsmedia/download/ Cinemacraft Encoder SP v2.62 (trial version) www.doom9.net TMPGEnc (free download) www.tmpgenc.com VirtualDub (free download) www.virtualdub.org BUGS: ----- If you find a bug, please send me an e-mail so that I am able to fix it. Known problems: --------------- -DVDx 1.6 will crash at 99%. This happens if you try to export more frames than there actually are in the DVD-movie. So I recommend that you lower the number of frames, so that the final video will be 30sec shorter than the DVD. (You only skip the "credits"). To date I have not able to create a workaround for this. Hopefully the author of DVDx will fix this soon. -If the proxy server of virtual dubb is enabled. The AVIroutines from windows will not work correctly as discribed in the readme of virtualdubb. As a result the plugin is not able to create the AVIfile correctly. Please run the proxyoff.reg file from the virtualdubb package. -VirtualDub does not recognise the bits per sample of the audio correctly. Turn on "Full processing mode" in the audio menu. Audio conversion->Precision->16bit. It is possible to enable a bug workaround for this, but as CCE SP 2.62 crashes with this workaround it is not enabled by default. Please read the documentation on my site. -TMPGEnc is not able to read AVS-scripts correctly Disable the DirectShow filters in TMPGEnc when using AVISynth. You can find out on my site how to do this. -Encoder/player will not read the AVISynth-scriptfile ? I noticed that many "new" programs do NOT use the Windows functions to read the AVI-files. If they do NOT use those standard Windows functions the AVISynth- files will not work. Known programs that do NOT use those routines are CCE SP v2.62, Windows Media Encoder vx.x Furthermore, I heard that there are problems with Windows Media Player 7. -You can NOT serve to the Media Player v6.4 in Windows 98 while using the AVI- Wrapper mode. If you do open the created AVI in the Media Player using W98, it will result in a crash of your system. This is not a bug of the AVI-Wrapper but more than a shortcoming of the Media Player using W98. The problem is as follows: when the codec is getting the message to decode a frame, the Media Player sets the operating system in such a mode that no other application gets any CPU time. Because the codec gives a request to the server to decode a frame and waits 'till this is ready, it looks like your system hangs. The Media Player disables all other applications (and the server) and this frame will never be decoded and the Media Player waits forever.............. To date, I have noticed that ONLY the Media Player does this while running under W98. So all tested encoders work fine while running W98. Hope this helps.... Greetings, Edwin van Eggelen www.videotools.net edwinvaneggelen@softhome.net