Beiträge von Habanero

    Der DIR-Befehl alleine listet alle Dateien des Ordners auf.

    Ich habe dieses Skript versucht

    Code
    for /F %%N in ('dir /s /b E:\xDaten von F\Viv Thomas\Neuer Ordner\01.mkv') do mkvmerge.exe "%%~fN.mkv" ut.mks --track-order 0:1,0:2,1:1,0:3,0:4,0:5,0:6 -o "%%~dN%%~pN%%~nN-neu.mkv"

    Wie von dir beschrieben, nur alles mit 2x%, da es in einer Batch-Datei steht. Ich erhalte beim starten die Meldung, dass die Datei nicht gefunden wurde.

    Was ist denn ein Rückwärts-Akzent? Bei google kam ich auf eine Seite für Tanzschritte :D

    @ MegaDeath

    Guck ich mir mal an.

    ok, hier mal das Skript. Die Dateien zu MKVToolnix und die mkv sowie das Skript müssen im gleichen Ordner liegen. Getestet mit ActivePerl und mkvtoolnix 3.1 und 3.2.

    Nebenbei: Will man mit mkvmerge (oder mkvpropedit/mkvinfo) vorher mit makemkv erstelle mkv ändern, kann es zu Problemen kommen (Abstürze, Links werden ignoriert, ...). Einfach die betreffende Datei neu muxen, dann passt das wieder. Keine Ahnung was makemkv dafalsch macht.

    Ja, hatte ich zwar gelesen, aber nicht wirklich verstanden, jetzt gehts wieder. Wobei ich trotzdem der Meinung bin, meinen ersten Test mit der Zeile aus einer Batch-Datei gemacht zu haben (mit 1x %) und das lief trotzdem.

    Die Dokumentation zu FOR hab ich mir mal angesehen, mir fehlen da wohl aber ein paar Grundlagen zu allgemeinen Systematik für Batch-Dateien. Muss mal gucken ob ich da bei google was finde.

    Kann man sowas auch für die o.g. Zeile mit makemkv erstellen, was sich ja nicht direkt auf Dateien sondern nur auf Ordner bezieht? Der Name der Ausgabedatei ist fix, hier müsste man entweder festlegen, dass in den Input-Ordner oder in einen automatisch anzulegenden Ordner zu speichern ist. Beides sollte aber auf das gleiche hinauslaufen.

    edit
    Den Platzhalter '?' anstelle eines Punktes zu setzen geht scheinbar nicht? ich hatte eine Datei 01.1.mkv welche bei der Eingabe von '????.mkv' ignoriert wurde. Mit ??.?.mkv wird die Datei bearbeitet.

    Vielleicht guck ich ja falsch. Hier nochmal die komplette Fehlermeldung:

    Zitat

    Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters ist ungültig: %~nN-neu.mkv

    Geben Sie CALL /? oder FOR /? ein, um herauszufinden, welche Formate gültig
    sind.
    "skript.bat" ist syntaktisch an dieser Stelle nicht verarbeitbar.

    E:\pfad>for N ut.mks --track-order 0:1,0:2,1:1,0:3,0:4,0:5,0:6 -o 0:1,0:2,1:1,0:3,0:4,0:5,0:6 -o %~nN-neu.mkv

    Was soll denn hier die Zeile, die hat doch nichts mit dem Skript zu tun, was in der Batch-Datei steht. Das sieht so aus (siehe auch oben):

    Code
    for %N in (??.mkv) do mkvmerge.exe %N ut.mks --track-order 0:1,0:2,1:1,0:3,0:4,0:5,0:6 -o %~nN-neu.mkv

    Führe ich die Zeile direkt in der Eingabeaufforderung mit kompletten Pfadangaben aus, läufts.

    Ich weiß gard nicht was jetzt abgeht. Plötzlich bekomme ich beim 1. Skript diese Meldung:

    Zitat

    Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters ist ungültig: %~nN-neu.mkv

    Da ist nichts anders als vorher. Beim zweiten Skript kommt die gleiche Meldung.

    Das mit den Unterordner hatte ich auch noch mit Hinblick auf ein anderes Programm gefragt (ich hatte etwas gehofft das dann selber anpassen zu können). Ich demuxe zuerst von DVD mit makemkv (bzw. makemkvcon, der CLI-Version) mit dieser Kommandozeile

    Code
    makemkvcon.exe mkv file:"E:\pfad\01" 0 "E:"

    MakeMKV öffnet im Ordner 01 die Datei VIDEO_TS.IFO und demuxt dort den Title 0 in den Ordner E:. Den Namen der Ausgabedatei kann man hier nicht ändern, daher wäre es wichtig, dass Output entweder in einen eigenen Ordner oder in den Ordner der Input-Datei erfolgt. Man müsste hier anstelle des 01 eine Variable einsetzen, dass er das für alle Unterordner von von "pfad" macht. Anstelle von E: müsste gesetzt werden, dass er die Ausgabedatei ins gleiche Verzeichnis wie Input schreibt.

    Die erste Zeile musste ich geringfügig anpassen

    Code
    for %N in (??.mkv) do mkvmerge.exe %N[B].mkv[/B] ut.mks --track-order 0:1,0:2,1:1,0:3,0:4,0:5,0:6 -o %~nN-neu.mkv
    Code
    for %N in (??.mkv) do mkvmerge.exe %N ut.mks --track-order 0:1,0:2,1:1,0:3,0:4,0:5,0:6 -o %~nN-neu.mkv

    Er suchte sonst eine Datei mit 2 Dateiendungen (01.mkv.mkv). Jetzt läuft es.

    Beim zweiten bekomme ich die Meldung, dass er die Datei ncht findet. Ich muss hier später mal gucken, ob ich vielleicht den Pfad falsch angepasst habe.

    Wäre es nicht einfacher, wenn man eine gespeicherte Batch-Datei (z. B. die erste Zeile) wiederum von einer zweiten Kommandozeile so aufrufen lässt, dass diese auf alle Unterordner angewendet wird? Angenommen ich will alle ??.mkv (01.mkv, 02.mkv, ...) in den Unterverzeichnissen mit der ut.mks zusammen muxen (man müsste hier nur den Pfad zur ut.mks angeben, falls diese nicht ohnehin in den Unterordnern liegt).

    Was die Ausgabe der zweiten Zeile angeht: Da ich hier Outputs anderer Programme weiterbearbeiten möchte wäre es günstig wenn die neuen mkv entweder im gleichen Verzeichnis verbleiben - teilweise haben die den gleichen Dateinamen und würden sich gegenseitig überschreiben.

    Ich kann es gerade nicht testen. Im Grunde sollen schon nur die zu bearbeitenden Dateien im Verzeichnis stecken.

    Kann man die Option dahingehend ändern, dass alle mkv im Ordner unabhängig von der Zeichenlänge bearbeitet werden? Was müsste man denn z. B. für 4 Zeichen ändern?

    Kann man auch bestimmte Dateien (gleichen Namens) als Input wählen, die in Unterverzeichnissen liegen, z. B. alle 01.mkv in allen Unterverzeichnissen der Ordners e:\ordner?

    Hallo,

    weiß nicht ob der Titel in etwa beschreibt was ich möchte: Manchmal muss ich eine leere UT-Spur in eine mkv einfügen, weil mein Player Forced-Flags ignoriert. Das klappt mit dieser Kommendozeile (enthät auch schon die Angaben für die richtige Reihenfolge, denn die Leerspur muss auch die erste UT-Spur sein; alle Angaben für Sprache stehen schon in der mks)

    Code
    mkvmerge.exe [B][color=blue]01[/color][/B].mkv ut.mks --track-order 0:1,0:2,1:1,0:3,0:4,0:5,0:6 -o [B][color=blue]01[/color][/B]-neu.mkv

    Anstelle des fettgedruckten 01 würde ich aber gerne eine "Variable" einsetzen, welche das mit ALLEN mkv im Ordner macht. Wenn da also 01 - 05.mkv sind, habe ich am Ende 01 - 05-neu.mkv, welche zusammen mit der ut.mks gemuxt wurden.

    Hoffe das geht diesmal ohne wieder ein Skript zu schreiben.

    Ich habe jetzt ein Perl-Skript bekommen, welches genau das macht was ich möchte. Hab es nicht selber geschrieben, ich musste mich mangels Programmierkenntnisse an ein Perl-Forum wenden. Ich bin mir nicht sicher, ob ich den Code einfach so hier posten darf, daher hab ich bei dem User nachgefragt und werde das später nachholen.

    Das heißt, dass man mit dieser Kommandozeile aus einer datei1.mkv ohne SID auf die nächste Datei eien datei2.mkv mit SID auf die nächste Datei muxen kann. Wäre einfacher das einfach in die Header Daten einzufügen, aber dazu habe ich nix Richtung Kommandozeile gefunden.

    Hast recht, hab die Kommandozeile angepasst.

    Ich hab mal den Autoren von mkvmergegui angemailt, mal sehen ob ich eine Rückmeldung bekomme - der Name Moritz lässt hoffen, dass er deutsch spricht, das würde mir die Sache einfacher machen :D

    Ich bin echt kein Kommandozeile-Könner. aber folgendes hab ich hinbekommen. Mit dieser Kommandozeile wird eien Datei aus einer mkv mit einer bestimmten SID (in dem Fall: nächstes abzuspielendes Video) erstellt:

    Code
    "Pfad\zu\mkvmerge.exe" "Pfad\zu\Input\datei.mkv" --link-to-next 0xa0 0x80 0x87 0xef 0x96 0x10 0x36 0x43 0x8c 0xd5 0x74 0x85 0xe0 0x08 0x21 0x39 --out neu.mkv

    Für den Kopfdateneditor habe ich kein Kommandozeilen-Programm gefunden, icg vermute das ist nur eien Art GUI für mkvinfo (welches die Angaben etwas anders darstellt als die GUI für mkvinfo), bin mir aber nicht sicher.

    Auch mkvinfo kann man über Kommandozeile aufrufen. Mit diesem Aufruf kann man sich Angaben zur Datei aufrufen:

    Code
    "Pfad\zu\mkvinfo.exe" "datei.mkv"
    pause

    Hier wird jedoch alles angezeigt, u.a. die Segment UID.

    Weiter komme ich nicht. Man müsste jetzt folgendes hinbekommen, was aber meine bescheidenen Fähigkeiten übersteigt:

    • mkvinfo müsste außer der 1. mkv alle Dateien öffnen um die Segment UIDs auszulesen
    • mkvmerge müsste alle mkvs außer der letzten öffnen, neu muxen und dabei die per mkvinfo ausgelesen Segment UID der nächsten Datei einfügen

    Was man vermutlich machen kann ist, jedes der Files editieren und dabei die UIDs manuell setzen.

    Hab ich ja bisher so gemacht, ist nur sehr viel Arbeit.

    Man könnte noch die Files in einen Player laden und dann die Zeitmarken einzeln eingeben. Nötig wäre hier, dass man einfach herausbekommt, bei welcher Position man splitten muss (sprich: wie lang die bisherigen Clips sind). Bei Winamp geht das mit Musik sehr gut, da kann man alle einfügen und die gewünschten markieren und sieht die gesamte Abspielzeit. Keiner meiner Videoplayer hat aber so eien Funktion (MPC-HC, VLC, Mplayer).

    Habs nochmal versucht, mkvtoolnix will keine UT direkt aus der DVD, auch extrahierte ohen Umwandlung will der nicht haben. Spielt jetzt aber auch keine Rolle mehr, mit MakeMKV und der 3.1 von mkvtoolnix gehts soweit.

    Das ursprüngliche Problem, die Segment UIDs automatisch zu erstellen besteht leider weiterhin. Ich habe keine Möglichkeit gefunden, wie ich alle Files eines Ordners automatisch hintereinander "segmentieren" kann.

    Mir ist jetzt aber eine Idee gekommen: Ich kann ja wenn ich eien Datei aufteile einen Haken setzen und er erstellt die IDs. Man könnte nun in 2 Schritten erst eine große mkv aus den mit MakeMKV erstellen Dateien machen und dann wieder teilen (und gleichzeitig die IDs setzen lassen), dann aber genau an den ursprünglich zusammengefügten Stellen. Frage wäre jetzt, ob es dafür eine Möglichkeit gibt, diese Zeitmarken auszulesen oder irgendwie genau an den Stellen "schneiden" zu lassen.

    Hallo,

    Brother John hat in seinem Encodingwissen eine leere Text-UT-Spur verlinkt, welche ich auch in meine mkv gelegentlich einfüge. Ich habe ein paar DVDs hier, die irgendwie defekt sind. Teilweise ist kein demuxen der UT mehr möglich (häufig sind die eh leer). Ich will aber mehere Titel in eine MKV muxen, wenn dann der nächste Titel VobSubs hat, gibts Probleme. Ich könnte natürlich die Subs des nächsten löschen, ist aber keine gute Lösung. Textsubs und Grafiksubs beim zusammenfügen will mkvmerge nicht. Daher wollte ich versuchen, in den ersten Clip einfach eine leere VobSub-Spur einzufügen.

    Die Spur sollte vom Format zu idx/sub passen, glaube da reagiert mkvmerge manchmal heikel.

    Da sist mir klar, wenn ich aus einer DVD mit VSRip die UT herauslöse und als idx/sub speichere kann ich die auch durch auswählen der idx in mkv importieren. Aber auf der DVD liegen die Subs nicht in diesem Format vor. Wenn ich die Streams mit PGCDemux demuxe erhalte ich UT im Format *.sup. Bei anderen Demuxern ebenso. Diese sup kann mkvmerge nicht importieren. Ebenso kann mkv keine VOBs öffnen (Rückgabecode 2).

    Falls Mencoder die UT wie VSrip umwandelt und nicht nut demuxt ist das im Grunde das gleiche was ich auch mache, nur mit einem anderen Tool.

    Vermute ich richtig, dass es die maximale Bitrate begrenzt? Ich werds mal ohne versuchen.

    Hattest im übrigen recht mit dem Bild oben, war schon im Original so. Wurde von Kabel 1 scheinbar schon so ausgestrahlt oder mein Receiver hats so aufgenommen.

    Jemand Ideen bezüglich der einfarbigen Flächen?

    Hallo,

    ich habe mir mal die beiden letzten Lost-Episoden von Kabel 1 in x264 umgerechnet (mit MeGui) und dabei folgende Kommandozeile benutzt:

    Code
    program --profile high --level 4.1 --preset slow --tune film --crf 20.0 --thread-input --vbv-maxrate 2500 --sar 16:11 --output "output" "input"

    Nix besonderes also, hab einfach fertige Einstellungen ausgewählt. Grds. sieht das alles recht gut aus, auch auf meinem FullHD-Plasma. Eine Szene hat er etwas versaut, passierte aber soweit ich es gesehen habe nur dieses mal. Durchgehend schien er Probleme mit größeren einfarbigen Flächen zu haben. Nicht so schlimm wie früher mit schwarzen Flächen (Sin City war da kaum anzusehen).

    Hab von der versauten Szene mal ein Bild gemacht. Einer eine Idee wie man sowas verhindern könnte?

    Gibt es Einstellungen mit denen man einfarbige Flächer besser aussehen lassen könnte?