>

Fandest Du dieses Script nützlich?

Umfrage endete am Sa 05 Sep, 2009 21:50

ja
2
100%
nein
0
Keine Stimmen
brauche sowas nicht
0
Keine Stimmen
 
Insgesamt abgegebene Stimmen: 2

Andreas_Kiel
Beiträge: 2016

Tip: Automatisierte Standbilder mit Windows Scripting Host und VLC-Player!

Beitrag von Andreas_Kiel »

Hi,
wenn man größere Projekte hat, braucht man gelegentlich mal ein Standbild. Eine komplette Liste von Standbildern ist nicht schlecht, wenn man sein Projekt dokumentieren will. Statt nun einen Azubi zu triezen, nimmt man den VLC-Player und ein wenig Script ... fertig!

Voraussetzungen:
- Der VLC-Player ist installiert;
- Sein Hotkey für einen Snapshot steht defaultmäßig auf Shift+S;
- Der Windows-Scripting Host ist aktiviert, bei mir unter XP ist es Version 5.7;
- der nachfolgende Code ist unter einem fast beliebigen Namen mit der Endung ".vbs" abzulegen.

Funktionsweise:
- Das Script nimmt ein kpl. Verzeichnis als Objekt entgegen und übergibt jede Datei als Parameter dem VLC;
- Der VLC startet mit dieser Datei;
- zwei Sekunden später wird ein Snapshot ausgelöst, indem Shift+S als Tastendruck simuliert wird;
- wiederum zwei Sekunden später wird der VLC beendet (ist wichtig, weil er sonst jedesmal eine neue Instanz aufbaut);
- nächste Datei usw. usw.

Code: Alles auswählen

dim dateien 
' nimmt die Anzahl der Dateien im Verzeichnis auf
dim counter
'zählt mit, wichtig vielleicht zum testen - siehe unten
testendung = "m2t"                                      
' das ist die Endung der Dateien, die verarbeitet werden sollen 
' es sollte mit allen Endungen funktionieren, wenn der VLC die verarbeitet
set ws = CreateObject("Wscript.shell")                  
' ein Shell-Objekt, um Programme zu starten
set fso = Createobject("Scripting.filesystemobject")
' ein Filesystem-Objekt 
set verzeichnis = fso.getfolder("\\server02\capturing") 
' Aus diesem Verzeichnis die einzelnen Dateien nehmen, besser sind Laufwerksbuchstaben

' Nächste zwei Zeilen erzeugen eine Protokolldatei
set fs = Createobject("Scripting.filesystemobject")
set logbuch = fs.opentextfile("\\server02\capturing\Standbilder\standbilder.txt", 8, true,0)
' wenn sie existiert, wird angefügt

dateien = verzeichnis.files.count
' anzahl ist evtl. interessant, zählt aber alles 

counter = 1
For Each file In verzeichnis.files
    ' jetzt jede gefundene Datei öffnen
    Set f1 = fso.GetFile(file.path)
    endung = fso.GetExtensionName(f1)
    ' was isses?
    if endung = testendung then
    ' wenn also der gewünschte Typ vorliegt 
        ws.run("I:\Programme\VideoLAN\VLC\vlc.exe " + file.path) 
        ' Starte den VLC mit dieser Datei
        wscript.sleep 2000                                   
        ' Wartet 2 Sekunden, damit das Bild stabil ist
	' manchmal hat man zu Beginn Wackler

        ws.sendkeys ("S")
        ' Sende jetzt den Hotkey für einen Screenshot - default Shift S

        wscript.sleep 2000                                   
        ' Warte erneut 2 Sekunden, damit der VLC nicht während dem Speichern ALT F4 bekommt
        ' das würde sonst nicht ausgeführt

	ws.sendkeys ("%{f4}")                                
        ' ALT F4 senden und VLC damit beenden

        logbuch.writeline now & " - " & file.path & " = Standbild erzeugt"
        ' erfolgreiche Datei in Protokoll

	else
        logbuch.writeline now & " - " & file.path & " = passt net"
        ' Dateityp passt nicht

    end if
    counter = counter + 1
    'if counter > 20 then wscript.quit
    ' Auskommentieren im Echtbetrieb. Zum Spielen und Testen unbedingt unkommentiert verwenden
    ' Script kann Stunden brauchen und ist so gut wie nicht abzubrechen
next
logbuch.close
msgbox "Standbilder wurden erzeugt"
Wichtige Hinweise:
Das Tüdelchen vor der Zeile

Code: Alles auswählen

'if counter > 20 then wscript.quit
sollte für die ersten Spielereien entfernt werden. Das Script läßt sich extrem schwer bis gar nicht unterbrechen, auch nicht mit dem Taskmanager. Warum? Weil es mit ALT-F4 alle paar Sekunden das aktive Programm beendet, und wenn das der Taskmanager ist, bleibt der VLC offen und der TM wird gecancelt.
Im VLC kann man als Dateinamen für die Snapshots statt dem Default vlc-snapshot auch eingeben: snapshot_$N. Wenn nun die Videodatei xyz_2009_10_12_18_12_28.m2t heißt (so z.B. aus HDVSplit erzeugz mit Datum, Zeit), wird der Screenshot xyz_2009_10_12_18_12_28_m2tnnnnn.png heißen. Statt der roten nnnnn wird eine Ziffer vom VLC geschrieben. Wie man die wegkriegt, weiß ich nicht, aber egal: jetzt hat man einen Snapshot, der den gleichen Dateinamen trägt wie die dazugehörige Videodatei.
Zu den Pausenzeiten: auf einem Quadcore sind 2000 ms genau richtig. Bei langsamen Rechnern /Platten oder Dateien auf Servern kann es zu Verzögerungen beim Öffnen durch den VLC kommen. Dann geht das Kommando Snapshot! ins Leere.
Wenn Dateien kürzer sind als diese 2 Sekunden, dann bekommt man keinen Snapshot, sondern der VLC stoppt und bleibt als "idle Prozeß" stehen. Nach einem Verzeichnis mit 1.800 m2t-Dateien hatte ich aber nur 13 Instanzen vom VLC, das schadet aber nicht.
Die simulierten Tastendrücke wirken auf das gerade im Vordergrund aktive Programm ein. Also vorher alle Programme schließen, die man nicht braucht. Das bedeutet natürlich, daß während der Arbeit des Scriptes der Rechner auch zu nichts anderem mehr gebraucht werden sollte. Was da sonst noch so aufploppen kann, sollte man vorher tunlichst deaktivieren.
Mit HDV-Bildern (1.920x1.088) können pro Bild um 4 MB anfallen, wenn man das voreingestellte PNG-Format zum Speichern verwendet. Man sollte im Ziellaufwerk genügend Platz vorsehen ;-)

Wer jetzt nicht alles in getrennte Dateien captured, sondern nur in eine, kann die Laufzeit des Films nehmen, alle zehn Sekunden einen Snapshot machen und den Timecode stattdessen als Dateinamen verwenden. So kann man sich in Riesendateien schneller zurechtfinden.

BG,
Andreas
"Doch das genügt nicht." - Arseni Tarkowskij
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.



B.DeKid
Beiträge: 12585

Re: Tip: Automatisierte Standbilder mit Windows Scripting Host und VLC-Play

Beitrag von B.DeKid »

Coole Sache nun legste noch in MultimediaBuilder eine GUI an und Verknüpfst das Script und fertig ist dei Video Snapshot Progi;-)

Zur Sicherheit in die MMB File noch nen Installations Abfrage von VLC und im Archiv ne VLC exe oder ne Direkte Download Anwendung.


Aber wie gesagt sehr gute Idee ;-P

MfG
B.DeKid



 Aktuelle Beiträge [alle Foren]
 
» Was schaust Du gerade?
von roki100 - Di 22:56
» Panasonic V-Log Rauschen
von cantsin - Di 20:58
» Blackmagic bietet bis zu 30% Rabatt auf seine 6K Kameras
von slashCAM - Di 20:51
» Nikon ZR in der Praxis: 6K 50p RED RAW Monster für 2.349,- Euro mit klassenbester Colorscience?
von cantsin - Di 20:46
» Sehr Leichte Doku Kamera?
von pillepalle - Di 19:29
» Nexus G1 - Blackmagic Pocket Cinema Camera 6K im Carbon Cine-Gehäuse
von Jott - Di 18:47
» iPhone 17 Pro Max im Praxistest: ProRes RAW, Apple Log 2 - inkl. DJI Osmo Pocket Vergleich
von Axel - Di 16:53
» Blackmagic PYXIS 12K - Sensor-Test - Rolling Shutter und Dynamik
von freezer - Di 15:29
» Schnittrechner
von Bluboy - Di 15:18
» NETFLIX & CO AM ENDE? Über den deutschen Streamingmarkt mit FRANK JASTFELDER (Ex-Developmentchef von SKY)
von 7River - Di 13:42
» ARRIs Color KnowHow könnte Millionen Wert sein - als Workflow Lizenz für Dritte
von Bildlauf - Di 13:18
» Ich biete Soundtrackmusik
von MikeBreeze - Di 13:07
» TTARtisan Cine-Objektive 50mm T2.1 und 85mm T2.1 mit Dual Bokeh vorgestellt
von slashCAM - Di 12:54
» Teltec Black Deals sind online - und noch günstiger mit Gutscheincodes
von rush - Di 12:22
» Klatschen Entfernen
von Jacek - Mo 20:57
» Neues zur DJI Avata 360 - FPV- und 360°-Drohne per Dual Mode
von slashCAM - Mo 18:54
» Black Friday Deals für Kameras, Optiken und Licht von SmallRig, Obsbot, Tilta, ...
von ONV - Mo 16:16
» Mini 5 Pro - 500 m Grenze
von ice - Mo 6:26
» Zehn 3D-LUTs zum Grading von F-Log2 / F-Log2 C verfügbar
von CineMika - Mo 4:05
» Laptops von Dell und HP ohne H.265/HEVC-Unterstützung in Hardware?
von cantsin - So 22:21
» Verkaufe je einen Blackmagic Video Assist 7“ 12G und einen Video Assist 5“ 12G
von v-empire - So 20:44
» Unser Kinofilm "The Trail" nun auf Amazon Prime
von rob - So 19:40
» !!BIETE!! DJI AIR 3 Fly More Combo RC2
von klusterdegenerierung - So 15:55
» Verabschiedet sich Apple endgültig vom Mac Pro zugunsten des Mac Studio?
von TheBubble - So 12:32
» Wie arbeiten Schauspielagenten? Mit Andrea Lambsdorff
von Nigma1313 - Sa 22:52
» DJI Osmo Action 6 - erste Actioncam mit variabler Blende und quadratischem Sensor
von Jott - Sa 11:06
» Black Friday Angebot - Adobe Creative Cloud Pro über die Hälfte günstiger
von rush - Fr 19:54
» Coca-Cola gibt KI als Kreativität aus und lässt Weihnachts-Werbespot generieren
von roki100 - Fr 18:52
» Adobe Premiere 25.6 jetzt mit Firefly-, Frame.io V4- und Premiere App-Integration
von slashCAM - Fr 15:02
» Künftige Xbox Next: Vollwertiger Windows-PC mit Potenzial für Videobearbeitung
von Totao - Fr 13:21
» Kameradiebstahl
von Darth Schneider - Fr 10:42
» Blender 5.0 ist da: Meilenstein mit vielen Neuerungen für 3D, Animation und Postpro
von MaxSchreck - Fr 9:42
» Neue Actioncam DJI Osmo Action 6 soll größeren Sensor und variable Blende bekommen - und ProRes?
von Videopower - Do 23:11
» Frühjahrsputz im Herbst :)
von dienstag_01 - Do 12:31
» Ursa Mini Pro 4,6K G1 oder 12k - Langzeit-Aufnahme
von freezer - Do 12:08