PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windows 7: Prozess per .bat oder .cmd Datei beenden



Fred Bogus Trumper
15.06.2011, 01:20
ich erstelle mir gerade aus einer DVD-Collection einer Fernsehserie (6 Folgen/DVD) eine .ts pro Folge mit VLC 0.86f.

Zwei Gründe warum mit VLC:
1. sind die DVD´s kopiergeschützt - und ich möchte sie nicht rippen oder in eine iso packen, habe lieber jede Folge extra
2. da die DVD im mpg-Format ist, brauche ich sie nicht rekodieren, vlc schreibt sie einfach in eine TS inkl. aller Audio- und Untertitelspuren - das geht recht fix.

ich möchte das mit einer .bat oder .cmd machen - das geht dann nebenbei und ich muss nicht jede transkodierung manuell anstoßen

leider bleibt die batch datei in der Commandline hängen, wenn die 1. Episode fertig ist. erst wenn ich vlc manuell schliese, wird der nächste Befehl in der Batch datei ausgeführt.

mit "taskkill /im vlc.exe" kann ich in der Kommandozeile den VLC player schliesen - der Befehl funktioniert aber nicht in der .bat: bleibt hängen, und wenn ich VLC manuell schliese, kommt folgende Fehlermeldung:


C:\Program Files (x86)\VideoLAN\VLC86f>taskkill /im vlc.exe
FEHLER: Der Prozess "vlc.exe" wurde nicht gefunden.

und der nächste Befehl wird ausgeführt

woran liegt das? vlc.exe läuft laut taskmanager

die .bat sieht so aus:

cd C:\"Program Files (x86)\VideoLAN\VLC86f"
vlc.exe dvdsimple://F:@1 :sout=#transcode{scodec=dvbs}: duplicate{dst=std{access=file, mux=ts,dst="D:\Serien\xxx\name (1-22).ts"}} :sout-all
taskkill /im vlc.exe
vlc.exe dvdsimple://F:@2 :sout=#transcode{scodec=dvbs}: duplicate{dst=std{access=file, mux=ts,dst="D:\Serien\xxx\name (1-23).ts"}} :sout-all
taskkill /im vlc.exe
vlc.exe dvdsimple://F:@3 :sout=#transcode{scodec=dvbs}: duplicate{dst=std{access=file, mux=ts,dst="D:\Serien\xxx\name (1-24).ts"}} :sout-all
taskkill /im vlc.exe
echo""
echo " Fertig! "
echo""

Fred Bogus Trumper
15.06.2011, 02:16
das Problem liegt am VLC 0.86f!

Ich verwendete diese Version, weil ich dachte ab v9.x gibt es keine Möglichkeit mehr alle Audio/Untertitel in eine Datei zu streamen, da in der GUI die Auswahlmöglichkeit "Alle Elementarstreams auswählen" fehlt.

Wenn man 1.1.x verwendet, klappt das jedoch über den Konsolen Befehl, dass alle Streams in die Datei geschrieben werden - siehe obige Kommandos

Man muss nur folgendes im VLC einstellen:
Extras - Einstellungen (alle) - Wiedergabeliste -> "Abspielen und beenden" aktivieren (diese Einstellungsmöglichkeit gibt es im vlc 086f nicht!)

dann wird VLC geschlossen, wenn er mit der Transkodierung fertig ist, und die nächste wird von der Batch-Datei gestartet - man braucht dann auch nicht mehr den "taskkill" Befehl in der .bat

d.h. dvd rein - .bat anpassen (ausgabename.ts) - .bat ausführen - wenn fertig, nächste DVD rein ....

Edit:
warum taskkill nicht gegriffen hat, ist jetzt auch klar: vlc.exe wurde noch ausgeführt, also war die .bat erst bei vlc.exe ....
taskkill wurde erst ausgeführt, nach dem vlc (manuell) beendet wurde - und da gab es keinen Task "vlc.exe" mehr

Batch datei: ein Befehl nach dem anderen - nachdem der vorige beendet wurde :andenkopfhau:

ich glaub´, ich bleib bei Linux :349:

skamm71
15.06.2011, 11:21
Moin Fred

Du hättest auch mit kaskadierten Batches arbeiten können um den alten VLC zu benutzen.

Mittels "CALL yxz.bat" aus einer "Start-Batch" die anderen batches aufrufen. Dann in den weiteren batches mit dem (nachzuinstallierenden) wait.exe eine definierte Pause einbauen, bevor wieder in die Start-Batch zurück gesprungen wird.

Siehe hier (http://www.bjoernhenke.de/frame.htm?/wait/index.de.htm)

Aber die Lösung mit dem neuen VLC, der sich selbst beendet und nur einer Batch ist natürlich die galantere Lösung!

Fred Bogus Trumper
15.06.2011, 11:38
:andenkopfhau:
:350:

das war's! Genau so hatte ich es auch schon mal gemacht!

Ich werde wohl alt ...:349: