Konvertieren von Videos – bitte einfach!

Wie kann ich eine Video-Datei vom Format x in das Format y konvertieren?

Natürlich gibt’s endlos Programme, die Videos grundsätzlich von einem Format A in ein Format B konvertieren können. Trotzdem gibt es immer wieder die Frage in Foren, ob das nicht einfach geht. Bemerkenswert, denn: eigentlich alle Videoschnittprogramme und auch alle kostenlosen wie kommerziellen Konverter können das grundsätzlich.

Videos konvertieren - keine Freude

Videos konvertieren – keine Freude

Und alle scheitern rasch, wenn man zum Wörtchen einfach kommt.

Ärgerliche Ist-Situation

Sobald man nämlich in sämtlichen dieser grafischen Tools – sei es nun Premiere (auch Pro CC 2015) oder der Adobe Media Encoder (… auch CC 2015), HandBrake, MPEG Streamline, VLC Player (eingebauter Konverter), FormatWandler usw. sucht – scheinbar nirgends gibt es ein einfaches Konvertieren ohne aufwändiges und teilweise verlustbehaftetes Neukodieren.

Üblicherweise zieht man sein Quellvideo in so ein Tool und dann stirbt man auch schon den User-Tod:

  • Welcher Codec soll es denn werden?
  • Welche Bitrate?
  • Qualitätseinstellung in Prozent?
  • Audiocodec?

Keines dieser Riesentools hat einen Schalter á la „wie Quelle“.

Man möchte schreien: STOP!!! Es soll der Codec bzw. Container bleiben, der es ist, es soll die Bitrate bleiben, es soll die Qualität bleiben, der Audio-Codec … und nahezu Alles, was Du noch fragen willst!

Was ich will ist doch nur: ich habe eine *.flv-Datei und sie hätte gerne als *.mp4. Oder *.avi und möchte einfach nur *.mov.

Gründe dafür sind beispielsweise nur

  • mein gerade vorhandenes Tool schluckt nur dieses oder jenes
  • mein Gerät verlangt eben xy
  • der Windows-Explorer macht keine Previews von flv-Dateien – aber von mp4-Dateien mit denselben Container-Inhalten!

Lösung (Windows) – gebastelt, einfach – läuft aber

Man …

  1. … nehme das Open-Source-Paket FFmpeg, erhältlich unter https://www.ffmpeg.org/ und entpacke es
  2. … erstelle im Bin-Ordner eine Batch-Datei vidconv.bat mit folgendem Inhalt:
        ffmpeg.exe -i %1 -vcodec copy -acodec copy %1.mp4 
  3. … rufe im Bin-Ordner die Kommandozeile (cmd.exe) auf (Shift + Kontextmenü – da steht dann der Befehl „Eingabeaufforderung hier öffnen“ drin, wenn nichts selektiert ist(!) – das ist die sog. Kommendozeile
  4. … kopiere das gewünschte Video für die Konvertierung auch in diesen Ordner
  5. … und tippe dann in der Eingabeaufforderung/Kommondozeile z.B. folgenden Befehl ein:
        vidconv.bat videodatei.flv

Das klappt mit den meisten gängigen Kodierungen und Formate. Falls das mal klemmt, kann man versuchen den Befehl in der Batch-Datei in folgenden zu ändern:

    ffmpeg.exe -i %1 %1.mp4

Dann wird allerdings nicht mehr nur die Format-Information (avi zu mpg, flv zu mp4 etc.) geändert sondern die innere Container-Information doch umgerechnet.

Natürlich geht das nicht nur mit mp4-Dateien als Ziel. Eine Übersicht gibt es auf der ffmpeg-Homepage.

Wer sich etwas mit Batch-Dateien auskennt, kann diese Lösung recht schnell so weit bringen, dass man gleich ganze Ordner voll in einem Rutsch konvertiert bekommt. Das führe ich jetzt nicht weiter aus, weil das schlichtweg Batch-Verarbeitung ist und mit dem Video-Problem nicht mehr viel zu tun hat. Solche Probleme („in einem Ordner aus allen Dateien alle <Return>-Zeichen gegen <LF>-Zeichen konvertieren“, „in einem Ordner in allen Dateinamen die Umlaute entfernen“ usw.) werden in Batch- und Admin-Foren prima erläutert. Solange es nur um „Alle Videos in einem Ordner“ geht, kann auch die Suche nach „FFmpeg“, „Batch“ und „Ordner“ zur fertigen gewünschten Beispiel-Schleife führen.

Hintergrund

Das tückische bei Videos ist, dass man es eigentlich mit zwei Formaten zu hat:

  • einmal gibt es die Dateiformate wie mov, avi, wmf etc.
  • zum Anderen die Kodierung: h.264, h.265/HEVC, ProRes etc.

Die Kodierung hat maßgeblichen Einfluss auf die Qualität und die Dateigröße. Ungeschickte bzw. alte Speicherungen schaffen es entweder nicht viel irrelevante Information zu reduzieren (Dateien bleiben groß) oder reduzieren nur auf Kosten der Bildqualität.

Die Mathematik hat hier in den letzten Jahren viele kleine Optimierungen ermittelt, mit denen man die gespeicherten Daten immens reduzieren kann ohne, dass es stark auffällt.

Beim Schneiden oder Verarbeiten von Videos bleibt es praktisch nicht aus, dass Videos daher umkodiert werden müssen. Verfahren, die nur von einem Keyframe vorne ausgehen und im Weiteren nur das Delta zu den Folgeszenen berechnen, müssen natürlich neue Keyframes generieren, wenn man etwa den vorderen Teil eines Szene wegschneidet. Das passende Gleichnis ist hier nicht das Tonband, bei dem man auch einen Schnipsel aus der Mitte irgendwo einkleben und abspielen konnte. Es ist eher wie eine Fernsehserie: wenn man erst bei Teil 3 einschaltet und die Handlung Elemente der vorherigen Szenen aufnimmt, muss einem jemand erzählen, was da gewesen ist oder die Bilder sagen einem nichts. Das steckt hinter einem sog. Container: ob ein Video in Form von Keyframe+Delta oder als Folge von Bildern gespeichert wird

Das Umkodieren von Videos beim Konvertieren ist undankbar, denn es kann ziemlich lange dauern und zudem die Qualität beeinflussen. Wenn man sich bei der Farbtiefe oder der Bitrate verhaut, kann man ganz schön miserable Ergebnisse oder auch Monsterdateien ernten.