home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 2002 October / JOY141_CD2.iso / Data / Sharewares / Graphisme / Nimo50Build8.exe / MiscStuff / Readme.txt < prev    next >
Text File  |  2001-08-11  |  11KB  |  207 lines

  1. +-----------------------------------------------------------------+
  2. |                                                                 |
  3. |                    Premiere Plugin readme                       |
  4. |                    ----------------------                       |
  5. |                                                                 |                       
  6. |  Homepage: www.videotools.net                                  |
  7. |  Contact : edwinvaneggelen@softhome.net                         |
  8. |                                                                 |
  9. +-----------------------------------------------------------------+
  10.  
  11. Introduction:
  12. -------------
  13. Together with the video server plugin and AVIsynth/AVIWrapper codec,
  14. you can use Premiere or FlasK as a frame server. This is very useful
  15. if you want to code your edited video from Premiere or FlasK with an
  16. external (MPEG)-encoder e.g. TMPGEnc or Cinemacraft encoder. This is
  17. done by creating a "fake" AVI file. The created "fake" AVI can be
  18. loaded into the encoder as a normal AVI. This resolves the problem of
  19. making a time and space consuming intermediate AVI. If you load
  20. the "fake" AVI file into an encoder, the avisynth.dll/aviwrap.dll 
  21. makes a connection with the plugin. When an encoder wants to read 
  22. audio or video, this request is passed to the Premiere/FlasK plugin.
  23. Then the plugin fetches the audio/video and sends this to the encoder.
  24. We call this inter-process-communication. 
  25.  
  26. Installing the Plugin:
  27. ----------------------
  28. Just copy the Cm-avisynth.cm.flask in the FlasK dir. If you
  29. want to use it within Premiere just rename it to Cm-avisynth.cm.prm
  30. and move it to the plugin dir. When the FlasK/Premiere is started,
  31. it detects the plugin automatically.
  32.  
  33. Note that you should enable random access in the plugin, when using
  34. it in Premiere: v5.x/v6. This can be done with the settings button, present
  35. in the export dialog. Plugin Settings->(tap)General->Random access (checkmark on).
  36.  
  37. Why did I develop the AVIWrapper mode ?
  38. ---------------------------------------
  39. Many new encoders are not able to read the AVISynth files. This is 
  40. a fundamental problem with this kind of reading of the AVI files.
  41. This is the reason why I developed a new server mode that is able
  42. to connect with any encoder. (It works with all tested encoders 'till now).
  43.  
  44. Because the AVIWrapper mode is not able to export audio at the moment, it
  45. is still necessary to route the audio to AVISynth or save it to a WAV file.
  46. If you route the audio to AVISynth, you are able to encode the generated AVI
  47. (AVIWrapper) in e.g CCE SP v2.62 (video only) and read the generated AVS (AVISynth) file
  48. in e.g. TMPGEnc and code it to audio. 
  49.  
  50. Note: You can run these applications simultaneously.
  51.  
  52. Encoders that only work with the AVIWrapper mode:
  53.  
  54. -Microsoft Media Encoder Vx.x
  55. -Cinemacraft SP v2.62 
  56.  
  57. What is this YUY/YV12/RGB stuff ?
  58. ---------------------------------
  59. As you probably know, colors are built with three basic colors, namely
  60. Red (R), Green (G), Blue (B). Normally on a PC, a pixel is built with those three colours.
  61. So for every pixel an intensity for R, G and B is stored. So with 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.
  62. This seems to work fine, but your eye is less sensitive to colours than to intensity. So
  63. what you actually want is, a higher detail for intensity than for colour (given the best
  64. quality for an amount of data).
  65.  
  66. Since the introduction of colour TV they used this perceptual property of the eye. What they
  67. did is transform the RGB to the YUV domain. In the YUV domain the Y is the intensity and
  68. UV the colour components. The trick is that you can store Y for every pixel and UV for every
  69. 2 (YUY) or 4 (UV12) pixels.
  70.  
  71.   RGB24/RGB32            (4:4:4)           (4:2:2) -> YUY2      (4:2:0) -> YV12 
  72. -------------------------------------------------------------------------------
  73.  RGB RGB RGB RGB      YUV YUV YUV YUV       YUV Y  YUV Y       YUV Y  YUV Y 
  74.  RGB RGB RGB RGB      YUV YUV YUV YUV       YUV Y  YUV Y       Y   Y  Y   Y  
  75.  RGB RGB RGB RGB      YUV YUV YUV YUV       YUV Y  YUV Y       YUV Y  YUV Y 
  76.  RGB RGB RGB RGB      YUV YUV YUV YUV       YUV Y  YUV Y       Y   Y  Y   Y 
  77.  
  78.  
  79. Why is editing in YUV better than in RGB ?
  80. ------------------------------------------
  81. First I assume that you use a digitised/compressed source (e.g. DV, MPEG...). This source
  82. is stored in YUV format (MPEG=(4:2:0)=UV12). If you use ordinary software on a PC, the format
  83. is converted into the RGB domain. This takes some time (9 multiplications and 3 additions
  84. 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 MPEGfile to YUV (4:2:0) format. 
  85. Calculate the missing UV components because it is transformed to YUV (4:4:4). Then it is transformed
  86. to RGB. After that, the scaling and deinterlacing will be performed. This format is then fed to an 
  87. encoder. And inside this encoder the RGB is transformed to RGB -> (4:4:4) -> (4:2:0).
  88.  
  89. Therefore I extended the Premiere interface so that it is also able to export YUV (4:4:4), YUV (4:2:2), RGB24
  90. and RGB32. So if you are using the latest version of FlasK (Xis versions) the processing
  91. chain is in the YUV format and is able to export it with my plugin to this YUV format. This is
  92. the main reason why it is so much faster. It does not do all these kind of transformations, which are completely unnecessary. 
  93.  
  94. Unfortunately not all encoders can take YUV as input. Untill now I noticed that CCE SP, Windows
  95. Media encoder Vx.x and many codecs (e.g. DV/DIVX/MPEG4/HUFFYUV) can do that.
  96. If you have a license for encoders that does not support YUV processing, I would suggest
  97. you to e-mail the authors for support and ask if they would implement it. It is very simple
  98.  to implement this feature (It only has to skip some processing). I already e-mailed the
  99. author of TMPGEnc (did not get any response) about it, but I can imagine that it is hard for
  100. him to implement it, because all this processing is done in RGB. But if you want to have a
  101. faster TMPGEnc, you can send him an e-mail whether he is willing to implement YUV input or not.
  102.  
  103.            RGB24    RGB32  YV12   YUY 
  104. Ligos        x        x  
  105. TMPGEnc      x        x
  106. CCE SP       x        x            x
  107. bbMPEG         x        x
  108. DIVX         x        x      x     x
  109. HUFFYUV      x        x      x     x
  110.  
  111.  
  112. About the dual pass.
  113. --------------------
  114. Dual/multipass encoding enables you to code video with a high quality.
  115. Because you can specify the exact bit rate that the encoder must
  116. use, you can use your space (CD-R) disc completely. Personally, I
  117. always use dual/triple pass encoding to completely fill my 80 min disc.
  118. With this method I am able to fit 1 hour of high quality progressive
  119. video on single 80 min CD-R discs (SVCD)
  120.  
  121. Split function with TMPGEnc:
  122. ----------------------------
  123. With this function you are able to split your video
  124. stream while encoding (so there is no post processing). So you
  125. can create 2 VCD streams in one go. (No need for splitting
  126. of the encoding anymore, just drag the files in e.g. NERO)
  127.  
  128. Please read the splitguide on my site (www.videotools.net)
  129.  
  130. How to use the benchmark for FlasK ?
  131. ------------------------------------
  132. Options->Select Output Format->Video Server 
  133. Options->Output Format Options->General(tab)Enable benchmark
  134. Options->Global project->General->Compile time ~100sec
  135.          (A longer compile time is more accurate. You need a minimum of 500frames for
  136.           reliable results).
  137. Run->Startconversion
  138. Now a file c:\benchmark_results.txt is written. Please fill in the 
  139. requested data for comparison. You can send me the results if you like.
  140.  
  141. Guides:
  142. -------
  143. There are many good guides on how to use this plugin. You can find a guide 
  144. and some good links on my site (www.videotools.net). The site www.rmvos.nl
  145. has the latest info about this plugin most of the time.
  146. So maybe you want to start looking there first.
  147.  
  148. Tested operating systems:
  149. -------------------------
  150. I have personally tested it on Windows 98, NT and Windows 2000.
  151. So this should be no problem.
  152.  
  153. Tested programs:
  154. -------------------------
  155. Premiere v5.x         (RGB only)
  156. Premiere v6.x         (RGB only)
  157. FlasK v0.x            (RGB only)
  158. multipass FlasK v0.6  (RGB only)
  159. multipass Xis x.x     (RGB,YUY,YV12)
  160.  
  161. Note: due to the fact that the Xix FlasK version uses old header files, some versions do
  162.       NOT export YUV correctly. Hopefully he updates his header files soon.
  163.  
  164.        
  165. BUGS:
  166. -----
  167. If you find a bug, please send me an e-mail so that I am able to fix it.
  168.  
  169. Limitations:
  170. ------------
  171. Currently the AVIWrapper mode is not able to export audio. Hopefully, I am
  172. able to implement this in the future (Let me know if you think it's interesting).
  173. For me, this feature is not very useful because I always save the audio to WAV 
  174. and code it with WAV2MP.exe, or route the audio to AVISynth and code the audio in TMPGEnc. 
  175.  
  176. Known problems:
  177. ---------------
  178. -TMPGEnc behaves strangely when using the AVS scripts (e.g. audio is not working).
  179.  Disable the DirectShow filters in TMPGEnc when using AVIsynth. You can find out
  180.  on my site how to do this.
  181.  
  182. -Encoder/player will not read the AVIsynth scriptfile ?
  183.  I noticed that many "new" programs do NOT use the Windows functions to read
  184.  the AVI files. If they do NOT use those standard Windows functions AVIsynth will
  185.  not work. Known programs that do NOT use those routines are CCE SP v2.62,
  186.  Windows Media Encoder Vx.x 
  187.  Furthermore, I heard that there are problems with Windows Media Player 7.
  188.  
  189. -You can NOT serve to the Media Player v6.4 in Windows 98 while using the AVIWrapper mode.
  190.  If you do open the created AVI in the Media Player using W98, it will result in
  191.  a crash of your system. This is not a bug of the AVIWrapper but more than a shortcoming
  192.  of the Media Player using W98. The problem is as follows: when the codec is getting the  message
  193.  to decode a frame, the Media Player sets the operating system in such a mode that no
  194.  other application gets any CPU time. Because the codec gives a request to the
  195.  server to decode a frame and waits 'till this is ready, it looks like your system hangs.
  196.  The Media Player disables all other applications (and the server) and this frame will never  be decoded and the Media Player waits forever..............
  197.  
  198.  Untill now, I noticed that ONLY the Media Player does this while running under W98.  So
  199.  all tested encoders worked fine while running W98.
  200.  
  201. Hope this helps....
  202.  
  203. Greetings,
  204.    Edwin van Eggelen
  205.    www.videotools.net
  206.    edwinvaneggelen@softhome.net
  207.