+ Reply to Thread
Results 31 to 56 of 56
-
http://code.google.com/p/ffmpegsource/downloads/detail?name=ffms-2.17.7z
Versions and variants
If you're confused by all the different variants, here's a small explanation:
- Vanilla (no suffix): standard 32-bit version. If you don't know what you want, you want this.
- -x64: 64-bit version; mostly for use with 64-bit Avisynth.
- -avs-cplugin: Variant of the Avisynth plugin written in C. Primary purpose is to get access to the new colorspaces available in Avisynth 2.6.
- SDK: software developer's kit, for people who want to develop Windows applications that use FFMS2, using Microsoft Visual Studio 2008 or later.
-
Attempting to open in Virtualdub with the above version of ffmpegsource with ffmsindex.exe, ffms2.dll and FFMS2.avsi from the above installed in the avisynth plugins folder with this script
FFMpegSource2("sourcefile.avi" , atrack=-1)
I get this error:
-
delete the old index created the 1st time (in the z:\Disney folder, there will be a .ffindex file), remove ffmsindex.exe from the plugins folder
-
Well, it helps if one actually spells the name of the source file correctly. I typed it in with a superfluous "e". After application of whiteout it now loads.
*bang head on desk*
On another note, where is the ffmsindex.exe supposed to go if not in the plugins folder?
Now to see if it works any better with SetMTMode which is the original reason for exploring this. -
Works great! Eliminates having to go through the drill of separating and recombining the audio. Many thanks!
Now, can someone explain why this works better than using Avisource? -
If I had to guess, something is buggy with your VFW DV decoder and decoding pathway. Try something else like cedocida . AVISource() normally doesn't cause these type of issues ,even with MT. MT can cause several types problems , but usually not the ones you describe
The negative (or positive depending how you look at it) of using ffms2 , is it indexes your video/audio, so it initially takes a bit longer , and creates index files (things can get cluttered)
ffmsindex.exe is a separate utility to index tracks, it shouldn't be placed in the plugins folder. You should try to keep that folder as tidy, clean as possible with as few as possible .dll's and .avsi 's . Junk and conflicting plugins/versions is commonly the source of many problems -
I'm not sure ffms2 will auto-load (I can't remember), so you may need to load it manually. ie:
LoadPlugin("C:\Program Files\ffms2\ffms2.dll")
FFVideoSource("E:\video.avi")
Keep in mind the first time you open a script such as the one above the video will be indexed which can take a minute or so (depending on the video type and file size), so it may appear the player (or whatever you're using to open the script) has frozen at first.
As poisondeathray said you can also use FFMpegSource2() which I'm pretty sure will requires FFMS2.avsi to be loaded (it should autoload from the plugins folder) but as I pretty much only ever use ffms2 for video I'd use a script such as the one above (video only).
If for some reason you get stuck, try MeGUI. If you open a video for encoding using the File/Open menu it'll offer to index it and/or extract the audio, then it'll create a basic script using ffms2.
ffms2 can be a bit odd when it comes to indexing AVIs (it'll sometimes fail due to the type of audio.... or something along those lines), which is why I suggested remuxing the AVI as an MKV and opening it instead, if for some reason the AVI won't index. -
Whoops..... I see I missed the second page in this thread and my above post was a little late.
I could guess..... when encoding with x264 I assume frames aren't necessarily requested in a linear fashion and QTGMC probably makes that worse..... but whatever the reason..... if I have problems, the first thing I try is opening the video using a different method and/or remuxing it into a different container.
ffms2 isn't perfect (on the odd occasion AVISource works better) but if you have problems with it try using it in single threaded mode (I don't think it'll make any noticeable difference to encoding speed).
LoadPlugin("C:\Program Files\ffms2\ffms2.dll")
FFVideoSource("E:\video.mkv", threads=1) -
btw. instead of FFVideoSource I would nowadays recommend LWLibavVideoSource which is part of L-SMASH-Works:
a. more stable for me than FFVideoSource
b. can handle PAFF encoded AVC Video -
VirtualDub is now crashing using this script:
SetMTMode(3, 4)
FFMpegSource2("source.avi", atrack=-1)
ConverttoYv12()
RemoveGrain (mode=17)
QTGMC (Preset="fast")
crop (8,0,-8,-8)
Converting to Huffyuv as specified within Virtualdub. It worked okay on smaller - approx 2 gig - files but crashing on a larger - approx 11 gig DV file.
The short crash report is
An out-of-bounds memory access (access violation) occurred in module 'mt_masktools-25'...
...reading address 33C40020.
The long crash report:
VirtualDub crash report -- build 34807 (release)
--------------------------------------
Disassembly:
02b74060: 57 push edi
02b74061: 55 push ebp
02b74062: 8b4c2414 mov ecx, [esp+14h]
02b74066: 8b5c241c mov ebx, [esp+1ch]
02b7406a: 8b742424 mov esi, [esp+24h]
02b7406e: 8b7c242c mov edi, [esp+2ch]
02b74072: 8b6c2430 mov ebp, [esp+30h]
02b74076: 660f6e742434 movd xmm6, [esp+34h]
02b7407c: 660f6e7c2438 movd xmm7, [esp+38h]
02b74082: 660f60f6 punpcklbw xmm6, xmm6
02b74086: 660f60f6 punpcklbw xmm6, xmm6
02b7408a: 660f60f6 punpcklbw xmm6, xmm6
02b7408e: 660f60f6 punpcklbw xmm6, xmm6
02b74092: 660f60ff punpcklbw xmm7, xmm7
02b74096: 660f60ff punpcklbw xmm7, xmm7
02b7409a: 660f60ff punpcklbw xmm7, xmm7
02b7409e: 660f60ff punpcklbw xmm7, xmm7
02b740a2: 0f6e742434 movd mm6, [esp+34h]
02b740a7: 0f6e7c2438 movd mm7, [esp+38h]
02b740ac: 0f60f6 punpcklbw mm6, mm6
02b740af: 0f70f600 pshufw mm6, mm6, 00h
02b740b3: 0f60ff punpcklbw mm7, mm7
02b740b6: 0f70ff00 pshufw mm7, mm7, 00h
02b740ba: 89fa mov edx, edi
02b740bc: 83e2c0 and edx, 0c0h
02b740bf: 31c0 xor eax, eax
02b740c1: 39d0 cmp eax, edx
02b740c3: 0f84b6000000 jz 02b7417f
02b740c9: 0f db 0fh
02b740ca: 184c0140 sbb [ecx+eax+40h], cl
02b740ce: 0f db 0fh
02b740cf: 184c0340 sbb [ebx+eax+40h], cl
02b740d3: 0f db 0fh
02b740d4: 184c0640 sbb [esi+eax+40h], cl
02b740d8: 660f6f0403 movdqa xmm0, [ebx+eax]
02b740dd: 660f6f4c0310 movdqa xmm1, [ebx+eax+10h]
02b740e3: 660f6f1406 movdqa xmm2, [esi+eax] <-- FAULT
02b740e8: 660f6f5c0610 movdqa xmm3, [esi+eax+10h]
02b740ee: 660fdcc6 paddusb xmm0, xmm6
02b740f2: 660fdcce paddusb xmm1, xmm6
02b740f6: 660fd8d7 psubusb xmm2, xmm7
02b740fa: 660fd8df psubusb xmm3, xmm7
02b740fe: 660f6f2401 movdqa xmm4, [ecx+eax]
02b74103: 660f6f6c0110 movdqa xmm5, [ecx+eax+10h]
02b74109: 660fdac4 pminub xmm0, xmm4
02b7410d: 660fdacd pminub xmm1, xmm5
02b74111: 660fdec2 pmaxub xmm0, xmm2
02b74115: 660fdecb pmaxub xmm1, xmm3
02b74119: 660f7f0401 movdqa [ecx+eax], xmm0
02b7411e: 660f7f4c0110 movdqa [ecx+eax+10h], xmm1
02b74124: 660f6f440320 movdqa xmm0, [ebx+eax+20h]
02b7412a: 660f6f4c0330 movdqa xmm1, [ebx+eax+30h]
02b74130: 660f6f540620 movdqa xmm2, [esi+eax+20h]
02b74136: 660f6f5c0630 movdqa xmm3, [esi+eax+30h]
02b7413c: 660fdcc6 paddusb xmm0, xmm6
02b74140: 660fdcce paddusb xmm1, xmm6
02b74144: 660fd8d7 psubusb xmm2, xmm7
02b74148: 660fd8df psubusb xmm3, xmm7
02b7414c: 660f6f640120 movdqa xmm4, [ecx+eax+20h]
02b74152: 660f6f6c0130 movdqa xmm5, [ecx+eax+30h]
02b74158: 660fdac4 pminub xmm0, xmm4
02b7415c: 660fdacd pminub xmm1, xmm5
Built on Althena on Sun Jun 03 14:28:23 2012 using compiler version 1400
Windows 5.1 (Windows XP x86 build 2600) [Service Pack 3]
Memory status: virtual free 1234M/2048M, commit limit 5465M, physical total 3583M
EAX = 00000000
EBX = 1a910020
ECX = 0f4a0020
EDX = 000002c0
EBP = 000001e0
ESI = 33c40020
EDI = 000002d0
ESP = 05cdfab4
EIP = 02b740e3
EFLAGS = 00010283
FPUCW = ffff027f
FPUTW = ffffaaaa
Crash reason: Access Violation
Crash context:
An out-of-bounds memory access (access violation) occurred in module 'mt_masktools-25'...
...reading address 33C40020.
Pointer dumps:
EBX 1a910020: 46391e09 41424546 413f3f3f 48474543 48484848 46454748 43454647 46444342
ECX 0f4a0020: 473b200e 41434647 42404040 48474443 48494949 49484848 47474648 47474747
ESP 05cdfab0: 00000000 05cdfb48 00000000 0f4a0020 02d11a68 02b0e392 0f4a0020 000002d0
05cdfad0: 1a910020 000002d0 33c40020 000002d0 000002d0 000001e0 00000000 00000000
05cdfaf0: 0000000f 02bba260 000093c2 00000170 000001e0 000002d0 33c40020 000002d0
05cdfb10: 000002d0 000001e0 33c40020 000002d0 000002d0 000001e0 1a910020 000002d0
Thread call stack:
02b740e3: mt_masktools-25!_AvisynthPluginInit2@4 [02af0000+200d0+64013]
02b0e392: mt_masktools-25!0001e392
02b1a0aa: mt_masktools-25!_AvisynthPluginInit2@4 [02af0000+200d0+9fda]
02b132b1: mt_masktools-25!_AvisynthPluginInit2@4 [02af0000+200d0+31e1]
7c9010fd: ntdll!RtlLeaveCriticalSection [7c900000+10e0+1d]
02b18822: mt_masktools-25!_AvisynthPluginInit2@4 [02af0000+200d0+8752]
010f61ca: AviSynth!000661ca
010fd395: AviSynth!avs_delete_script_environment [01090000+68ee0+44b5]
010fbf52: AviSynth!avs_delete_script_environment [01090000+68ee0+3072]
010fb353: AviSynth!avs_delete_script_environment [01090000+68ee0+2473]
02b1874c: mt_masktools-25!_AvisynthPluginInit2@4 [02af0000+200d0+867c]
010fd395: AviSynth!avs_delete_script_environment [01090000+68ee0+44b5]
010fbf52: AviSynth!avs_delete_script_environment [01090000+68ee0+3072]
010fb353: AviSynth!avs_delete_script_environment [01090000+68ee0+2473]
0116d110: AviSynth!DllCanUnloadNow [01090000+6f030+6e0e0]
010fd395: AviSynth!avs_delete_script_environment [01090000+68ee0+44b5]
010fbf52: AviSynth!avs_delete_script_environment [01090000+68ee0+3072]
01101757: AviSynth!DllCanUnloadNow [01090000+6f030+2727]
7c80b729: kernel32!GetModuleFileNameA [7c800000+b56f+1ba]
-- End of report
All assistance is appreciated. -
Looks like you are running your of RAM.
Windows XP -> Avisynth can only use up to 2GB of RAM
Instead of:
Code:SetMTMode(3, 4) FFMpegSource2("source.avi", atrack=-1) ConverttoYv12() RemoveGrain (mode=17) QTGMC (Preset="fast") crop (8,0,-8,-8)
SetMemoryMax(768)
try:
Code:SetMemoryMax(768) SetMTMode(3, 4) FFMpegSource2("source.avi", atrack=-1) ConverttoYv12() SetMtMode(2) # uses less memory than mode 3 QTGMC (Preset="fast") RemoveGrain (mode=17) crop (8,0,-8,-8)
-
I'll give it a try, but wondering what's the difference between the default state and specifying a limit on memory?
if that doesn't help and you got a vfw decoder installed that can handle you input
use AviSource instead of FFMpegSource2 -
Okay, assuming vfw is somehow messed up on your system, you could try LWLibavVideoSource (http://forum.doom9.org/showthread.php?t=167435) instead of FFmpegSource2.
I'll give it a try, but wondering what's the difference between the default state and specifying a limit on memory?
----
Also: What is the resolution of your source. (if the resolution is to high QTGMC might always go above 2GB in memory consumption) -
-
Also, why specify more than one SetMTMode command? I've seen this elsewhere, not clear to me what it does.
-
The first SetMtMode always has two parameters A, B with A the starting mode and B the number of threads.
All following SetMtMode calls (I normally have multiple of them depending on the filters I use) are ment to change the current mode.
Different modes, use different ways for multi-threading which use more or less RAM and are slower or faster.
-> you might want to read up more on Avisynth MT and SetMtMode to get a better understanding of what you are doing. -
By the way, since your video is interlaced you should be using ConvertToYV12(interlaced=true).
-
-
The goal has nothing to do with it, the color conversion will be wrong if you convert interlaced contend with the progressive method,....
-
To clarify, what's in there is what's bundled in the Plugin Package for multithreading from the QTGMC page under Multi-threaded usage . I was under the impression this needs to be done under the SEt version of AviSynth I'm using.
This still requires a different mt_masktools than what's in the package? -
I just downloaded this to check
http://avisynth.org/mediawiki/QTGMC#Links:
Plugin Package for multithreading
http://www.mediafire.com/?mfs7bp2rprbhp22
Both 2.5 , and 2.6 are in the package. There is a folder labelled 2.5x plugins, and one labelled 2.6x plugins
Don't use both, use the one that matches your avisynth version -
Similar Threads
-
fix artifacts in video that was not deinterlaced
By codemaster in forum Video ConversionReplies: 3Last Post: 23rd Mar 2013, 22:27 -
Burned home-video DVD looks not deinterlaced on tv
By granturissimus in forum Newbie / General discussionsReplies: 3Last Post: 8th Jan 2011, 09:59 -
Video stutters when deinterlaced an when played in a DVD player
By Kado in forum Video ConversionReplies: 17Last Post: 13th Aug 2010, 12:03 -
why is captured video sometimes glitchy
By janaka_k in forum Capturing and VCRReplies: 5Last Post: 16th May 2010, 07:01 -
Movement in my deinterlaced video doesn't look smooth ><
By onlinepen in forum Video ConversionReplies: 2Last Post: 25th Jul 2009, 07:53