VideoHelp Forum




+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 56 of 56
  1. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by poisondeathray View Post
    for ffms2, don't use the Cplugin version , use the vanilla version

    FFMpegSource2("video.avi" , atrack=-1) if you want both audio & video

    FFVideoSource("video.avi") if you want only video
    Which is the "vanilla" version? Not clear from the description on the page.
    Quote Quote  
  2. 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.
    Quote Quote  
  3. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    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:

    Name:  FF error msg.jpg
Views: 1287
Size:  25.0 KB
    Quote Quote  
  4. 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
    Quote Quote  
  5. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by poisondeathray View Post
    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.
    Quote Quote  
  6. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    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?
    Quote Quote  
  7. 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
    Quote Quote  
  8. 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.
    Quote Quote  
  9. Whoops..... I see I missed the second page in this thread and my above post was a little late.

    Originally Posted by brassplyer View Post
    Now, can someone explain why this works better than using Avisource?
    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)
    Quote Quote  
  10. 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
    Quote Quote  
  11. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  12. 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)
    a. try if it helps to enter as a first line:
    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)
    if that doesn't help and you got a vfw decoder installed that can handle you input, use AviSource instead of FFMpegSource2
    Quote Quote  
  13. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by Selur View Post
    Looks like you are running your of RAM.
    Windows XP -> Avisynth can only use up to 2GB of RAM

    a. try if it helps to enter as a first line:
    SetMemoryMax(768)
    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
    How would I determine this?

    use AviSource instead of FFMpegSource2
    Using AviSource causes problems per the start of the thread. I'm using FFMpegSource2 as an attempt to solve -that- problem without having to separate and recombine the audio and video.
    Quote Quote  
  14. 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?
    see: http://avisynth.org/mediawiki/Internal_functions/Control_functions ; in general setting a memory max value some times helps to make MT more stable.
    ----

    Also: What is the resolution of your source. (if the resolution is to high QTGMC might always go above 2GB in memory consumption)
    Quote Quote  
  15. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by Selur View Post
    Instead of:
    Code:
    SetMTMode(3, 4)
    FFMpegSource2("source.avi", atrack=-1)
    ConverttoYv12()
    RemoveGrain (mode=17)
    QTGMC (Preset="fast")
    crop (8,0,-8,-8)
    a. try if it helps to enter as a first line:
    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 see you changed the order of the commands putting RemoveGrain after QTGMC - is there a reason?
    Quote Quote  
  16. yes, handling interlaced content requires more ram
    Quote Quote  
  17. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Also, why specify more than one SetMTMode command? I've seen this elsewhere, not clear to me what it does.
    Quote Quote  
  18. 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.
    Quote Quote  
  19. By the way, since your video is interlaced you should be using ConvertToYV12(interlaced=true).
    Quote Quote  
  20. And you should be using mt_masktools-26.dll for avisynth 2.6 , not mt_masktools-25.dll (the 25 is for avisynth 2.5)
    Quote Quote  
  21. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo View Post
    By the way, since your video is interlaced you should be using ConvertToYV12(interlaced=true).
    Even if I have the goal of creating 59.94 progressive?
    Quote Quote  
  22. The goal has nothing to do with it, the color conversion will be wrong if you convert interlaced contend with the progressive method,....
    Quote Quote  
  23. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by poisondeathray View Post
    And you should be using mt_masktools-26.dll for avisynth 2.6 , not mt_masktools-25.dll (the 25 is for avisynth 2.5)
    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?
    Quote Quote  
  24. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    I should emphasize I appreciate all the input.
    Quote Quote  
  25. Originally Posted by brassplyer View Post
    Originally Posted by poisondeathray View Post
    And you should be using mt_masktools-26.dll for avisynth 2.6 , not mt_masktools-25.dll (the 25 is for avisynth 2.5)
    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
    Quote Quote  
  26. Member brassplyer's Avatar
    Join Date
    Apr 2008
    Location
    United States
    Search Comp PM
    Originally Posted by poisondeathray View Post
    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
    As it turns out the only thing in there is the masktools dll. I'll give it a try.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!