This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
using:avsproxy [2010/04/13 19:58] meanadmin created |
using:avsproxy [2016/06/20 10:48] (current) mean |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== AvsProxy/VapourSynth proxy ====== | ||
- | ===== Avisynth ? ===== | + | ===== Avisynth? ===== |
- | avisynth is a powerful scripting language with plenty of plugins. The sad thing is that it is only available on windows. | + | Avisynth is a powerful scripting language with plenty of plugins. The sad thing is that it is only available on Windows. |
- | Avisynth3 will work on both windows and linux but is still very young. | + | More info at [[http://avisynth2.sf.net|avisynth2.sf.net]]. |
- | More infos here [[http://avisynth2.sf.net|avisynth2.sf.net]]. | + | |
- | ---- | + | ===== AvsProxy? ===== |
- | ===== AvsProxy ? ===== | + | |
- | Avsproxy is a small executable meant to be run on windows or under wine. It is to be compiled with Microsoft Visual C++ tools | + | AvsProxy is a small executable meant to be run on Windows or under Wine. It is to be compiled with Microsoft Visual C++ tools as Avisynth is C++. GNU C++ does not like VC++ at all. The good news is that Microsoft has a free version of VC++ called Visual Studio Express. |
- | as avisynth is C++. Gnu C++ does not like VC++ at all. | + | |
- | The good news is that microsoft has a free version of VC++ called Visual Studio Express. | + | |
- | AvsProxy, as the name says, is a proxy between avisynth and avidemux. | + | AvsProxy, as the name says, is a proxy between Avisynth and Avidemux. It will ask Avisynth frames and make them available on a socket interface so that Avidemux can read them. |
- | It will ask avisynth frames and make them available on a socket interface so that avidemux can read them. | + | |
- | + | ||
- | Only video is processed, there will be no audio whatever you do. | + | |
The syntax is simply | The syntax is simply | ||
- | avsproxy foo.avs | + | |
+ | //avsproxy foo.avs// | ||
or | or | ||
- | wine avsproxy.exe foo.avs (if you are running wine) | + | //wine avsproxy.exe foo.avs// (if you are running Wine) |
- | Note : | + | Note: |
- | * It works as well under 32 bits or 64 bits linux, with 32 bits or 64 bits avidemux, SMP or not. | + | |
- | * If you have error starting avsproxy, it means either your avisynth or avisynth-under-wine installation is incomplete. | + | * It works as well under 32 bits or 64 bits Linux, with 32 bits or 64 bits Avidemux, SMP or not. |
+ | * If you have error starting AvsProxy, it means either your Avisynth or Avisynth-under-Wine installation is incomplete. | ||
- | ---- | ||
===== Avidemux + AvsProxy ===== | ===== Avidemux + AvsProxy ===== | ||
- | Once you have started avsproxy, it is waiting on its socket to receive commands. | + | Once you have started AvsProxy, it is waiting on its socket to receive commands. Now we have to make Avidemux aware that it must read over that socket. |
- | Now we have to make avidemux aware that it must read over that socket | + | |
- | To do so, we will create a fake video file that must containe the following | + | There are two ways to do it |
+ | * Using a fake script. It must contain "ADAP" as first line, add a few lines of text afterward | ||
- | <code> | + | ADAP |
- | ADAP | + | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf |
- | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf | + | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf |
- | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf | + | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf |
- | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf | + | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf |
- | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf | + | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf |
- | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf | + | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf |
- | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf | + | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf |
- | lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf | + | |
- | <\/code> | + | |
- | Only the ADAP is important. The remaining text is just filler so that the file is not absurdly small. | + | * Using //File->Connect to AvsProxy// menu entry |
- | When reading such a file, avidemux will try to contact avsproxy over the socket. | + | |
- | + | ||
- | ---- | + | |
==== Example output ==== | ==== Example output ==== | ||
- | <code> | ||
- | fx@dave64 /tmp $ wine avsproxy.exe 2mn.avs | ||
- | AvsSocket Proxy, derivated from avs2yuv by Loren Merritt | ||
- | Loading Avisynth.dll | ||
- | Avisynth.dll loaded | ||
- | Env created | ||
- | Importing.. | ||
- | 23976023 / 1000000 | ||
- | Info | ||
- | Width :512 | ||
- | Height :384 | ||
- | Fps1K :23977 | ||
- | NbFrame :4592 | ||
- | Initializing WinSock | ||
- | WinSock ok | ||
- | Socket bound to port 9999 | ||
- | Waiting for client to connect... | ||
- | <\/code> | ||
- | Now avidemux connects after reading the fake file ... | ||
- | <code> | ||
- | Client connected. | ||
- | Received get info... | ||
- | Get frame 0 (old:4294901760) | ||
- | <\/code> | ||
- | This example is done on a 64 bits SMP system, and it works without problem. | + | fx@dave64 /tmp $ wine avsproxy.exe 2mn.avs |
+ | AvsSocket Proxy, derivated from avs2yuv by Loren Merritt | ||
+ | Loading Avisynth.dll | ||
+ | Avisynth.dll loaded | ||
+ | Env created | ||
+ | Importing.. | ||
+ | 23976023 / 1000000 | ||
+ | Info | ||
+ | Width :512 | ||
+ | Height :384 | ||
+ | Fps1K :23977 | ||
+ | NbFrame :4592 | ||
+ | Initializing WinSock | ||
+ | WinSock ok | ||
+ | Socket bound to port 9999 | ||
+ | Waiting for client to connect... | ||
- | ---- | + | Now avidemux connects after reading the fake file... |
+ | |||
+ | Client connected. | ||
+ | Received get info... | ||
+ | Get frame 0 (old:4294901760) | ||
+ | |||
+ | |||
+ | This example is done on a 64 bits SMP system, and it works without problem. | ||
===== Credits ===== | ===== Credits ===== | ||
- | Avsproxy is a derivative of avs2yuv by Loren Merritt | + | AvsProxy is a derivative of avs2yuv by Loren Merritt. |
+ | |||
+ | ===== See also ===== | ||
+ | |||
+ | [[http://avidemux.org/admForum/viewtopic.php?id=4397|Avisynth Proxy GUI]] for Windows(nbsp)(ndash) a graphical user interface for AvsProxy written by LoRd_MuldeR | ||
+ | |||
+ | ===== VapourSynth? ===== | ||
+ | |||
+ | VapourSynth is the next gen version of AviSynth. As a bonus, it is natively multiplatform. | ||
+ | As for Avisynth, a small proxy used, but this time there is a native GUI for it : vsProxy_gui. | ||
+ | |||
+ | Select the .vs file, and then click run. | ||
+ | |||
+ | VSProxy is using the same internals as AVSProxy, so as far as avidemux itself is concerned, VSPRoxy = AVSProxy. | ||
+ | |||
+ | On the avidemux side, select File->connect to avsproxy and you are good to go. | ||
- |