Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 10th May 2015, 11:37   #1  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Universal Avisynth Installer [2021-01-19]

This is a repository containing several Avisynth versions and the necessary batch file to install/uninstall them.

The screen shot below shows the menu system and details of the included Avisynth versions:




Unpack the archive to a location of your choice and follow the setup instructions below (instructions are also in the batch file):
Code:
::  ########################## Start Configuration #########################

::   The variable "AVS_SRC_DIR" must be set according to the location of
::   this batch file.

::   The simplest way to have this up and running is to copy the "AvisynthRepository"
::   directory to a location of your choice (avoid "Program Files" or "Program Files (x86)")
::   and create a shortcut to the "setavs.cmd" batch file in the root of "AvisynthRepository".

::   If you want to run the batch file from a different directory
::   (e.g. a directory to which the "PATH" environment variable points),
::   remove the "%~dp0" and use a fully qualified path to the source directory.
::   Example: "set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository"
set AVS_SRC_DIR=%~dp0

::   Default plugin directories
::   If you leave them blank, the respective "plugin" directories within
::   the "AvisynthRepository" source directories will be used.
set PLUGDIR32=
set PLUGDIR64=

::   Additional plugin directories (works only with Avisynth+)
::   If you leave them blank, only the default plugin directories (see above)
::   will be used.
set PLUGDIR32PLUS=
set PLUGDIR64PLUS=


::  **IMPORTANT:
::  If you have customized any of the above directories and their names contain
::  special characters such as '&', '(' or ')', enclose the variable and path
::  in double quotes and use the escape character '^' before the special character(s).
::  
::  Example 1:
::  set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::  
::  Example 2:
::  set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"

::  ########################### End Configuration ##########################
Note:
If you already have an older version of the Universal Installer:
Overwrite "setavs.cmd", the files in the "AVSPLUS*" and "Tools" directories with the new versions.


Sometimes old installations of Avisynth may leave behind orphan directories and/or registry entries that could interfere with the new install. It's usually a good idea to clean up before using this installer (don't forget to make a backup of the plugins you need):

- Delete "C:\Program Files (x86)\AviSynth" and subdirs (just an example, your path to Avisynth may differ)
- Delete these registry keys:
"HKEY_CURRENT_USER\Software\Avisynth"
"HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth"
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Avisynth" (only on 64 bit OS)


Download ("UniversalAvisynthInstaller*.7z" on the download page)


Recent changes:

2021-01-19
Added Avisynth+ 3.70 (r3382) (32/64 bit + XP compatible versions).
Removed 3.6.1 and 3.6.2 Test versions

Last edited by Groucho2004; 19th January 2021 at 07:48.
Groucho2004 is offline   Reply With Quote
Old 10th May 2015, 14:38   #2  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,351
Many
filler56789 is offline   Reply With Quote
Old 10th May 2015, 16:58   #3  |  Link
Sparktank
47.952fps@71.928Hz
 
Sparktank's Avatar
 
Join Date: Mar 2011
Posts: 940
This is great!
I was curious about this getting updated, too.

With everything updating lately, I'd like to give different things a go.

Thanks for the update.
__________________
Win10 (x64) build 19041
NVIDIA GeForce GTX 1060 3GB (GP106) 3071MB/GDDR5 | (r435_95-4)
NTSC | DVD: R1 | BD: A
AMD Ryzen 5 2600 @3.4GHz (6c/12th, I'm on AVX2 now!)
Sparktank is offline   Reply With Quote
Old 11th May 2015, 04:37   #4  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Muchas gracias!
manolito is offline   Reply With Quote
Old 16th May 2015, 05:46   #5  |  Link
minaust
Registered User
 
Join Date: Nov 2007
Posts: 185
HI Groucho2004!

Thanks a lot – this is exactly what I've been looking for. Now to just get it to work properly. As it is, it works now – sort of.

My systems: Both - Win7 Pro, 64-bit. One has Avisynth+ 64-bit only. It works properly. The other, the problem system had Avisynth 2.58 istalled with installer. Upgraded by uninstalling it and installing ver 2.6 RC (?). I uninstalled that and set up your package. I entered “setavs plus64” and I had a fully functional 64-bit encode chain.

Code:
video = DGSource ("Test Clip.dgi", fieldop = 0, resize_w = 768, resize_h = 576).
\ColorMatrix (hints = true)
audio = NicAC3Source ("Test Clip T82 2_0ch 48KHz 192Kbps DELAY 0ms.ac3", Channels = 2)

AudioDub (video, audio)
ColorYUV (levels = "TV->PC")
Virtualdub 64-bit, x264 and x265 were all happy with it.

Shifting to 32-bit avisynth builds - no go. None of them. 32-bit Vdub threw an error – “AVI Input Filter error: (Unknown) (80040154)”. If I delete the two avisynth dlls entirely, I get the exact same error.

Drop back and punt – a one line script - version () - still no go, but avsmeter is happy with that (and with colorbars() which gives insanely high frame rates - but I think I know why.). Avsmeter also properly identifies the avisynth build. I was even able to encode version() with x264 and play the script in mpc-hc.

Anyway I decided to let avsmeter try the real script. He throws the error:
Code:
AVSMeter 2.0.2 (x86)
AviSynth 2.60, build:Mar 31 2015 [16:38:54] (2.6.0.6)

Script error: there is no function named "DGSource"
Call it an educated guess, but I think the problem may be either an old registry entry that was never cleared, or a registry entry that was not properly set.

Any ideas on how to make the 32-bit builds work? (And work with Virtualdub.)
minaust is offline   Reply With Quote
Old 16th May 2015, 14:27   #6  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Updated the package as follows (see first post for details):

Moved the registry entry for the plugin directory/directories to from HKLM to HKCU. This should fix the issue reported above by minaust. I tested this on XP64. Let me know if there are problems with Win7/8.

Added an option to specify custom plugin directories for 32 and 64 Bit versions of Avisynth. Note that if you use the custom option, all 32 Bit versions of Avisynth will use the same plugin directory. This could lead to problems with v2.6 plugins in combination with a 2.5 Avisynth. So, you need to know what you're doing.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 16th May 2015, 19:13   #7  |  Link
minaust
Registered User
 
Join Date: Nov 2007
Posts: 185
Quote:
Originally Posted by Groucho2004 View Post
Updated the package as follows (see first post for details):

Moved the registry entry for the plugin directory/directories to from HKLM to HKCU. This should fix the issue reported above by minaust. I tested this on XP64. Let me know if there are problems with Win7/8.
Improvement - 64-bit is still 100%, 32-bit is still no go with virtualdub, but works with everything else including MPC-HC. I cado encodes with x264 and x265 - just no vdub.

Last edited by minaust; 16th May 2015 at 20:39.
minaust is offline   Reply With Quote
Old 16th May 2015, 21:22   #8  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by minaust View Post
Improvement - 64-bit is still 100%, 32-bit is still no go with virtualdub, but works with everything else including MPC-HC. I cado encodes with x264 and x265 - just no vdub.
No idea what this could be. Anyway, I would probably start with a thorough cleanup:

Search all your drives for avisynth.dll and devil.dll. Delete all of them (obviously not the ones in the "AvisynthRepository" directory ).

Search your registry for the strings "plugindir2_5" and "plugindir+". Delete the corresponding keys.

Also, post your customized batch file (to pastebin or similar).
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 17th May 2015, 00:12   #9  |  Link
minaust
Registered User
 
Join Date: Nov 2007
Posts: 185
Quote:
Originally Posted by Groucho2004 View Post
No idea what this could be. Anyway, I would probably start with a thorough cleanup:

Search all your drives for avisynth.dll and devil.dll. Delete all of them (obviously not the ones in the "AvisynthRepository" directory ).
Did that before my first post. All I found then the aforementioned "legit" files.

Quote:
Search your registry for the strings "plugindir2_5" and "plugindir+". Delete the corresponding keys.
Ditto. Just the entry "setavs" put there. What I did find was interesting. After my first post I installed, one at a time, avisynth 2.6 RC whatever and avisynth+ 64-bit. I searched for "plugindir2_5" each time and found they were in two different places. The 32-bit install was:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth]
@="C:\\Program Files (x86)\\AviSynth"
"plugindir2_5"="C:\\Program Files (x86)\\AviSynth\\plugins"
"initialplugindir"="C:\\Program Files (x86)\\AviSynth\\plugins"
Meanwhile, the avs+ 64 did this:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="C:\\Program Files (x86)\\AviSynth+"
"plugindir2_5"="C:\\Program Files (x86)\\AviSynth+\\plugins64"
"plugindir+"="C:\\Program Files (x86)\\AviSynth+\\plugins64+"
I kludged the existing script to handle that and it worked, but no better than your new script, which is more elegant. Mine was a kludge.

Quote:
Also, post your customized batch file (to pastebin or similar).
Dropbox link.

The only problem now is 32-bit virtualdib doesn't work with any of the 32-bit builds, whereas the 64-bit virtualdub does work with the plus64 build. Now I can do 32 and 64-bit encodes just fine. as a test I wrote a batch file that does a 64-bit encode then immediately followed by a 32-bit encode of the same script, courtesy of AvisynthRepository.

Last edited by minaust; 17th May 2015 at 00:25.
minaust is offline   Reply With Quote
Old 17th May 2015, 09:36   #10  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by minaust View Post
After my first post I installed, one at a time, avisynth 2.6 RC whatever and avisynth+ 64-bit.
Did you uninstall them before you used the batch file?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 18th May 2015, 01:00   #11  |  Link
minaust
Registered User
 
Join Date: Nov 2007
Posts: 185
Quote:
Originally Posted by Groucho2004 View Post
Did you uninstall them before you used the batch file?
Absolutely. Also told the 2.6 uninstaller to kill the plugin folder registry entries.
minaust is offline   Reply With Quote
Old 18th May 2015, 07:32   #12  |  Link
minaust
Registered User
 
Join Date: Nov 2007
Posts: 185
Quote:
Originally Posted by Groucho2004 View Post
Did you uninstall them before you used the batch file?
Of course. As a matter of fact, I've just done some registry hacking, and now I've put myself in the opposite situation -32 bit vdub works and 64-bit does not. I accomplished this by installing 2.6 and NOT uninstalling it. I just went to syswow64 and deleted avisynth.dll and devil.dll. Then I modded the batch file to change the way it handled reg entries, only changing where in the registry the plugindir2_5 entry was, and where it pointed.

I can still do 64-bit encodes, everything except vdub works. Just the opposite of before. Something in the Windows 7 registry is being set by the installer that's different between XP and Win 7. Meanwhile, I'd really like to know what makes Virtualdub different from everything else in known space.
minaust is offline   Reply With Quote
Old 18th May 2015, 15:45   #13  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by minaust View Post
32-bit Vdub threw an error – “AVI Input Filter error: (Unknown) (80040154)”.
I've tried the whole thing on Windows 8.1 64 Bit and I also get this error with 32 Bit VDub. I Installed ffdshow, Xvid, tried all kinds of suggestions, no go.
Everything else works, VDub64, AVSMeter 32/64. And, as already mentioned, no problem on XP64.

Anyone who might be able to shed some light on this problem?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 19th May 2015, 11:18   #14  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
I think I found the problem. I'll make a new package later.


@minaust
Try this new batch file.
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 19th May 2015 at 12:05.
Groucho2004 is offline   Reply With Quote
Old 20th May 2015, 00:29   #15  |  Link
minaust
Registered User
 
Join Date: Nov 2007
Posts: 185
Quote:
Originally Posted by Groucho2004 View Post
I think I found the problem. I'll make a new package later.


@minaust
Try this new batch file.
Sir, you may now take a bow. Well done!
minaust is offline   Reply With Quote
Old 20th May 2015, 00:42   #16  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by minaust View Post
Sir, you may now take a bow. Well done!
Great, thanks for confirming.
Registry redirection seems to work differently in newer versions of 64 Bit Windows. Therefore one has to directly write to the "Wow6432Node" keys. Apparently this only concerns programs that don't use the native Avisynth API but rather VfW like VDub.

I'll make a new package tomorrow.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 20th May 2015, 05:26   #17  |  Link
minaust
Registered User
 
Join Date: Nov 2007
Posts: 185
Quote:
Originally Posted by Groucho2004 View Post
I'll make a new package tomorrow.
Excellent. Will it work in 32-bit Xp? Xp ain't dead yet, as you well know, despite Microsoft's best efforts to kill it.

(Before anybody makes a smart-alec post, I know "plus64" won't work!)
minaust is offline   Reply With Quote
Old 20th May 2015, 08:56   #18  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by minaust View Post
Will it work in 32-bit Xp?
Yes, any Windows from XP (possibly even 2K) onwards.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 20th May 2015, 09:49   #19  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Updated the repository.
  • Fixed problem with 32 Bit Avisynth versions on 64 Bit OS
  • Moved all registry stuff into the batch file.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 20th May 2015, 17:26   #20  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Thanks very much Groucho...

Quote:
Originally Posted by Groucho2004 View Post
Moved all registry stuff into the batch file.
Since I do need the old AviSynth.reg file separately from the SetAVS.bat (installing LAVFilters screws up the registry each and every time), I extracted the relevant stuff from the new SetAVS.bat and made a file called "MakeRegFile.bat" which will create the correct AviSynth.reg depending on the OS:

MakeRegFile.bat
Code:
@echo off
echo REGEDIT4 > AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}] >> AviSynth.reg
echo @="AviSynth" >> AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32] >> AviSynth.reg
echo @="AviSynth.dll" >> AviSynth.reg
echo "ThreadingModel"="Apartment" >> AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\Media Type\Extensions\.avs] >> AviSynth.reg
echo @="" >> AviSynth.reg
echo "Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}" >> AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\avsfile] >> AviSynth.reg
echo @="AviSynth Script" >> AviSynth.reg
echo. >> AviSynth.reg >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\AVIFile\Extensions\AVS] >> AviSynth.reg
echo @="{E6D6B700-124D-11D4-86F3-DB80AFD98778}" >> AviSynth.reg

if defined PROGRAMFILES(X86) (
  echo. >> AviSynth.reg
  echo [HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.avs] >> AviSynth.reg
  echo @="" >> AviSynth.reg
  echo "Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}" >> AviSynth.reg
  echo. >> AviSynth.reg
  echo [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\WOW6432NODE\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\INPROCSERVER32] >> AviSynth.reg
  echo @="AviSynth.dll" >> AviSynth.reg
  echo "ThreadingModel"="Apartment" >> AviSynth.reg
)

Maybe someone can use this.


Cheers
manolito
manolito is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 18:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.