View Full Version : DGIndex Batcher v1.18 (17 Apr 2018)
StainlessS
7th December 2011, 07:29
DGIndex Batcher - by StainlessS
http://forum.doom9.org/showthread.php?t=163369
http://www.autoitscript.com/forum/topic/137933-megui-autoencode-and-dgindex-batchers/
Utility to allow group selection of mpeg files for batching in DGIndex.
"MPG Files (*.vob;*.mpg;*.mpeg;*.m1v;*.m2v;*.mpv;*.tp;*.ts;*.trp;*.m2t;*.m2ts;*.pva;*.vro)"
The Batcher will display a little blue icon with an white pyramid, in the system tray.
The utility is written in 'AutoIt' script language and compiled to a native running
executable without need for the script development environment.
"DGIndex-Batcher.ini" will be used for the default paths so that it is not
necessary to re-build the executable to change defaults, the ini file will be created on first
use in the same directory as the batcher executable.
On start up, will auto execute DGIndex in default directory "C:\NON-INSTALL\DGIndex\DGIndex.exe".
If DGIndex not found in that directory, then will prompt user for the path to DGIndex, the
new default path will be saved in the ini file.
Can execute DGIndex before the batcher and the batcher will then use the instance of DGIndex
that is already running instead of auto loading it.
The default input mpeg clip directory is likewise saved in the ini file.
All of the DGIndex options should be set before using the batcher. In particular, the AVS
template should be set. Just like DGIndex, only 1 avs file will be created, no matter
how many audio streams exist in the mpegs. Refer to DGIndex docs for further info on
settings etc.
v0.01, When the batcher is active, you can press the 'PAUSE' key (usually above Page Up)
and the batcher will pause execution, pressing again will continue the batcher
from where it left off. Press 'SHIFT+CTRL+ALT+PAUSE' and the batcher will terminate.
v1.00, New options in GUI.
Auto Overwrite,
will overwrite existing *.d2v files. (This will NOT be implemented in the
MeGUI Batcher for eg MP4 files, dont bother asking).
Beep, on/off,
saves DarkT's girlfriend getting woken up if off.
Auto Close,
close on completion without message box.
Call MeGUI Batcher,
will ask for location of partner batcher for MeGUI (source supplied)
so as to use DGIndex batcher to index mpeg files and pass the results to the MeGUI Batcher
which will feed them into MeGUI.
MeGUI Batcher STOP,
Stop at MeGUI Batcher GUI.
Note, the MeGUI and MeGUI batcher settings should have been setup prior to using
the 'Call MeGUI Batcher' option, The output directory of DGIndex Batcher will be fed into
the MeGUI batcher, ie no need to set it in MeGUI Batcher first. NOTE ALL avs files in the
DGIndex output folder will be fed into the MeGUI batcher.
v1.11, New options in GUI.
Auto Overwrite Avs, deletes avs file as DGIndex will only overwrite existing d2v's, and will
leave any existing avs file as is.
Ignore Audio Delay Warning, will just click on OK button if this dialog box appears, will
also produce a popup log file if this occurs.
v1.14, 'Insert Infos' insert some stuff from DGIndex Information Window into AVS template file. (See AVS File)
"Correct Illegal Field Transition", causes batcher to give automatic answer to such a dialog box.
Any File causing any out of ordinary behaviour, will be sent to the "SaveDirectory\PROBLEM\" folder
and will NOT be sent to MeGUI auto Encode Batcher if using that utility.
Thats about it, except that you should not try to confuse the batcher by messing with
the mouse or keyboard when it is busy. There has been no attempt to lock out user input
when busy, this would require admin privileges on Vista+.
If the batcher should stall, then exit via the system tray icon right button, 'exit'.
Enjoy.
StainlessS
-----------------------------------------------------------------------------------
Required for re-building of the script, AutoIt is the interpreter/compiler and SciTE4AutoIt3
is an IDE (Integrated Development Environment) for it. To re-build, just click on 'Build' in the
tools menu of the IDE.
AutoIt:- http://en.wikipedia.org/wiki/AutoIt
For details on AutoIt3 : http://www.AutoItscript.com/autoit3
SciTE4AutoIt3 homepage : http://www.AutoItscript.com/autoit3/scite
-----------------------------------------------------------------------------------
v0.00 07 Dec 2011 - First Release.
v0.01 12 Dec 2011 - Added Joining of Files sets (eg 1.VOB + 2.VOB etc).
Added Hotkeys, 'PAUSE' button (above 'Page Up' usually) is pause script. 'SHIFT+CTRL+ALT+PAUSE' is QUIT Batcher.
No longer using "[CLASS:WindowsForms10.Window.8.app.0.378734a]" style ID's as have found that they
are based on the path to the executable and so will fail if not in the default path (the number on the
end is some kind of hash on the path/filename).
v1.00 20 Dec 2011 - Source script is a DEBUG VERSION.
Added options, Auto Overwrite, Beep, Auto Close, Call Megui Batcher, Megui Batcher STOP.
v1.10 24 Feb 2012 - Source script is a DEBUG VERSION.
Fix for Windows 7, Select All when calling MeGUI batcher (different control in W7 FileSelector).
Re-compiled with AutoIt v3.3.8.0
v1.11 10 June 2012 - Changed to Freeware licence. Sped up mouse a bit.
New options in GUI. Auto Overwrite Avs, deletes avs file as DGIndex will only overwrite existing
d2v's, and will leave any existing avs file as is.
Ignore Audio Delay Warning, will just click on OK button if this dialog box appears, will also
produce a popup log file if this occurs.
v1.12 26 June 2012,
Fixed, broken OnAutoItExitRegister.
Fixed, detects & restores minimized target window, could fail in Executable (not script) when batcher called
via eg desktop shortcut and target is running but minimized (and no other windows open).
Added Development Debug output log file, controllable via source script only ($WriteDebugFile=true).
v1.13, 21 Sept 2013
Fixed ini read/write for JOIN_FILES and EXECUTABLE. Changed default Timeout to 300 seconds
v1.14, 23 Sept 2013
Added: Insert Infos, Correct Field Order, Move Problem Files.
v1.14, Added "Insert Infos" and "Correct Illegal Field Transition" options.
v1.15, 23 Feb 2015, Fixed, Append Slash to directory eg "D:" appends "\" when sent to FileSelector. Recompile AutoIt v3.3.12.
v1.16, 02 June 2015. Allow some special characters in filenames eg '#!+'.
v1.17, 06 Feb 2016. Re-compile for AutoIt v3.3.14.2
v1.18, 13 Mar 2018, Recompile AutoIt v3.3.14.4
v1.19, 13 July 2018, Recompile AutoIt v3.3.14.5
v1.20, 24 Jan 2021, Some fixes.
v1.21, 28 Jan 2021, Close Preview window before Information Window, avoid DGIndex v2.0 Not Responding when Full Indexing.
v1.22, 29 Jan 2021, Cockup in v1.21, had left DGIndex bug testing code uncommented, bug still existed. Fixed.
Supports all the formats supported by DGIndex ie
"MPG Files (*.vob;*.mpg;*.mpeg;*.m1v;*.m2v;*.mpv;*.tp;*.ts;*.trp;*.m2t;*.m2ts;*.pva;*.vro)"
Also, Concatenation of File sets implemented, eg 1.vob + 2.vob etc.
Dummy Template included to demo additional info extracted from DGIndex Information window.
# Standard DGIndex Infos
VideoFileName = "__vid__"
AudioFileName = "__aud__"
AudioDelay = Value("__del__")
# DGIndex_Batcher Infos
# Stuff from DGIndex Information Window will be inserted into below '__stuff__' insertion markers.
DGI_Field_Order = "__Field_Order__"
DGI_Stream_Type = "__Stream_Type__"
DGI_Profile = "__Profile__"
DGI_Frame_Size = "__Frame_Size__"
DGI_Display_Size= "__Display_Size__"
DGI_Aspect_Ratio= "__Aspect_Ratio__"
DGI_Frame_Rate = "__Frame_Rate__"
DGI_Video_Type = "__Video_Type__"
DGI_Sequence = "__Sequence__"
DGI_Frame_Struct= "__Frame_Struct__"
DGI_Frame_Type = "__Frame_Type__"
DGI_Colorimetry = "__Colorimetry__"
Mpeg2Source(VideoFileName)
AudioExt = GetFileExtension(AudioFileName)
Aud= (AudioExt==".ac3") ? NICAC3Source(AudioFileName,channels=2,DRC=0)
\ : (AudioExt==".mpa"||AudioExt=="mp1"||AudioExt==".mp2"||AudioExt==".mp3") ? NicMPG123Source(AudioFileName,Normalize=False)
\ : (AudioExt==".wav") ? RaWavSource(AudioFileName)
\ : (AudioExt==".dts") ? NicDTSSource(AudioFileName)
\ : 0
#Assert(!isInt(Aud),"NO AUDIO")
(!isInt(Aud)) ? AudioDubEx(Aud).DelayAudio(AudioDelay).Trim(0,0) : NOP # Trim, chop/add audio to length
(!isInt(Aud) && AudioRate() <> 44100) ? ResampleAudio(44100) : NOP
S= \
"Field Order = " + DGI_Field_Order + "\n" + \
"Stream Type = " + DGI_Stream_Type + "\n" + \
"Profile = " + DGI_Profile + "\n" + \
"Frame Size = " + DGI_Frame_Size + "\n" + \
"Display Size = " + DGI_Display_Size + "\n" + \
"Aspect Ratio = " + DGI_Aspect_Ratio + "\n" + \
"Frame Rate = " + DGI_Frame_Rate + "\n" + \
"Video Type = " + DGI_Video_Type + "\n" + \
"Sequence = " + DGI_Sequence + "\n" + \
"Frame Struct = " + DGI_Frame_Struct + "\n" + \
"Colorimetry = " + DGI_Colorimetry
(DGI_Field_Order != "__Field_Order__") ? SubTitle(S,lsp=0,font="Courier New") : NOP # Dont Show Subs if Infos not inserted
GOT_INFOS = (DGI_Aspect_Ratio=="16:9 [3]")
FAR = (GOT_INFOS) ? 16/9.0 : (DGI_Aspect_Ratio=="4:3 [2]") ? 4/3.0 : 1
Eval( (FAR!=1) ? "MeGUI_DarX=Round(FAR*1000) MeGUI_DarY=1000" : "" )
Return Last
##########
Function GetFileExtension(string fn) { rfn=fn.RevStr i=rfn.FindStr(".") Return (i==0) ? "" : rfn.LeftStr(i).RevStr }
What above template might look like when filled in, here:- http://forum.doom9.org/showthread.php?p=1645220#post1645220
Get It @ MediaFire in sig (UTILITY FOLDER):
Also get the partner MeGUI AutoEncode batcher already compiled, here (or in sig):-
http://forum.doom9.org/showthread.php?t=163343
NOTE, Both MeGUI Batcher and DGIndex Batcher contain the source for BOTH utilities.
StainlessS
12th December 2011, 04:36
New version DGIndex Batcher v0.01, See first post.
StainlessS
12th December 2011, 18:41
I wondered if the DGIndex Batcher could be persuaded to work with DGAVCIndex (which I had not previously used).
I spent about 10 minutes all told and got it working OK, Apart from a few text strings referring to DGIndex or VOBs
which you could change yourself if you wish, just search for DGIndex and change them.
Below are the pertinent lines to change to get it to work (DGAVCIndex does not support Joining of file sets
so although the batcher will oblige, it will not work EDIT: Only the first file in the set will be output by DGAVCIndex).
Presumably, could be equally easily changed for DGNVIndex.
At the beggining of the file.
Global Const $BATCHER_NAME = "DGAVCIndex_Batcher_v0.00"
Global Const $BATCHER_INI = "DGAVCIndex_Batcher.ini"
Global Const $DEFAULT_EXECUTABLE = "C:\NON-INSTALL\DGAVCDec\DGAVCIndex.exe" ; Modify to suit
Global Const $PROCESS_NAME = "DGAVCIndex.exe"
Global Const $MAIN_WN = "[CLASS:DGAVCIndex]"
Global Const $FILTER = "AVC Files (*.264;*.h264;*.AVC;*.m2t;*m2ts;*.mts;*.tp;*.ts;*.Trp)"
A bit further down.
; Check if DGAVCIndex is already running, if not, then start it.
If Not WinExists($MAIN_WN) Then
If $DEFAULT_AUTO_EXECUTE Then
Do
; Dont enclose Working Directory ($CLIP_DIRECTORY) in quotes, it dont work.
Run('"' & $EXECUTABLE & '"', $CLIP_DIRECTORY & "\")
If @error = 0 Then
ProcessWait($PROCESS_NAME)
Sleep(1000) ; a little time to get up, and a window
ExitLoop
EndIf
If MsgBox(8192 + 32 + 1, "Problem Unable to run DGAVCIndex", "Find DGAVCIndex.exe") <> 1 Then Exit
$EXECUTABLE = FileOpenDialog("Finding DGAVCIndex.Exe", $EXECUTABLE, "(DGAVCIndex.Exe)", 1 + 2, "DGAVCIndex.Exe")
Until 1 + 1 <> 2 ; 4E4, ... For a long time.
Else
MsgBox(0, "Problem", "DGAVCIndex does not appear to be started, please check")
Exit
EndIf
EndIf
Near the end of the file (Was 'FINISH').
Fn_WinWaitActive("Information", "Finished!", 3600) ; wait for a maximum of 1 hour for indexing to complete.
Fn_WinClose("Information", "Finished!") ; Close the Information window
Groucho2004
12th December 2011, 19:32
[QUOTE=StainlessS;1544604]
Do
Until 1 + 1 <> 2 ; 4E4, ... For a long time.
Priceless :D
StainlessS
14th December 2011, 00:25
@DarkT,
If you read this, I'm wondering, how would it sound if I implemented something in DGIndex Batcher that,
after doing it's stuff, called the MeGUI Batcher, to do it's stuff, ie a sort of one-click thing.
I wholey intend to do this for myself, but would you also find it useful?.
If any of the above makes sense to you and you envisage something you like, then please
tell how that envisagement went (I know how I see it but I want your view).
EDIT: assuming it works at all for you ? EDIT:, any body elses views would also be welcome.
EDIT:, but the one-click thing here would be a one-click on a directory, ie group selection
one-click.
DarkT
14th December 2011, 03:40
Heya, not really working with those filetypes at the moment, BUT - keep up the good work, I'm sure there'll be a TON of people who'd find the whole dgindex ---> megui thingy very useful. Not having this batching possibility in megui is the only reason I am looking at other programs like stax-something and ripbot and the others, HANDBRAKE - seems like an intresting alternative... But... I am postponing it all because I am used to megui, and am hoping your megui batcher will work ;). Anyway, will go see how it goes...
StainlessS
14th December 2011, 14:19
DarkT,
Check out FFCoder.
DarkT
14th December 2011, 19:35
Checked it out, looks really cool, also the avs media thingy looks awesome... But now that I haz your Batching program, there's no need ;). Though, to be honest, I'd like to envetually make a comparison between the currently available programs... Like, in terms of options, coz, they would prolyl encode same speed... Anyway..
StainlessS
21st December 2011, 00:57
New Version DGIndex Batcher v1.00 20 Dec 2011, see 1st post.
Now can auto call MeGUI AutoEncode Batcher on completion and feed the *.AVS files
it creates, into the MeGUI Batcher, ie group selection of Mpeg files, calls DGIndex to index
them and create a set of AVS files using your template AVS file, and then passes them
through the MeGUI batcher to do the lot in MeGUI. I queued about 59 mpg's for
MP4 conversion the other day and it did the lot in one go without intervention.
StainlessS
24th February 2012, 16:47
New version DGIndex Batcher v1.10, 24 Feb 2012, see 1st post.
Working Well, XP, Vista, W7.
Edit: Previous version had problem on W7 controlling the MeGUI Batcher,
where the control on the MeGUI Batcher fileselector was of a different type to
Vista & XP. Was not a major problem, just failed to be able to Select All
of the AVS files for input into MeGUI batcher, had to do it manual instead.
Fixed now.
StainlessS
28th May 2012, 12:27
BELOW MOVED HERE FROM ANOTHER THREAD:
http://forum.doom9.org/showthread.php?p=1576139#post1576139
Hi, the below test script was something I robbed from a MEGUI wiki entry a couple of days ago:
http://mewiki.project357.com/wiki/Me...iSynth_Scripts
The purpose of below is just to ascertain that MEGUI does correctly process the Aspect Ratio signalling,
and it does.
# Based on MEGUI WIKI : http://mewiki.project357.com/wiki/MeGUI/Aspect_Ratio_Signalling_in_AviSynth_Scripts
#
# SAR=Sample ie pixel Aspect Ratio. FAR=Frame Aspect Ratio (width/height). DAR=Aspect Ratio for Display.
ColorBars().ConvertToYV12().Trim(0,300) # 640x480
DAR = 16.0/9.0 # Pretend (FULL FRAME) DAR = 16/9 (Choose your variety of poison)
SAR = getSAR(DAR) # Calc SAR, no change when cropping.
#Crop(20,20,-20,-20) # We dont want to change DAR here, just testing if MEGUI actually sets 16:9 Aspect ratio correctly.
NewDAR = getDAR(SAR) # Calc new DAR after crop and before Resize. DAR no change when resizing.
LanczosResize(200,300) # Test to see if MEGUI sets DAR 16:9. (FAR = tall and skinny, MEGUI should set DAR=16:9 ie short and fat)
SignalDAR(NewDAR) # Signal DAR to MeGUI : EDIT: Change Name to SignalDAR (From SetDar)
return last
Function GetDAR(clip c, float SAR) { return Float(c.width) * SAR / Float(c.height)} # Gets the DAR from the SAR
Function GetSAR(clip c, float DAR) { return DAR * Float(c.height) / Float(c.width) } # Gets the SAR from the DAR
Function SignalDAR(float DAR) { global MeGUI_darx = Round(1000 * DAR) global MeGUI_dary = 1000 } # Signals DAR for MEGUI
# Calculating DAR before crop/resize-with-crop
ColorBars().ConvertToYV12().Trim(0,300) # 640x480
DAR = 16.0/9.0 # Pretend (FULL FRAME) DAR = 16/9 (Choose your variety of poison)
#CROPX = 0 CROPY = 0 CROPW = 0 CROPH = 0
CROPX = 1.3 CROPY = 1.2 CROPW = -1.5 CROPH = -1.1
DAR=GetCropDAR(DAR,CROPX,CROPY,CROPW,CROPH) # Pre-calc New DAR after resize with crop(DAR will change a little due to crop)
LanczosResize(240,400,CROPX,CROPY,CROPW,CROPH)
Subtitle(String(DAR))
SignalDAR(DAR) # Signal DAR to MeGUI
return last
Function GetDAR(clip c, float SAR) { return Float(c.width) * SAR / Float(c.height)} # Gets the DAR from the SAR
Function GetSAR(clip c, float DAR) { return DAR * Float(c.height) / Float(c.width) } # Gets the SAR from the DAR
Function SignalDAR(float DAR) { global MeGUI_darx = Round(1000 * DAR) global MeGUI_dary = 1000 } # Signals DAR for MEGUI
Function GetCropDAR(clip c,float DAR,float "X",float "Y",float "W",float "H") {
# Call prior to Crop/Resize with (possibly fractional) cropping to calc resultant DAR, X,Y,W,H are cropping coords
# DAR = FAR * SAR ::: FAR = DAR / SAR ::: SAR = DAR / FAR
#
X=Float(Default(X,0.0)) Y=Float(Default(Y,0.0)) W=Float(Default(W,0.0)) H=Float(Default(H,0.0))
W=W<=0.0?c.width+W-X:W H=H<=0.0?c.height+H-Y:H
# Irrespective of what various resizers in various Avisynth versions silently correct, we dont allow eg -ve X
Assert(X>=0.0&&X < c.width, "GetCropDAR: Invalid X("+String(X)+")")
Assert(Y>=0.0&&Y < c.height,"GetCropDAR: Invalid Y("+String(Y)+")")
Assert(W> 0.0&&X+W<=c.width, "GetCropDAR: Invalid W("+String(W)+")")
Assert(H> 0.0&&Y+H<=c.height,"GetCropDAR: Invalid H("+String(H)+")")
Return c.GetSAR(DAR) * W / H
}
Intend to use some of above in AVS Template file for DGIndex. Will try to get eg Display Aspect Ratio from
DGIndex and embed it in the AVS file as happens with Video and Audio clip filenames and also the Audio delay.
If only more info could easily be embedded by DGIndex in an AVS template, just because there is no native
aspect ratio stored in AVI files, does not mean that it is totally superfluous in your AVS script.
Also eg, flags for IVTC, Deinterlacing, perhaps even a suggestions for autocrop, all could be provided and embedded
in a template AVS file. To sleep, perchance to dream.
StainlessS
10th June 2012, 19:44
New Version v1.11 - 10 June 2012, see 1st post.
StainlessS
26th June 2012, 21:57
New version v1.12 - 26 June 2012, see 1st post.
Fixed, detects & restores minimized target window, could fail in Executable (not script) when batcher called
via eg desktop shortcut and target is running but minimized (and no other windows open).
Minister
19th September 2013, 18:41
As per our PMs - I set the two debug flags to True, however like all the other changes I made to the au3 file, it ignores them. If I remove the au3 file all together and run batcher it still behaves as though there was an au3 file there.
The content of the ini file I made is as follows, named DGIndexNV_Batcher.ini
[Default]
EXECUTABLE=D:\Video x86\dgdecnv2045\DGIndexNV.exe
MEGUI_BATCHER=H:\Sort\DGIndex_Batcher_20120626\DGIndex_Batcher_20120626\MeGUI_AutoEncode_Batcher.exe
CLIP_DIRECTORY=G:\Blu Ray\
SAVE_DIRECTORY=G:\Blu Ray\
JOIN_FILES=0
JOIN_FROM_ONE=0
AUTO_OVERWRITE=0
AUTO_OVERWRITE_AVS=0
IGNORE_AUDIO_DELAY=0
AUTO_CLOSE=1
BEEPER=0
CALL_MEGUI=0
MEGUI_STOP=0
The ini file it always recreates is as follows
[Default]
EXECUTABLE=C:\NON-INSTALL\DGMpgDec\DGIndex.exe
MEGUI_BATCHER=D:\Video x86\DGIndex_Batcher_20120626\DGIndex_Batcher_20120626 For DGIndexNV\MeGUI_AutoEncode_Batcher.exe
CLIP_DIRECTORY=G:\Blu Ray\
SAVE_DIRECTORY=G:\Blu Ray\
JOIN_FILES=0
JOIN_FROM_ONE=0
AUTO_OVERWRITE=0
AUTO_OVERWRITE_AVS=0
IGNORE_AUDIO_DELAY=0
AUTO_CLOSE=0
BEEPER=1
CALL_MEGUI=0
MEGUI_STOP=0
Here is a link to the modified au3 file
http://www.adrive.com/public/KZSg8k/DGIndex_Batcher.zip
StainlessS
19th September 2013, 23:33
Minister,
Find here fixed (I hope, found a couple of problems) script.
EDIT: LINK REMOVED
Thank you for pointing out the probs.
Give it a whirl, have left debug switched on.
EDIT: Cant test it myself, dont have correct video card.
Minister
20th September 2013, 00:53
I appreciate you trying, but that still doesn't solve the issue. Its as if its reading the au3 file from somewhere else.
As an experiment I deleted all the files except for DGIndex_Batcher.exe. When I ran it it still functioned as though it was reading the default au3 file from somewhere. That kind of thing was what led to me to speculate about rebooting, thinking maybe its reading the original au3 file from cache/temp.
If you have any other suggestions I'd be willing to give it a go.
Thanks
StainlessS
20th September 2013, 03:50
I dont really have a clue what to say.
You have used the 'build' option on menu and are clicking on the exe file ?
Its as if its reading the au3 file from somewhere else.
What does that mean, the IDE is running ?
You running latest version Autoit (about a year old) ?
What OS, 64 bit ?
EDIT: Post log, processing 1 file without calling MeGUI batcher..
Minister
20th September 2013, 13:30
That last post cleared some thing up. When I read your initial post about editing the au3 file what I did was open that file in a text editor, make the changes, then tried to run your DGIndex_Batcher.exe with it. I didn't realize I had to use AutoIt to recompile a new exe.
When I was saying it seemed like the exe was reading the au3 file from somewhere else, I thought everytime the exe was run it read the au3 file for its information.
Now that I've used AutoIt to generate a new exe the batch is partially working. It gets up to the point where it opens DGIndexNV, then after a short bit this error message comes up -
Error on WinWaitActive Failed
Title=[CLASS:DGIndexNV]
Text={
From the log -
Fn_WinActivate '[CLASS:DGIndexNV]','['
Fn_WinWaitActive '[CLASS:DGIndexNV]','[',Timeout=30
!!! WinWait, Does not exist, Timeout ERROR !!! (30 Seconds)
!!! Fn_WinWaitActive FAILED !!!
Fn_ErrMsgBox
Fn_Exit
I used Au3Info.exe on the DGIndexNV.exe when open to see if its CLASS was the appropriate name. It was the same.
I am using Windows 8 Pro x64.
StainlessS
21st September 2013, 16:11
I didn't realize I had to use AutoIt to recompile a new exe
Ah well that clarified a few things in my head, was most confused.
I used Au3Info.exe on the DGIndexNV.exe when open to see if its CLASS was the appropriate name. It was the same.
That was correct thing to do.
Text={
Above from 1st code block is wrong, presume that you copied text by hand as should have read 'Text=[', ie square bracket.
Only thing I can think is that DGIndexNV does not have a visible '[' on the main window. DGIndex does for marking frame range.
I cant even run DGIndexNV as I dont have a required NVidia dll.
Sorry, you'll have to figure it out yourself, or perhaps someone with AutoIt knowledge and an NVidia card could assist.
Perhaps start a new thread for assistance, I'm happy to help where I can but have no real idea what is wrong.
By the way, you might want to try by running DGIndexNV BEFORE running the batcher and see what happens, probably
still error as $MAIN_WN_TXT = "[" will still be used. Maybe try changing $MAIN_WN_TXT to some other text in window
if '[' is not used.
Good luck.
PS, the '[' could (I think) even be replaced by empty string "" as it is only a sort of double check to see it got the
correct window.
PPS, In AutoIt IDE (the better SciTE one not the default built-in one) placing cursor on command and pressing
the F1 function key brings up help on the command.
I did google search on "DGIndexNV.jpg" and it came up with this:
http://www.icordforum.com/wiki/index.php?title=Datei:DGIndexNV.jpg&limit=50
So it looks like "[" should work, dont know why it dont.
EDIT: Perhaps the '[' is a graphic rather than text, try looking for another bit of text.
EDIT: Yep, looks like graphic, change to something else. Perhaps other parts of batcher will fail for same reason.
Minister
21st September 2013, 22:27
Your suggestion about removing the [ worked perfectly. However, liked you predicted, other parts of the batcher did fail.
It got hung up on Step 13, with DGIndexNV stopped at the File List menu. The debug log showed the WinWait did not exist for this window. Using Au3Info I was able to figure out the calls had all moved to 1 capital letter, followed by small letters. So 'DEL ALL' became 'Del All', etc.
I found all of these commands in the script and changed them.
After that was compiled it worked proper!
I went back and changed the au3 file for all the DGIndex references I could find, changed them to DGIndexNV, compiled and tested, and it all seems to work.
Here is a link to download this version. Feel free to offer it with the others ones you share on MediaFire.
http://www.adrive.com/public/uzRvDj/DGIndexNV_Batcher.zip
Give it a look over to see if anything seems off.
Let me know when you downloaded it so I can remove it from my Adrive.
Thanks for the initial batcher, and all your patience with helping me get this to work with DGIndexNV. Much appreciated.
StainlessS
21st September 2013, 22:57
v1.13, 21 Sept 2013
Fixed ini read/write for JOIN_FILES and EXECUTABLE. Changed default Timeout to 300 seconds
See first post.
@Minister
I took a copy of your zip, although as I cannot support, it will not go on MediaFire. You are welcome to put it in a new thread, I'll help where I can.
Alternatively, you could create an attachment in this thread, replace the existing Adrive link if you like.
@ All
It is possible that there will be a new version DGIndex Batcher soon, am currently playing with possibility of inserting text from DGIndex Information
window into the created AVS file.
eg source template
# Standard DGIndex Infos
VideoFileName = "__vid__"
AudioFileName = "__aud__"
AudioDelay = Value("__del__")
# DGIndex_Batcher Infos
DGI_Field_Order = "__Field_Order__"
DGI_Stream_Type = "__Stream_Type__"
DGI_Profile = "__Profile__"
DGI_Frame_Size = "__Frame_Size__"
DGI_Display_Size= "__Display_Size__"
DGI_Aspect_Ratio= "__Aspect_Ratio__"
DGI_Frame_Rate = "__Frame_Rate__"
DGI_Video_Type = "__Video_Type__"
DGI_Sequence = "__Sequence__"
DGI_Frame_Struct= "__Frame_Struct__"
DGI_Frame_Type = "__Frame_Type__"
DGI_Colorimetry = "__Colorimetry__"
DGI_Frame_Rpts = "__Frame_Rpts__"
DGI_Field_Rpts = "__Field_Rpts__"
return colorbars
After batching
# Standard DGIndex Infos
VideoFileName = "C:\T\PAL_I_Top_43_P-Cabaret.d2v"
AudioFileName = "C:\T\PAL_I_Top_43_P-Cabaret T80 2_0ch 224Kbps DELAY -48ms.ac3"
AudioDelay = Value("-0.048")
# DGIndex_Batcher Infos
DGI_Field_Order = "Top"
DGI_Stream_Type = "MPEG2 Program"
DGI_Profile = "main@main"
DGI_Frame_Size = "720x576"
DGI_Display_Size= "720x576"
DGI_Aspect_Ratio= "4:3 [2]"
DGI_Frame_Rate = "25.000000 fps"
DGI_Video_Type = "PAL"
DGI_Sequence = "Field/Frame"
DGI_Frame_Struct= "Frame"
DGI_Frame_Type = "Interlaced"
DGI_Colorimetry = "BT.470-2 B,G"
DGI_Frame_Rpts = "0"
DGI_Field_Rpts = "0"
return colorbars
Minister
21st September 2013, 23:22
I tried uploading it to here, but unfortunately its a little too large, even when compressed at max settings.
For now I'll leave it active on Adrive. Maybe I will make a thread for it sometime soon as you suggested so others could find it more easily.
StainlessS
21st September 2013, 23:27
You could just attach the script file.
Minister
21st September 2013, 23:37
Ah yes.
Here is the script file that one can use in AutoIt to generate a batcher for DGIndexNV. Just load it into Aut2exe and convert.
Thanks again StainlessS
StainlessS
22nd September 2013, 15:31
Minister's attachment is missing the Common\BatchFunctions.au3 file, can be gotten from either
DGIndexBatcher or MeGUI_AutoEncodeBatcher zips.
EDIT: You would need AutoIt to either run the Minister Script under interpreter and best also get
SciITe4AutoIt (also available from AutoIt site), it is a better IDE and editor. To compile into an
independent executable just click on 'Build' on the Tools menu (just a single click, much easier than
using the menu 'Compile' option).
StainlessS
25th September 2013, 03:12
DGIndex Batcher v1.14, see 1st post.
additional doc (GUI setting)
v1.14, 'Insert Infos' insert some stuff from DGIndex Information Window into AVS template file. (See AVS File)
"Correct Illegal Field Transition", causes batcher to give automatic (EDIT: Yes answer, otherwise No) answer to such a dialog box.
Any File causing any out of ordinary behaviour, will be sent to the "SaveDirectory\PROBLEM\" folder
(AVS) and will NOT be sent to MeGUI Auto Encode Batcher if using that utility.
Additional AVS DGIndex Template file:
# Standard DGIndex Infos
VideoFileName = "__vid__"
AudioFileName = "__aud__"
AudioDelay = Value("__del__")
# DGIndex_Batcher Infos
# Stuff from DGIndex Information Window will be inserted into below '__stuff__' insertion markers.
DGI_Field_Order = "__Field_Order__"
DGI_Stream_Type = "__Stream_Type__"
DGI_Profile = "__Profile__"
DGI_Frame_Size = "__Frame_Size__"
DGI_Display_Size= "__Display_Size__"
DGI_Aspect_Ratio= "__Aspect_Ratio__"
DGI_Frame_Rate = "__Frame_Rate__"
DGI_Video_Type = "__Video_Type__"
DGI_Sequence = "__Sequence__"
DGI_Frame_Struct= "__Frame_Struct__"
DGI_Frame_Type = "__Frame_Type__"
DGI_Colorimetry = "__Colorimetry__"
Vid = Mpeg2Source(VideoFileName)
Aud = NicAC3Source(AudioFileName,Channels=2) # In some cases ac3, but use 3 letter extension to determine type.
AudioDub(Vid,Aud)
DelayAudio(AudioDelay)
S= \
"Field Order = " + DGI_Field_Order + "\n" + \
"Stream Type = " + DGI_Stream_Type + "\n" + \
"Profile = " + DGI_Profile + "\n" + \
"Frame Size = " + DGI_Frame_Size + "\n" + \
"Display Size = " + DGI_Display_Size + "\n" + \
"Aspect Ratio = " + DGI_Aspect_Ratio + "\n" + \
"Frame Rate = " + DGI_Frame_Rate + "\n" + \
"Video Type = " + DGI_Video_Type + "\n" + \
"Sequence = " + DGI_Sequence + "\n" + \
"Frame Struct = " + DGI_Frame_Struct + "\n" + \
"Colorimetry = " + DGI_Colorimetry
SubTitle(S,lsp=0,font="Courier New")
Return Last. Trim (100,-500)
Might come out looking something like this:
# Standard DGIndex Infos
VideoFileName = "C:\T\PAL-P_169_P-AeonFlux.d2v"
AudioFileName = "C:\T\PAL-P_169_P-AeonFlux T80 3_2ch 448Kbps DELAY -280ms.ac3"
AudioDelay = Value("-0.280")
# DGIndex_Batcher Infos
DGI_Field_Order = "Top"
DGI_Stream_Type = "MPEG2 Program"
DGI_Profile = "main@main"
DGI_Frame_Size = "720x576"
DGI_Display_Size= "720x576"
DGI_Aspect_Ratio= "16:9 [3]"
DGI_Frame_Rate = "25.000000 fps"
DGI_Video_Type = "PAL"
DGI_Sequence = "Field/Frame"
DGI_Frame_Struct= "Frame"
DGI_Frame_Type = "Progressive"
DGI_Colorimetry = "BT.470-2 B,G"
Vid = Mpeg2Source(VideoFileName)
Aud = NicAC3Source(AudioFileName,Channels=2)
AudioDub(Vid,Aud)
DelayAudio(AudioDelay)
S= \
"Field Order = " + DGI_Field_Order + "\n" + \
"Stream Type = " + DGI_Stream_Type + "\n" + \
"Profile = " + DGI_Profile + "\n" + \
"Frame Size = " + DGI_Frame_Size + "\n" + \
"Display Size = " + DGI_Display_Size + "\n" + \
"Aspect Ratio = " + DGI_Aspect_Ratio + "\n" + \
"Frame Rate = " + DGI_Frame_Rate + "\n" + \
"Video Type = " + DGI_Video_Type + "\n" + \
"Sequence = " + DGI_Sequence + "\n" + \
"Frame Struct = " + DGI_Frame_Struct + "\n" + \
"Colorimetry = " + DGI_Colorimetry
SubTitle(S,lsp=0,font="Courier New")
Return Last. Trim (100,-500)
EDIT: Other Infos dont seem terribly useful.
EDIT: The above, "DGI_Field_Order = 'Top'" is gotten from a few second Preview in DGIndex as it is not available
in the Indexing Information Window (and may well be wrong if a Field Order Transition dialog box is issued).
EDIT: Tested on 60 ~350MB ffmpeg VOB cuts, Indexed in DGIndex Batcher, and auto sent through MeGUI
AutoEncode Batcher, and on to MeGUI with all 60 VOB's converted to mp4 automatically (EDIT: Only 500 frames trim mp4'ed per VOB).
StainlessS
23rd February 2015, 13:42
New version v1.15, see 1st post.
StainlessS
2nd June 2015, 01:37
New Version v1.16, See 1st post.
v1.16, 02 June 2015. Allow some special characters in filenames eg '#!+'.
StainlessS
6th February 2016, 12:34
DGIndex Batcher v1.17, Re-compile with AutoIt v3.3.14.2, see 1st post.
StainlessS
17th April 2018, 15:03
DGIndex Batcher v1.18, Re-compile with AutoIt v3.3.14.5, see 1st post.
Danette
18th January 2021, 14:43
First: great tool! I've been using it, frequently, for years.
I just tried using the new version of DGMPGDec v2.0.00 (placed in the DGIndex folder ). However, DGIndex Batcher freezes during the second preview scan.
Is it worth pursuing this further, i.e.; does the new DGMPGDec v2.0.00 give significantly better performance than the 1.5.8 with DGIndex Batcher?
videoh
18th January 2021, 16:20
DGMPGDec is now at version 2002. DGIndex is twice as fast so it will be worth getting things working.
@SS
Please let me know if I need to fix anything.
real.finder
18th January 2021, 16:57
DGMPGDec is now at version 2002. DGIndex is twice as fast so it will be worth getting things working.
@SS
Please let me know if I need to fix anything.
nice, did it has DGMPGDec-158-mod-src_20171024 (https://www.solidfiles.com/v/nDLjG8yqPrM7Z) changes?
also, since BlindPP is part of it, the update added HBD to it?
kedautinh12
18th January 2021, 17:33
DGMPGDec is now at version 2002. DGIndex is twice as fast so it will be worth getting things working.
@SS
Please let me know if I need to fix anything.
I think DGMPGDec 2.0.0.2 still read file slower than MPEG2DecPlus
videoh
18th January 2021, 18:10
nice, did it has DGMPGDec-158-mod-src_20171024 (https://www.solidfiles.com/v/nDLjG8yqPrM7Z) changes? Sorry, never heard of that. My new version (based on fork from Asd-g) has:
* Speed-optimized DGIndex (32-bit).
* 64-bit DGDecode that supports Avisynth2.6/Avisynth+/Vapoursynth in a single DLL.
also, since BlindPP is part of it, the update added HBD to it? No. If you want that make a request at my forum. The 64-bit DGDecode does not include BlindPP, IIRC.
I think DGMPGDec 2.0.0.2 still read file low than MPEG2DecPlus Still read the file low? If you can restate that in understandable English, I might be able to answer. Thank you.
real.finder
18th January 2021, 18:56
No. If you want that make a request at my forum. The 64-bit DGDecode does not include BlindPP, IIRC.
yes, it needed in some functions like FunkyDeBlock and SoftSharpen https://forum.doom9.org/showpost.php?p=1924917&postcount=264
I just try register in your forum but didn't get an email
videoh
18th January 2021, 19:04
Must be your spam blocker. Several people successfully registered in the last few days. Anyway, I manually activated your account and will send the password to you by PM. Your history earns you immediate Moose Approved status.
Please make a new thread in the DGMPGDec subforum. Thank you.
I also recommend subscribing to the Binaries Update Notification Thread.
StainlessS
18th January 2021, 21:42
Danette,
Bit busy at the moment, I'll try get around to it either tomorrow or Wednesday,
probably something reasonably simple to deal with [need mod and re-compile].
.
@VH,
Please let me know if I need to fix anything.
ThankYou.
I'm guessin' that I just have to make a few changes that will continue to work on old version and also new [hopefully].
Is probably something to do with change in button index or text on button or something like that.
[Vista swapped around button index's on FileSelector, so that index of OK and CANCEL were swapped over, we happily clicked on CANCEL all of the time :(
maybe in different ie MeGUI Batcher, or possible DGIndex batcher, not sure, maybe both]
Danette
18th January 2021, 23:55
StainlessS,
I appreciate the interest and effort. Hopefully, it's an obvious and minor tweak.
kedautinh12
19th January 2021, 00:14
Sr, i mean read file .vob slower than MPEG2DecPlus
videoh
19th January 2021, 03:44
Any evidence for that? Sounds doubtful to me.
kedautinh12
19th January 2021, 20:46
I checked speed of creat file .d2v of DGMPGDec and MPEG2DecPlus. I seen MPEG2DecPlus creat file .d2v faster than DGMPGDec. So i think DGMPGDec read file .vob slower than MPEG2DecPlus
videoh
19th January 2021, 21:45
Last time I checked MPEG2DecPlus contained only the filter DLL. Please link me to the MPEG2DecPlus indexing component that you claim is faster than my DGIndex 2.0.0.3.
wonkey_monkey
19th January 2021, 22:17
I checked speed of creat file .d2v of DGMPGDec and MPEG2DecPlus. I seen MPEG2DecPlus creat file .d2v faster than DGMPGDec. So i think DGMPGDec read file .vob slower than MPEG2DecPlus
Which did you do first?
If you have enough RAM, the entire file may end up being cached by the operating system, so whichever you do last will be faster.
I wrote myself a small utility to preload files so I could scrub through them quicker. It just reads the entire file in 16mb chunks and then closes - the OS then has the file cached for when I open it, either directly into VirtualDub or via DGMpgDec, and seeking is much quicker.
videoh
19th January 2021, 22:48
That's a great point of course, but let's find out exactly what indexers he is comparing.
kedautinh12
20th January 2021, 00:23
I used ver MPEG2DecPlus 0.1.2 from here and replaced DGMPGDec 2.0.0.3 from megui x64 (deleted DGDecode.dll and rename MPEG2DecPlus.dll to DGDecode.dll)
https://github.com/Asd-g/MPEG2DecPlus/releases
kedautinh12
20th January 2021, 00:47
And here is 1.5.8mod and have many change from original 1.5.8 ver
https://github.com/maki-rxrz/DGMPGDec
videoh
20th January 2021, 00:56
I used ver MPEG2DecPlus 0.1.2 from here and replaced DGMPGDec 2.0.0.3 from megui x64 (deleted DGDecode.dll and rename MPEG2DecPlus.dll to DGDecode.dll)
https://github.com/Asd-g/MPEG2DecPlus/releases
That does not include DGIndex! The plugin DLL does not create the D2V file. I don't know, are you just confused?
And here is 1.5.8mod and have many change from original 1.5.8 ver
https://github.com/maki-rxrz/DGMPGDec
I'll look at it, but that is not MPEG2DecPlus, and you did not mention any results with this one. I'll call your bluff, please give me the link to the binary that you tested.
Remember, you said:
I checked speed of creat file .d2v of DGMPGDec and MPEG2DecPlus. What game are you playing?
real.finder
20th January 2021, 01:01
And here is 1.5.8mod and have many change from original 1.5.8 ver
https://github.com/maki-rxrz/DGMPGDec
is it the same as http://www.solidfiles.com/v/nDLjG8yqPrM7Z ?
edit: it seems they are from the same person (maki) https://www.solidfiles.com/v/vzLGwZ2vpzNym
videoh
20th January 2021, 01:49
is it the same as http://www.solidfiles.com/v/nDLjG8yqPrM7Z ?
edit: it seems they are from the same person (maki) https://www.solidfiles.com/v/vzLGwZ2vpzNym Looks like it. My understanding is that the main reason for the fork was to support Japanese. Nevertheless, let's have a shootout!
No binaries in there, so hopefully kedautinh12 will give us a link to the binary he used.
EDIT: Looks like you already built this real.finder:
https://forum.doom9.org/showpost.php?p=1782576&postcount=15
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.