solved.. see post # 29
I have been trying to build a portable avisynth so that I can scrub through some encoded videos through virtualdub on a clean pc.
http://forum.doom9.org/showthread.php?t=121588
does not work, or is convoluted.
I tried copying the avisynth.dll and devil.dll to the working folder of the avs scripts, virtualdub folder, and encoder folders but to no avail. virtualdub will not open any scripts and keep issuing the error message: "AVI Import Filter error: (Unknown) (80040154)"
What else can I do ?
+ Reply to Thread
Results 1 to 30 of 37
-
Last edited by vhelp; 18th Nov 2016 at 00:12.
-
I've got to ask.... how much difference is there between a portable Avisynth and an installed Avisynth? Instead of putting Avisynth.dll in the Windows System folder it'd be somewhere else, maybe in several places, and if you're using plugins they have to reside on the PC somewhere, if not in the auto-loading plugins folder.
Aside from creating somee registry entries for the location of the plugins folder and creating a few shortcuts, what does the installer do you can avoid with the portable version? I'm just curious....
Edit: It looks like it includes msvcp60.dll, devil.dll, eleven registry entries and some html help files and sample scripts, but I'm not sure if there's anything else. -
-
Correct, jagabo.
my work pc is admin-locked. The registry included. So, I can't open any videos through avisynth, via avisource, lsmash, ffms2, and avss2. I get the same error message: "AVI Import Filter error: (Unknown) (80040154)"
However # 1, I am able to open all vidoes through all methods (listed above) when using the VSQEnc app. I just need to be able to do the same but with virtualdub (below, #2, but hasn't worked so far).
files from the qsvenc ..\x86\ folder, avisynth works for this tool, for your reference:
Code:avcodec-57.dll ----- 09/02/2016 - 14,045 KB avfilter-6.dll ----- 09/02/2016 - 2,966 KB avformat-57.dll ---- 09/02/2016 - 2,256 KB avutil-55.dll ------ 09/02/2016 - 584 KB libass.dll --------- 04/18/2016 - 2,644 KB swresample-2.dll --- 09/02/2016 - 365 KB QSVEncC.exe -------- 11/06/2016 - 1,602 KB
However # 2, in my other un-locked pc's and laptops (that don't have avisynth installed--and I don't want to install it on those systems for now) I can only open videos that are used via the avisource() method. The lsmash, ffms2 and vss2 do not work. I get a different message saying something about it {can't load the plugin/module} or something like that. I tried to get the method posted by Groucho in that link on a new laptop with windows 10 home, 64bit, cpu i3-7100U. But to no avail, it will not open videos except for avisource() but I need to also open videos that are "encoded" ie x264 and x265 and are in other containers like mkv so that i can scrub through them for review and analysis. I will be bringing that new laptop into work today as soon as I log off here, am heading into work, and will do some testing on this portable avisynth.
As mentioned earlier, I don't want to install any software on this laptop for the time being. So I am trying to run as much of everything as possible off the flash drive, and so far so good. -
I don't use the auto load feature. I prefer to manually use Loadplugin() for all plugins. So, yes, I'm already manually doing it.. just not able to get it working in some cases.
here is the script that I use. It works fine on my dell inspiron laptop, but does not on my other pc's that do not have avisynth installed.
Code:v = "i:\videos\video.mkv" # AVCsource(v) # # LoadPlugin( "i:\plugins\LSMASHSource.dll") LWLibavVideoSource(v, cache=true , seek_mode=0 ) #.selectevery(2,0) # # # LoadCPlugin( "i:\plugins\ffms2.dll" ) # Import("i:\plugins\ffms2.avsi") # FFVideoSource(v, fpsnum=24000, fpsden=1001) # FFVideoSource(v, fpsnum=29970, fpsden=1000) # # # LoadPlugin( "i:\plugins\avss.dll") # dss2(v) #.selectevery(2,0) # # # LoadPlugin( "i:\plugins\DGAVCDecode.dll") # AVCsource(v) # # # LoadPlugin( "i:\plugins\DGDecode.dll") # MPEG2Source( v )
-
Groucho2004Guest
The minimum requirements for Avisynth are avisynth.dll and devil.dll to reside in a directory to which the "PATH" environment variable points. With this in place, your above script should work even without any registry entries. Your problem might be missing codecs to decode the video. What type of stream is it?
-
If you had have said "locked PC" rather than "clean PC" I would have understood the necessity. Not to worry.....
I'm not sure what "scrubbing through videos" means exactly, but if it's just some sort of checking process, you can open lots of types of source files with VirtualDub with the help of the ffmpeg input driver. No Avisynth required.
What about the Microsoft C++ runtime file some plugins require? They won't work wiithout them. ffms2 appears not to require any but LSmash needs the Microsoft Visual C++ 2013 Redistributable Package, or you can put msvcr120.dll in the same folder as LSmash.dll.... assuming it's not already installed. For the same reason putting msvcp60.dll in the same folder as avisynth.dll is probably a good idea.
Are you putting Avisynth on the PC by copying files or running the installer? If you can run the installer it has an option to unpack the files into a folder of your choosing as a portable version. It also puts msvcp60.dll in that folder. -
sheesh. nothing is working. i'm getting so frustrated. same error message no matter what I do. AVIsource, lsmash, ffms2, etc. I've tried all three methods of opening video files: avi's (UT codec) and mkv's (h264 and h265) will not open from the flash drive on the Acer laptop. But when I bring the flash drive to my dell inspiron laptop, everything works.
specs:
old Dell inspiron laptop -- windows 7 home prem, 64bit (avisynth (32bit) installed)
new Acer laptop -- windows 10 home, 64bit (avisynth not installed)
All necessary files copied into a folder:
(but not Groucho's, i haven't started that process with this new laptop yet, because it writes to the registry and I want to hold off on that for now)
Code:avcodec-57.dll ----- 09/02/2016 - 14,045 KB avfilter-6.dll ----- 09/02/2016 - 2,966 KB avformat-57.dll ---- 09/02/2016 - 2,256 KB avutil-55.dll ------ 09/02/2016 - 584 KB libass.dll --------- 04/18/2016 - 2,644 KB swresample-2.dll --- 09/02/2016 - 365 KB QSVEncC.exe -------- 11/06/2016 - 1,602 KB msvcr120.dll ------- 01/27/2016 - 949 KB avisynth.dll ------- 03/31/2015 - 393 KB devil -------------- 05/26/2004 - 1 KB
Code:v = "i:\videos\video.mkv" v = "i:\videos\video.avi" # AVIsource(v) # # LoadPlugin( "i:\plugins\LSMASHSource.dll") LWLibavVideoSource(v, cache=true , seek_mode=0 ) #.selectevery(2,0) # # # LoadCPlugin( "i:\plugins\ffms2.dll" ) # Import("i:\plugins\ffms2.avsi") # FFVideoSource(v, fpsnum=24000, fpsden=1001) # FFVideoSource(v, fpsnum=29700, fpsden=1000)
2. launch virtualdub
3. drag an avs file into virtualdub and i get --> "AVI Import Filter error: (Unknown) (80040154)"
note, i've ben REM'ing and unREM'ing things. So if you see something (above) that looks out of place, please believe me, its not) -
I made this and it seems to work, at least for me. Tested on a clean W7 x64. Requires no elevation and nothing to be installed. Tried with avisource with xvid and ffvideosource.
Run this file from a folder containing Avisynth with required dlls (avisynth.dll, devil.dll). To open XVID you'll need to put xvid.ax, xvidcore.dll and xvidvfw.dll in the path of the program you open with, eg, if you use VirtualDub, put those files in it's folder.
It should be quite self explainatory once you dare to run the program. Don't worry, it only writes HKCU keys, I promise
Edit: Tested on a clean XP x86 and it works there too...Last edited by andkar; 16th Nov 2016 at 13:27.
-
Apreciate the idea, but anything that writes to the registry is out of the question at this time. Also, i don't want to run exe files that I can't see what's inside first. Especially now. I have this nagging message that pops up and locks my browser unless I call M$ for help or something. I got that because I didn't stop and think first before running the app. Now I can't get rid of it until I restore an image on this laptop, and I'm not free yet to do that. Plus, it would be easier to just get rid of the registry entries that it wrote. Anyway. Thank you for your idea, appreciated.
-
No worries. I left work but I can post the AutoIt source tomorrow if you want. Its just user keys as I said, and if that is out of the question you have the strictest policy in the history of Windows
I don't think you'll make it work without these keys, they are bare minimum when I monitored the events with Procmon.
-
Just to be clear: your restricted computer doesnt restrict programs to write to the user part of the registry and few things would work at all if it would, probably not even a logon. I don't know, and can't imagine, a way to add Avisynth as an input filter for AVI without the registry keys under classes\avifile among others. Not for VFW anyway. Of course, some programs might open avs files in some custom way. There are few reasons to worry about HKCU keys (unlike the millions of reasons to worry about exe files from first time posters
), in the absolute worst case you delete your profile and logon with a fresh default one. Would probably solve your ransomware btw.
-
Ok, I will check it out later and give it a try.. I have a feeling that you are a good person, not here to spoof anyone. Plus, I did image the acer laptop. ok, I used the built-in one from windows 10 to image, so that I could avoid installing software on it.
-
Ok, version 0.0.0.2. Fixed minor bugs, cleaned it up quite a bit, and added UTvideo and Lagarith. Doesn't require Avisynth anymore if you just want the codecs in Virtualdub. AutoIt source included.
Tested with 32 and 64-bit VirtualDub on a completely clean Win7 x64 and on a clean XP x86, both open files and compressing them. AVISynth tested with ffvideosource, avisource and directshowsource.
BTW, VirtualDub writes keys under HKEY_CURRENT_USER\Software\VirtualDub.org so there is no avoiding it.
Edit: No, not here to spoof anyoneMy account on doom9 is from 9th December 2007 with 0 posts so I thought I should probably contribute for once. Also, I needed this myself
Last edited by andkar; 17th Nov 2016 at 04:20. Reason: Edited to add.
-
Version 0.0.0.3. Fixed more minor bugs and cleaned it more.
Moved stuff to an ini-file, new codecs can easily be added.
Added x264vfw.
Option to automatically launch a program eg VirtualDub.exe, wait for it to close, and delete the keys after, leaving no trace making it quite convenient.
I'm pretty satisfied with it now, I've got a completely portable VirtualDub folder with Avisynth, lots of plugins and all the codecs I need. No admin-rights needed, runs from any path I tried and haven't found anything not working yet. -
Fell asleep early yesterday. Anyway.
Eventually, I will create a custom video editor, bare bones version. Video, timeline, play, cut, avisynth scripts, encode, and other such things to scrub through videos with. But in the interim, I like using virtualdub for all that and more. So, I don't have any specific folder for one thing. I have various folders for video clips scattered on multiple hdd's. I have a main folder that I've been calling Tools, and I have a bunch of avs script in there. Whenever I capture, or download, or encode a video, I will add the file/folder to the script, update some trim() and ivtc routine, and then drag+drop the script over into virtualdub. That's basically my preview procedure for any videos, captured/ download/ encoded/ etc. But once I do finally build that editor, all that will be handled in the background via a simple drag+drop or custom folder of videos with a way to check-box the video I want to process. So, the hope will be that all this will be done w/out registry or admin issues. -
I was wondering, why can't a temporary registry.reg or registry.ini file be created and avisynth be updated (hacked?) to look for this custom registry to search for the codecs ? That would or should solve anyone's problems, I think. I believe that somewhere in avisynth, there is a routine that (for codecs lookup) to load somehow. Right now, if I understand correctly, avisynth searches the main registry file for all codecs. Maybe if it were updated to look in an alternate file for codecs as a backup for if the codec can't be found in the main registry, it should work. This update would be performed on the portable avisynth.dll version. Well, that's my idea.
Does your utility still write to the main registry?
As I already mentioned, I have a clean laptop and am trying to use that as the test bed to get avisynth and other tools to work off it w/out registry and/or admin issues. -
The problem isn't Avisynth itself, it requires few if any regkeys. The problem is that Windows isn't aware that Avisynth is an input filter or even exists, without certain keys. Programs using Avisynth api directly might not need the registry keys.
The program installs two things, both optional. The keys to make Windows aware of Avisynth, and the keys to make Windows aware of the codecs mentioned above.
The keys are written to the user part of the registry and thus works without admin rights. So you can run VirtualDub and have access to for instance UtVideo and Avisynth without installing a thing. You can run directly from a stick if you want.
What keys are written can somewhat easily be seen in the source, open the au3 file in notepad, it's down at the end.
The program can clean up after itself. Check the ini file. Copy the requires and optional files. Run it. I set it up so VirtualDub automatically starts with all codecs available, and when I quit the keys are removed. It works on a completely clean computer, though many filters requires vc-redists.
You can have any number of folders with different Avisynth, VirtualDub and codecs. Just put a PortableVCM in each and adjust the ini to your liking.
If you set it up to clean up after itself or run with /r nothing will be different on the computer before and after, it will still be clean. -
ok. already have trouble. not working. I have no codecs installed on my Acer Aspire laptop. I have UT codec on my dell inspiron laptop, but when i searched for the *.dll's, there was none to find. The one's listed in your app are not found. All my captured use the UT codec on the dell inspiron. then, i move some of the clips onto flash drives for encoding to other computers, etc.
-
I'm pretty sure UT codecs are in utv_core.dll, utv_dmo.dll, and utv_vcm.dll, found in %systemroot%\System32 and/or %systemroot%\SysWOW64. %systemroot% is usually c:\windows.
-
yes, i just found them in \system32 folder. apparently, the built-in windows search bar excludes windows folder or the system32 one.
-
still not working. it keeps closing and showing a "registry-values removed" message.
-
ok, finally have it working. I have to put all the files into virtualdub, not a shortcut link of it. It opens raw UT code avi's and avs scripts of encoded hevc videos. amen. and when i close down virtualdub, it removes everything. EGGcellent!
andkar, this works... thank you -
I don't see why not. But it won't open ffms2 scripts. I'm trying to figure out why. But i'll see about putting what I have in an archive. I am working off a mem stick (flash drive) that I branded as an I: drive letter via "computer managment", if that matters, though Probably not.
-
ok, i have the "portable_avisynth.zip" archive ready for download. Thanks goes to andkar for the idea and utility.
don't forget to run it through your anti-virus software. Mine is outdated.
instructions:
1. unzip into a folder of your choice
2. to begin using, double-click on the "PortableVCM_x64.exe" or "PortableVCM.exe" file
3. virtualdub will auto load
4. drag in an avs script file into virtualdub or open an avs script your usual way
5. ready
6. when you are finished with virtualdub, close it down, and the utility to auto-remove all registry entries of the codecs
7. finish
I included a template "movie.avs" script. feel free to customize it to your liking.Last edited by vhelp; 23rd Nov 2016 at 16:59. Reason: removed zip file
-
Glad you got it working. Yes, the actual files needs to be in the searchpath, not just shortcuts. I might append something customizable to the %Path% in the next version, don't have time today though.
A note: There is a minute but important difference between the PortableVCM.exe and PortableVCM_x64.exe which and where some keys are written. You should run the x64 for 64-bit Avisynth and VirtualDub, and PortableVCM.exe for the 32-bit versions to get it working properly. Maybe I'll code the logic of that into one executable but building two was the easy way.
Also, if you set Silent=True in the ini you'll get rid of the annoying dialog boxes
I don't have any problems with ffms2, but I notice you don't have a Plugins folder in the archive you uploaded. Maybe that was intentional though.
Similar Threads
-
Looking for a portable projector
By Rjones in forum Portable VideoReplies: 2Last Post: 2nd Apr 2021, 08:18 -
is there a way to have virtualdub with all the codec portable?
By rama in forum Newbie / General discussionsReplies: 8Last Post: 26th Sep 2014, 08:31 -
avisynth - How to write avisynth script for rgba overlay
By moelover in forum EditingReplies: 3Last Post: 13th Apr 2014, 12:24 -
Portable DVD Player vs Portable Video Player
By DJboutit in forum Newbie / General discussionsReplies: 9Last Post: 2nd Dec 2012, 17:28