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