VideoHelp Forum
+ Reply to Thread
Page 1 of 4
1 2 3 ... LastLast
Results 1 to 30 of 98
Thread
  1. Hi

    when I try lo load in avisynth file .mxf larger than about 2 Gb avisynth get "video track is unseekable"

    is there a way to resolve?

    thanks
    Quote Quote  
  2. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Grrrr! A 31 bit limit!
    Quote Quote  
  3. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Try FFVideoSource instead.

    -Edit- I thought I told you to use DirectShowSource but apparently you didn't. And what's with this putting info in the Thread Name and not the actual thread business? It's confusing, you look at the thread name to see if it looks interesting or not.
    Last edited by ndjamena; 11th May 2014 at 08:34.
    Quote Quote  
  4. Click image for larger version

Name:	cucat.gif
Views:	478
Size:	569.7 KB
ID:	25152 .. or rather?
    Quote Quote  
  5. FFVideoSource("i:\unseekable\26.mxf")


    = Video track is unseekable
    Quote Quote  
  6. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    So, you've tried both FFVideoSource AND DirectShowSource then.

    It would seem to be caused by something using a signed 32 bit integer somewhere, if neither of those work then you'll have to try cutting.
    Quote Quote  
  7. possibly I don't want use directshowsource... hoewver directshowsource works well
    Quote Quote  
  8. You can try 64bit avisynth, 64bit FFMS2 , but but I doubt that is the problem, you can load larger than 2GB files with 32bit FFMS2

    Or try different FFMS2 builds , or L-SmashSource
    Quote Quote  
  9. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Code:
    @rem unless otherwise specified for debugging reasons turn echo off
    @if "%EMode%"=="" Set EMode=OFF
    @ECHO %EMode%
    
    rem delayed expansion is a bad idea when processing file names
    SetLocal DisableDelayedExpansion
    
    Set "EXTLIST=*.mxf"
    Set "DoPop="
    
    rem if no arguments are given, process everything in the current directory.
    if [%1]==[] (
    	Set "Pattern=%EXTLIST%"
    	CALL :START %1
    )
    
    rem process the arguments one by one.
    :ARGS
    	
    	rem if there are no further arguments then exit the batch.
    	if [%1]==[] (
    		EndLocal
    		pause
    		goto :eof
    	)
    	rem if the argument doesn't exist in the file system in any form skip it.
    	if NOT EXIST %1 (
    		SHIFT
    		goto :ARGS
    	)
    	Set "Pattern=%EXTLIST%"
    	rem if the argument is the current directory then process everything in it.
    	if "%~f1"=="%CD%" (
    		CALL :START %1
    		SHIFT
    		goto :ARGS
    	)
    	rem Test if the argument is a directory, if it is move to it then process everything in it, if not then move to the file's parent directory and process the file.  Then return to starting directory.
    	Type NUL
    	pushd "%~f1" 2> nul
    	if NOT "%errorlevel%"=="0" (
    		if NOT "%CD%\"=="%~dp1" (
    			pushd "%~dp1"
    			Set "DoPop=1"
    		)
    		Set Pattern="%~nx1"
    	) else (
    		Set "DoPop=1"
    	)
    	CALL :START %1
    	if "%DoPop%"=="1" (
    		popd
    		Set "DoPop="
    	)
    	SHIFT
    
    goto :ARGS
    
    :START
    
    	Set "Count=0"
    	rem Process all files in the current directory fitting the arguments search pattern.
    	for %%y in (%Pattern%) do (
    		CALL :Process_File "%%~fy"
    	)
    	rem if the last for loop didn't find anything search all directories up one level instead
    	if "%Count%"=="0" (
    		for /d %%b in (*) do (
    			pushd "%%~fb"
    			CALL :START "%%~fb"
    			popd
    		)
    	)
    
    goto :eof
    
    :Process_File
    
    	Set /a Count+=1
    
    	SetLocal DisableDelayedExpansion
    	rem Find TimeCode Info
    	echo Processing; "%~nx1"
    	set "HOUR="
    	for /f "tokens=1,2,3,4,5 delims=: " %%g in ('FFPROBE.EXE "%~1" 2^>^&1') DO (
    		 if "%%~g"=="timecode" (
    			  set "HOUR=%%~h"
    			  set "MINS=%%~i"
    			  set "SECS=%%~j"
    			  set "MILLI=%%~k"
    			  goto :next
    		 )
    	)
    :NEXT
    
    	if "%HOUR%"=="" (
    		 echo NO TIMECODE FOUND IN:
    		 echo "%~1"
    		 pause
    	) else (
    		CALL :MAKEVCF "%~dpn1.vcf" "%~dpn1.avs" "%~dp1Temp.avi" "%~f1"
    	)
    	echo Done!
    	echo.
    	echo ---------------------------------------------
    	echo.
    	EndLocal
    	
    goto :eof
    	
    :MAKEVCF
    
    	rem ***Make The .vcf Script File***
    	echo VirtualDub.RemoveInputStreams^(^)^;>%1
    	echo VirtualDub.video.DeleteComments^(1^)^;>>%1
    	echo VirtualDub.video.AddComment^(0x0000000C,"","%HOUR%:%MINS%:%SECS%.%MILLI%"^)^;>>%1
    	echo VirtualDub.video.AdjustChapters^(1^)^;>>%1
    	echo VirtualDub.video.SetDepth^(24,24^)^;>>%1
    	echo VirtualDub.video.SetMode^(1^)^;>>%1
    	echo VirtualDub.video.SetFrameRate^(0,1^)^;>>%1
    	echo VirtualDub.video.SetIVTC^(0,0,-1,0^)^;>>%1
    	echo VirtualDub.video.SetCompression^(0x6a6d7674,0,10000 ,0^)^;>>%1
    	echo VirtualDub.video.SetCompData^(28,"TUpQRxgAAAAAAAAAA gAAAAgAAAACAAAAAQAAAA=="^)^;>>%1
    	echo VirtualDub.video.filters.Clear^(^)^;>>%1
    	
    	rem ***Make The .avs AVISynth Script***
    	echo DirectShowSource^(%4^)>%2
    
    	rem ***Call VirtualDub[Mod]
    	"C:\Program Files (x86)\VirtualDubMod\VirtualDubMod.exe" /s%1 /p%2,%3 /r /x
    
    goto :eof
    64-bit versions of programs just use 64-bit memory pointers, they'll still use 32 bit integers if told to.

    -Edit- Some minor tweaking may be involved ie VirtualDub name/command line (this command line is for the current mainstream Virtualdub), contents of .vcr file etc...

    -Edit2- There's a bug in my recursion code, it's supposed to stop at the first level it finds a video file, but it forgets after each directory. I haven't got round to fixing it yet.
    Last edited by ndjamena; 11th May 2014 at 15:11.
    Quote Quote  
  10. I have try to clean the avisynth dir, fresh install of avisynth and install of a clean ffms2 (R275) plugin:

    now virtualdub open also large files but strangely need of several minutes to load. Seems hard disk C: work a lot as soon as a file copy by avisynth

    If I use directshowsource the time to load is 1-2 seconds

    maybe avisynth do an operation or a copy?
    Quote Quote  
  11. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    *sigh* FFVideo Indexes the file first. It helps with seeking, which you're not interested in.
    Quote Quote  
  12. errata corrige: ffms2_2013-01-13_git-f081983_libav_git-ea81bb2.7z is the one I have try, not the R275

    hoewver to load in VDM a video file of 2GB employ 2 minutes... seem too. Virtualdub with the FFinputDriverPlugin emplys 1 second

    seems avisynth do a file copy into C: or internal buffering
    Quote Quote  
  13. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    How have you discovered this? FFMPEG only needs to index the file once, it creates an index file for it in the same directory as the video file, any further calls to that video file will use that same index file so there's no need to index it again.
    Quote Quote  
  14. my .avs is:

    FFVideoSource("i:\EXunseekable\26.mxf")

    and i: is a separate hard disk

    avisynth is on C:

    Once 26.mxf if I try reload 26.mxf, loading is immediate
    but if I trt lo load another larger file, e.g. my 12.mxf it employs 2 minutes
    but if I reload 12.mxf, loading is immediate
    but if I load from new 26.mxf it employs 2 minutes
    ... if I reload 26.mxf is immediate...
    Quote Quote  
  15. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    I hope you're agreeing with me there. You could try pre-indexing them with ffmsindex.exe first if you're worried about it.
    Quote Quote  
  16. I have installed avisynth 2.5.8 wi this ffms2 plugin:

    Click image for larger version

Name:	FFMS2.JPG
Views:	457
Size:	15.7 KB
ID:	25154

    semms it don't have ffmsindex.exe, or don't need it however my proof is:

    DirectShowSource ("26.mxf") = immediate opening in VDM
    FFVideoSource("26.mxf") = 1-2 minutes to opening in VDM

    if if there a way to immediate opening, maybe pre indexing, whit the ffms2 plugin would be a good idea
    Quote Quote  
  17. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    ffmsindex.exe isn't a plugin, it's a program, you'll probably find it in your plugins folder, assuming that's where you put it. Just drag and drop anything you want indexed onto it and it will make an index for you. I could try to add look ahead to the batch so it can index future files while VirtualDub works on the current one if you like.
    Quote Quote  
  18. I don't have well understand: you says is there a way to open .mxf file directly in VirtualDubMOD without avisynth?

    I'm forced to virtualdubmod because otherwise I cannot have timecode...
    Quote Quote  
  19. for the moment my batch was this: but I have to change for use with virtualdubmod.exe and I have to build a batch that consider the input select .mxf file (%d%\%%~na.mxf) and have to generate a script of avisynth that assume %d%\%%~na.mxf as source

    ... FFvideosource("%d%\%%~na.mxf")

    after this virtualdubmod.exe have to eat what avisynth have to get, but inserting the timecode

    I try to use you batch to adapt my batch to do it .. if I'm able




    color 2
    xcopy /y V:\automazioneclip\VirtualDub\morgan\m3jpegHD.dll c:\windows\system32
    xcopy /y v:\automazioneclip\VirtualDub\morgan\m3jpHD.ini c:\windows
    xcopy /y v:\automazioneclip\VirtualDub\morgan\MMIJG32.dll c:\windows\system32
    xcopy /y V:\automazioneclip\VirtualDub\morgan\m3jpegSD.dll c:\windows\system32
    xcopy /y v:\automazioneclip\VirtualDub\morgan\m3jpSD.INI c:\windows
    xcopy /y v:\automazioneclip\VirtualDub\morgan\MMIJG30.dll c:\windows\system32
    regedit /s v:\automazioneclip\virtualdub\morgan\morganreg.reg
    del v:\automazioneclip\output\temp.avi
    del v:\automazioneclip\output\temp.wav
    @echo on
    set "d="
    set "done="
    set /p "d=Type source path (or press enter for current folder): "
    if not defined d set "d=%cd%"
    if not exist "%d%" echo Enter valid path - try again & goto :loop
    :loop
    cd /d "%d%"
    del "temp.txt"
    del "unicodefile.txt"
    if exist "ascii.txt" del "ascii.txt"
    DEL "mediainfo.txt"
    for /f "delims=" %%a in ('dir *.mxf /b /od /a-d') do (
    if defined done goto :EOF
    if not exist "v:\automazioneclip\output\%%~na.*" (
    echo %d%\%%~na.mxf|clip >nul


    if exist mediainfo.txt del mediainfo.txt
    v:\automazioneclip\virtualdub\MediaInfo.exe "%d%\%%~na.mxf" dumpinfo:unicodefile.txt
    TYPE unicodefile.txt > ascii.txt
    rename ascii.txt mediainfo.txt
    findstr /c:"Commercial name : XDCAM HD422" "mediainfo.txt"
    IF NOT ERRORLEVEL 1 (
    v:\automazioneclip\core\ffmpeg.exe -y -i %d%\%%~na.mxf -filter_complex "[0:1] [0:2] amerge,volume=3" -c:a pcm_s16le v:\automazioneclip\output\%%~na.wav
    v:\automazioneclip\core\ffmpeg.exe -y -i %d%\%%~na.mxf -filter_complex "[0:3] [0:4] amerge,volume=3" -c:a pcm_s16le v:\automazioneclip\output\%%~na.ch3ch4.wav
    v:\automazioneclip\virtualdub\vdub.exe /max %d%\%%~na.mxf /s v:\automazioneclip\virtualdub\scriptHD.vcf
    ren v:\automazioneclip\output\temp.avi %%~na.avi
    v:\automazioneclip\virtualdub\cfourcc.exe -i v:\automazioneclip\output\%%~na.avi -u MJPG -d MJPG
    del metadata.txt
    v:\automazioneclip\core\ffmpeg.exe -y -i %d%\%%~na.mxf -f ffmetadata metadata.txt
    v:\automazioneclip\core\ffmpeg.exe -y -i v:\automazioneclip\output\%%~na.avi -i metadata.txt -map_metadata 1 -vcodec copy -an v:\automazioneclip\output\%%~naTC.avi
    del v:\automazioneclip\output\%%~na.avi
    ren v:\automazioneclip\output\%%~naTC.avi %%~na.avi
    del metadata.txt)




    findstr /c:"Commercial name : IMX 50" "mediainfo.txt"
    IF NOT ERRORLEVEL 1 (
    v:\automazioneclip\core\ffmpeg.exe -i %d%\%%~na.mxf -map_channel 0.1.0 -map_channel 0.1.1 -af "volume=volume=9dBrecision=fixed" v:\automazioneclip\output\%%~na.wav
    v:\automazioneclip\core\ffmpeg.exe -i %d%\%%~na.mxf -map_channel 0.1.2 -map_channel 0.1.3 -af "volume=volume=9dBrecision=fixed" v:\automazioneclip\output\%%~na.ch3ch4.wav
    v:\automazioneclip\virtualdub\vdub.exe /max %d%\%%~na.mxf /s v:\automazioneclip\virtualdub\scriptSD.vcf
    ren v:\automazioneclip\output\temp.avi %%~na.avi
    v:\automazioneclip\virtualdub\cfourcc.exe -i v:\automazioneclip\output\%%~na.avi -u MJPG -d MJPG
    del metadata.txt
    v:\automazioneclip\core\ffmpeg.exe -y -i %d%\%%~na.mxf -f ffmetadata metadata.txt
    v:\automazioneclip\core\ffmpeg.exe -y -i v:\automazioneclip\output\%%~na.avi -i metadata.txt -map_metadata 1 -vcodec copy -an v:\automazioneclip\output\%%~naTC.avi
    del v:\automazioneclip\output\%%~na.avi
    ren v:\automazioneclip\output\%%~naTC.avi %%~na.avi
    del metadata.txt)



    del "temp.txt"
    del "unicodefile.txt"
    if exist "ascii.txt" del "ascii.txt"
    DEL "mediainfo.txt"
    del metadata.txt

    goto loop
    set done=1
    )
    )
    Quote Quote  
  20. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Originally Posted by marcorocchini View Post
    I don't have well understand: you says is there a way to open .mxf file directly in VirtualDubMOD without avisynth?

    I'm forced to virtualdubmod because otherwise I cannot have timecode...
    I never said anything like that. I'd never say anything like that because I've never tried to open anything in VirtualDub with anything other than AVISynth. I think you must be talking to someone else.
    Quote Quote  
  21. oh I'm a cat, I don't speack well english

    my batch choose the older .mxf file of a specify directory and discern from HD to SD

    If is a .mxf HD do ...

    If is a .mxf SD do ...

    but now I cannot use moreover virtualdub. I'm forced to virtualdubmod because there is no possibilities to batch-automate the procedure of insertion the timecode.
    Quote Quote  
  22. ndjamena please in your batch what is the part that create an .avs file that contatin the source %input%.mxf?
    Quote Quote  
  23. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    If you click on 'Go Advanced' there's a 'Code' Box [#] that will let you insert your script with all the tab characters I hope you use. It really would make it easier to read.
    Quote Quote  
  24. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Code:
    echo DirectShowSource^(%4^)>%2
    In it's entirety.
    Quote Quote  
  25. Originally Posted by ndjamena View Post
    If you click on 'Go Advanced' there's a 'Code' Box [#] that will let you insert your script with all the tab characters I hope you use. It really would make it easier to read.
    you refer to virtualdubmod?
    Quote Quote  
  26. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    I'm referring to the forum. Bottom right ->>>
    Quote Quote  
  27. virtualdub have vdub.exe that can do:

    vdub.exe /max %d%\%%~na.mxf /s scriptHD.vcf

    but now I have virtualdubmod.exe that don't have any vdub.exe

    I'm try to understand if is there a way to launch virtualdubmod.exe with a specific script
    Quote Quote  
  28. ndjamena sorry, I try to adapt your script with mine

    I use this .mxf

    https://dl.dropboxusercontent.com/u/39871584/C0020.mxf

    in a dir where I have VirtualDubMod 1.6.0.0 Surround and ffprobe.exe

    - for the moment not consider my script -

    to adapt your at the c0020.mxf I think the major question is adapt at the line

    "VirtualDubMod.exe" /s"F:\Script.vcf" /p"F:\Video.avs","F:\Video.avi" /r /x

    to "VirtualDub.exe" /s %1 /p %2 %3 /r /x

    so to do that is necessary the script creare a phisical .vcf file (e.g. script.vcf) so virtualdubmod have script.vcd ready? otherwise I can no use your script
    Quote Quote  
  29. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Code:
    "VirtualDub.exe" /s %1 /p %2 %3 /r /x
    ==

    Code:
    "VirtualDubMod.exe" /s%1 /p%2,%3 /r /x
    Everything after :MAKEVCF makes the vcf file, the avs file then calls VirtualDub[Mod]. Like I said, you may have to alter the vcf lines to suit.
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!