Image Sequence Handler
Ein Autohotkey-Script, mit dem man Bildsequenzen als Video betrachten kann.
Voraussetzungen: AviSynth, einen Bildbetrachter, einen Videoplayer
Optional: Autohotkey
Wenn man viel mit rechenintensiven Grafikprogrammen arbeitet, enthält die eigene Festplatte häufig viele Ordner mit Bildsequenzen. Wenn man nur mal eben reinschauen will, so öffnet sich üblicherweise der Bildbetrachter. Nun will man aber evtl. ein bewegtes Bild sehen und müsste die Bildsequenz nur zum einmal reinschnuppern in ein Video umrechnen. AviSynth bietet netterweise die Möglichkeit, Bildsequenzen direkt und ohne Umrechnung mit jedem Mediaplayer anzuzeigen. Nur will man nicht für jede Sequenz eine AVS-Datei bereitlegen.
Eine Lösung: Ein Autohotkeyscript. Das Script muss als ausführbare Datei kompiliert werden. Dann kann man es mit Windows-Bordmitteln mit den Endungen der Bilddateien verknüpfen, die man üblicherweise nutzt, um Bildsequenzen aus seinem Grafikprogramm auszugeben (zumeist TIF und JPG). In die INI-Datei trägt man Pfad und Dateiname zu seinem Bildbetrachter und Mediaplayer ein.
Wenn nun das Script auf eine einsame Datei stößt, so wird ohne Rückfrage der Bildbetrachter aufgerufen. Findet es jedoch eine Sequenz, so wird man vor die Wahl gestellt: Bildbetrachter, Video unverzerrt, Video als PAL 16:9 oder PAL 4:3. Eine temporäre AVS-Datei wird erzeugt und angezeigt.
ifNotExist, %1% ExitApp IniRead, Viewer, %A_ScriptDir%\imagesequencehandler.ini, Utils, Viewer IniRead, Video, %A_ScriptDir%\imagesequencehandler.ini, Utils, Video ifNotExist, %Viewer% { MsgBox, Viewer: %Viewer%`nnicht gefunden. ExitApp } ifNotExist, %Video% { MsgBox, Video: %Video%`nnicht gefunden. ExitApp } CountMin = 9999999999 CountMax = 0 Splitpath, 1, , DirPath, Extension, Filename FilenameBase := RegExReplace(Filename, "\d*$") if (FilenameBase == Filename) Gosub, Startviewer counter = 0 Loop, %DirPath%\%FilenameBase%*.%Extension% { Splitpath, A_LoopFileName, , , , Filename Number := RegExReplace(Filename, ".*?(\d*)$", "$1") if (Number < CountMin) CountMin := Number if (Number > CountMax) CountMax := Number } if (CountMin == CountMax) Gosub, StartViewer Gui, Add, Button, W100 H50 gStartViewer Default, &1 Bildbetrachter Gui, Add, Button, W100 H50 gStartVideoPure, &2 Video Gui, Add, Button, W100 H50 gStartVideo169, &3 Video PAL 16:9 Gui, Add, Button, W100 H50 gStartVideo43, &4 Video PAL 4:3 Gui, -Caption +Border Gui, Show,, Choose application return StartVideoPure: ar = -1 Gosub, StartVideo return StartVideo169: ar = 169 Gosub, StartVideo return StartVideo43: ar = 43 Gosub, StartVideo return StartVideo: Gui, Destroy NumDigits := StrLen(CountMax) ifExist, %A_ScriptDir%\_show.avs FileDelete, %A_ScriptDir%\_show.avs FileAppend, ImageReader("%DirPath%\%FilenameBase%`%0%NumDigits%d.%Extension%"`, %CountMin%`, %CountMax%`, 25), %A_ScriptDir%\_show.avs if (ar = 43) FileAppend, BilinearResize(768`, 576), %A_ScriptDir%\_show.avs if (ar = 169) FileAppend, BilinearResize(768`, 432), %A_ScriptDir%\_show.avs Runwait, %Video% %A_ScriptDir%\_show.avs ifExist, %A_ScriptDir%\_show.avs FileDelete, %A_ScriptDir%\_show.avs ExitApp StartViewer: Gui, Destroy Run, %Viewer% %1% ExitApp return GuiClose: GuiEscape: ExitApp return
[Utils] Viewer = "C:\Programme\IrfanView\i_view32.exe" Video = "C:\Programme\K-Lite Codec Pack\Media Player Classic\mplayerc.exe"
Alles zusammen, inkl. kompilierter exe-Datei, kann man sich auch hier herunterladen: imagesequencehandler.zip. Einen Installer oder ähnliches gibt es dafür allerdings nicht.