Batch-Konvertierung mit HandBrake: alle Videodateien in einem Ordner und Unterordnern konvertieren

Batch-Konvertierung mit HandBrake: alle Videodateien in einem Ordner und Unterordnern konvertieren

HandBrake ist ein recht gutes Programm zum Konvertieren von Videos. x264 und AAC bieten hierbei ein exzellentes Verhältnis zwischen Dateigröße und Qualität. Leider bietet es nur begrenzte Möglichkeiten, mehrere Dateien am Stück zu konvertieren. Hilfe naht..

so lassen sich über das Kommandozeilen-Tool von HandBrake, HandBrakeCLI, nämlich einzelne Dateien mit fixen Parametern konvertieren. Ruft man dieses Tool schließlich rekursiv über einen Ordner auf.. voila.. alles ist konvertiert.

Ich habe mal all meine Designfähigkeit spielen gelassen, und bin mit folgender GUI hervorgekommen.. zumindest sollte sie selbsterklärend sein. Und.. die Werte werden zwischen 2 Aufrufen (wenn ihr regulär beendet) gespeichert, ihr müßt also nicht immer alles neu eingeben.

Neben Ein- und Ausgabeordner muß natürlich auch der Pfad zum HandBrake-CLI angegeben werden (der .exe Datei) sowie.. der Start-Button gedrückt werden. Die maximale Bildbreite (-X 1024, gut für neue Skalierung) sowie die Audiobitrate (-B 128) und die Gesamtqualität (-q 20) könnt ihr direkt.. bequem.. per Editieren der Kommandozeilenoption ändern.

Weil alles so toll und flexibel ist könnt ihr mit dem Programm auch beliebige andere Programme im Batch-Modus betreiben (mit minimalen Änderungen). Aktuell wird auf die Dateiendung geschaut.. naja, ein wenig Potenzial für Verbesserungen muß ja auch noch sein.

Download

Aus welchem Grund auch immer wird in den originalen Dateien ein Virus gemeldet. Ich bitte daher, den Download unten in den Kommentaren zu benutzen. Und natürlich zur eigenen Sicherheit stets vor der Benutzung einen Virenscan durchzuführen.
Bitte Probleme weiterhin melden, danke!

Siehe auch Viele DVDs mit Handbrake auf einmal rippen für eine grob ähnliche Lösung, dort allerdings für DVD-Ordner.

Vorschläge nehme ich gerne entgegen, evtl. überarbeite ich ja auch die GUI noch einmal. 🙂 Und über nettes oder konstruktives Feedback freue ich mich ohnehin immer! Also..

25 thoughts on “Batch-Konvertierung mit HandBrake: alle Videodateien in einem Ordner und Unterordnern konvertieren

  1. Natürlich übernehme ich keine Verantwortung, wenn irgendetwas nicht klappt oder Schaden anrichtet. Sollte ich vielleicht sagen..

    Was tatsächlich passieren kann: Dateien im Zielordner werden von Handbrake ohne Benachrichtigung überschrieben.

    Daneben gibt es eine neue Version. Diese hat jetzt eine Fortschrittsanzeige, sowie eine Anzeige, wie viele Dateien überhaupt encodiert werden sollen. Darüber hinaus lassen sich die Eingabedateiendungen ändern.

    Kommentare und Wünsche nach wie vor gerne hier.

    BatchEncode Download der neuen Version

  2. Hey Andreas ein wirklich gute Arbeit! Gibt es eine möglichkeit das du die Solution der neuen Version zum Download bereitstellt?

    Danke und Greez

  3. Ich habe die Datei noch einmal heruntergeladen, und nur die Meldung bekommen, daß die Datei nicht häufig heruntergeladen wird (und somit wenig bekannt und untersucht ist, was Risiken birgt).
    Jedenfalls kann ich definitiv sagen daß ich aktiv keinen Virus in die Datei gebracht habe. 🙂
    Was genau hat Avira denn gefunden?
    Mein McAfee hat in der heruntergeladenen Datei jedenfalls nichts gefunden (wobei ich den McAfee auch kaum als gute Referenz bezeichnen würde).
    Wer ganz sicher gehen möchte hat sonst auch die Sourcen zum selber compilieren (und untersuchen) – was vermutlich etwas viel Aufwand wäre.

  4. Hallo,
    ich würde das Progrämmchen auch gern nutzen, habe aber wegen der AVIRA-Warnung noch Abstand davon genommen.

    Hab hier mal die Warnmeldung eingefügt.

    Angeforderte URL: http://www.andreas-reiff.de/wp-content/uploads/2012/10/HandBrakeBatch.zip
    Information: Ist das Trojanische Pferd TR/Buzy.1511.AB.1

    Weiter suche ich noch eine command line- Vorgabe für den Hauptfilm als MKV-File mit englischer und deutscher Tonspur sowie englischem und deutschem Untertitel.

    Besten Dank

  5. Hallo Michs!

    Daß der Avira da meckert ist seltsam.
    Auf alle Fälle ist ja auch der Quellcode dabei, den kannst Du selber compilieren. Und natürlich vorher gucken, daß kein Schadcode drin ist.

    Ansonsten gibt es auch noch den upgedateten Download in einem Kommentar, aus März 2013. Kommt dort auch eine Warnung? (Dort ist die .exe-Datei im /bin/debug Unterverzeichnis.)

    Untertitel und Audiospuren kannst Du mit -s und -a bei Handbrake inkludieren.

    Siehe auch http://www.andreas-reiff.de/2011/04/viele-dvds-mit-handbrake-auf-einmal-rippen/ , das entspricht vermutlich am ehesten dem, was Du machen möchtest – aus einem DVD-Verzeichnis in diesem Fall alle Filme kodieren (nicht-Haupfilm könntest Du dann löschen).

    Bei -a darfst Du wohl (damals.. lange nicht mehr getestet) nur wirklich vorhandene Tracks einstellen, bei -s kannst Du beliebig viele einstellen, er nimmt dann alle, die er gefunden hat.

    VG
    Andreas

    1. Hallo Andreas,

      ich habe noch eine Frage. Die Dateiendung passt er beim BatchEncode nicht an, oder?

      Gibt es eine Möglichkeit, dies zu erzwingen?

      Danke und Grüße

      Dennis

      1. Hallo Dennis!
        In der Version nicht.
        Was benötigst Du denn? An sich müßtest Du ja auch das Ausgabeformat und die Dateiendung parallel anpassen. Hier ist es fix .mp4. Wäre ja auch komisch, eine .mpeg Endung mit einem .mp4 Inhalt zu haben.
        Evtl. hilft Dir sonst auch VidCoder, das auch einen Batchmodus hat. Ich habe es dann aber nicht mehr benutzt, weil ich nicht automatisch alle Untertitel mitnehmen kann, das geht hier besser, man ist ja nur durch die Kommandozeilenoptionen von HandbrakeCLI eingeschränkt (und die bieten das).
        VG
        Andreas

        1. Hallo Andreas,

          also, ich wandle unterschiedliche Formate nach beispielsweise ‚mp4‘ um. Kommandozeilenparameter sind: -e x264 -q 22 -E faac -B 128 -f mp4 -5 –strict-anamorphic.

          D.h. Ausgabeformat ist MP4, jedoch bleibt die Dateieindung von jedem File erhalten (sprich .avi wird zu .avi; .mov zu .mov, etc.), obwohl die Dateien jetzt zu mp4 recodiert wurden.

          Danke schonmal.

          VG
          Dennis

  6. Hi

    Möchte zu erst sagen top!

    Dies hier hat mir sehr viel Arbeit abgenommen!

    Nun möchte ich meine Filme nochmals neu umwandeln.
    Allerdings will ich die Dolby Digital und DTS Formate behalten, also bei Filmen die diese auch haben. Alle anderen sollen in AAC umgewandelt werden.

    Wie muss ich den dies eingeben.

    1. Gerne! 🙂

      Zu der Frage: hier müssen die selben Parameter benutzt werden, wie bei der Handbrake CLI, die verwendet wird.

      Diese finden sich z. B. hier oder natürlich auch auf der offiziellen Webseite von Handbrake.

      Spannend dürfte die -E Option sein, mit der man die Audiooptionen ändern kann. (Es gibt z. B. die Option „copy”.)
      Allerdings müssen hier vermutlich mehrere Durchläufe gestartet werden, um jeweils die passenden Optionen für die jeweiligen Filme zu haben.

      Da ist man schon gar nicht mehr so weit davon entfernt, jede Datei einzeln in der Handbrake GUI zu parametrisieren.

      Noch ein Tip: in Handbrake kann man auch eine Batchdatei des aktuellen Konvertierjobs erzeugen, dort sieht man auch die benutzten Optionen.

  7. Hallo.
    Erstmal danke für die Umsetzung!
    Gibt es auch eine Möglichkeit, das für Linux (Ubuntu/Mint) zu kompilieren?
    Danke.

  8. …noch eine Frage:
    Gibt es eine einfache Möglichkeit, eine Quellen-Einschränkung auf Videoqualität und -format zu machen. Also nur Dateien, die größer als ein bestimmtes Format oder höher als eine feste Qualität sind?
    Hintergrund ist, dass ich kleinere Formate für das Tablet nicht hochkonvertieren will.
    Nochmals Danke.

  9. Hallo!

    Erstmal sehr prima das!
    Leider macht er bei mir immer nur ein Video.
    Keine Ahnung warum.
    Kann mir da wer helfen?

    Also Problembeschreibung:
    Fülle alles ganz normal aus drücke auf start, ein cmd fenster geht auf und er arbeitet das erste video ab. Wenn das video fertig ist geht das cmd fenster zu und ende. Er macht nicht weiter. Wenn ich dann auf stop drücke kommt ganz unten „Encoded 1/895 Files“ Drücke dann wieder auf start und bei Encoded steht dann 0/894. Also er schnallt anscheinend das er das eine schon hat.

    Jemand Ahnung?

    Danke!

    1. Hallo Markus!

      Ich hatte bei Handbrake manchmal das Problem, daß die Konvertierung bei oder nahe bei 100% aufhört.
      Evtl. ist Deine Datei davon betroffen.

      Das Zählen ist nicht 100%ig korrekt, zumindest beim 2. Durchlauf. Hier wird allerdings auf die bereits existierenden Ausgabedateien geguckt und diese gegebenenfalls übersprungen. Guck einfach mal ins Ausgabeverzeichnis, was Du dort findest.

      Mittlerweile benutze ich meistens den Vidcoder, ich glaube (auch ewig nicht mehr benutzt), der hat eine gute Unterstützung für Batches und auf alle Fälle eine viel, viel bessere Oberfläche.

      Mit besten Grüßen
      Andreas

      1. Das ist mal Spitzen Support!
        Hab nicht heute noch mit einer Antwort gerechnet 🙂

        Also die eine Datei die er macht die passt.
        Also auch im CMD fenster wenn ich abwarte kommt noch der text mit „Done“ usw.
        Oder wenn ich andere filme wähle ist das auch so – immer nur den ersten.

        Hab mir jetzt den source Code runter geladen und Visual studio installiert – – – wenn ich nur 1% verstehen würd wärs mit der fehlersuche leichter 🙁

        Schade – – deine lösung hat mir schon sehr gut gefallen.

        Hab auch extra eine VM mit Win 7 aufgesetzt – Bei win 10 gabs immer schon beim Start drücken eine Fehlermeldung.

        Was auch komisch ist.
        Wenn die eine Datei fertig ist Schließt sich eben das CMD fenster aber für die BatchEncode.exe bleiben 25% CPU last und 6 Threads stehen.

  10. So hab grad noch den VIDencoder probiert.
    Wenn ich dem über 500 dateien zu scannen gebe hängt sich der da schon auf.

    Würd mich freun wenn du mir bei der Lösung des Problems mit deiner Variante helfen könntest.

    Bidde, Bidde 🙂

    1. Vermutlich sind die Dateien groß.. wenn es keine VIDEO_TS Ordner o. ä. sind (viele GB) könntest Du sie ja mal hochladen. Google Drive, OneDrive, oder auch mega.nz z. B.. Gerne auch gezippt/rared/7zipped in einer Datei.
      Dann würde ich das mal durchgehen.
      Spannend sind die ersten 2 Eingangsdateien, also die eine, die durchläuft, und die, die dann nicht mehr durchläuft.
      Habe das schon ewig nicht mehr gestartet.. aber bei so einer netten Anfrage würde ich die Stunde nochmal investieren. 🙂
      Dateien kannst Du dann z. B. über das Kontakt-Formular bekanntgeben, wenn die nicht jeder sehen können soll.

  11. Leider – – keine unter 10 gig.
    aber wie gesagt, es ist auch egal mit welchem ordner ich anfange. Es ist immer nach der ersten datei schluss.
    Es sind lauter mkv´s.
    Ja würd mich sehr freuen #ganz lieb schau 🙂

    TS3 server und Teamviewer hätte ich anboard – ums leichter zu machen

  12. Habs 😉
    Wie gesagt hab nur Ganz wenig Ahnung von C# und weiß auch nicht warum´s so geht und anders nicht aber egal- -meine Lösung: Zeile 212-214
    Process p = Process.Start(psi);
    p.PriorityClass=ProcessPriorityClass.BelowNormal p.WaitForExit();

    und das while(shouldrun) auskommentieren.

    1. Hallo Markus,
      schön, daß es klappt.
      Mit TS und TeamViewer verbinden wäre wohl nicht so einfach gewesen, das habe ich alles nicht installiert.
      Eine Sache, die mir noch eingefallen ist:
      wenn man mehr Audiotracks auswählt als vorhanden sind, kam es früher zu ähnlichen Problemen.
      Alles Gute
      Andreas

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.