habichtfreak
Captain
- Registriert
- Aug. 2006
- Beiträge
- 3.542
Videos platzsparend konvertieren
Eine Schritt-für-Schritt Anleitung
Eine Schritt-für-Schritt Anleitung
Immer wieder taucht – auch im Forum von Computerbase - die Frage auf, wie man eine beliebige Videodatei konvertieren kann. Sei es, weil das Endgerät das derzeitige Dateiformat nicht versteht, oder einfach weil man Platz sparen möchte. Gerne wird diese Frage mit „DVD-Rippen“ in einem Topf geworfen, was nach dem geltenden Recht der meisten Länder verboten ist. Entsprechend wertet ihr hier auch keine Infos darüber finden, wie ihr einen Kopierschutz umgehen könnt. Wenn ihr jedoch eine Videodatei bereits auf eurer Festplatte habt, die ihr konvertieren (umwandeln) wollt, dann findet ihr hier eine möglich Lösung für euer Problem (viele Wege führen bekanntlich nach Rom).
1. Grundlagen
Bevor es losgeht, hier ein paar Grundlagen, die zum besseren Verständnis der späteren Einstellungen dienen sollen:
Container:
Als Container bezeichnet man bei Videodateien den Dateityp, also beispielsweise .avi, .flv, .mp4, .mkv, .vob, .mpg und viele andere. Mit dem Dateityp kann man aber nicht immer Rückschlüsse daraus ziehen, was sich tatsächlich in dem jeweiligen Container befindet. Manche Container können nur bestimmte Codecs enthalten (z.B. VOB nur MPEG-1 oder MPEG-2), andere sind sehr kompatibel und können fast alle Formate beinhalten (z.B. Matroska).
Codec:
Der Codec ist der Name des Verfahrens, wie der Inhalt (Audio oder Video) komprimiert wurde. Mediadateien werden grundsätzlich komprimiert gespeichert, da unkomprimiertes Speichern enormen Speicherplatz benötigen würde. Beispiels:
Audio: MP3, AAC, FLAC, AC3
Video: siehe Liste bei Wikipedia: https://de.wikipedia.org/wiki/Liste_der_Videocodecs
Aufbau einer Videodatei:
In Zeiten bevor es hochauflösendes Material gab, waren der DivX bzw. der Open-Source Pentant XviD die bekanntesten Vertreter im privaten Bereich. Als Container diente zumeist der Audio Video Interleave (.AVI). Mit dem Aufkommen von hochauflösendem Material stiegen die Bitraten und damit auch die Dateigrößen weiter an, was die Entwicklung effizienterer Komprimierungsverfahren vorantrieb. Der bekannteste Codec der aus dieser Entwicklung hervor ging, ist H.264. Er ist auch unter weiteren Namen wie MPEG-4/AVC oder MPEG-4/Part 10 bekannt. Sein Nachfolger wird der H.265 bzw. HEVC Codec sein, der heutzutage von den meisten Endgeräten noch nicht unterstützt wird.
Vollbilder und Halbbilder:
Vollbilder:
Heutzutage werden die einzelnen Bilder, aus denen eine Videodatei besteht, als Ganzes abgespeichert, sogenannte Vollbilder (engl. progressive).
Halbbilder:
Jede Datenübertragung erfordert eine bestimmte Bandbreite. Videos erkennt das menschliche Auge als flüssig, wenn mehr als 25 einzelne Bilder pro Sekunde zu sehen sind. Um so wenig wie möglich Bilder übertragen zu müssen, und damit Bandbreite zu sparen, hat man sich eines Tricks bedient, dem Zeilensprungverfahren (eng. interlace). Hierbei wird das einzelne Bild zerlegt, in so viele Streifen wie es Pixel in der Höhe hat. Diese Pixelreihen werden durchnummeriert und im ersten gesendeten Bild sind nur die ungeraden Zeilen enthalten. Dieses Halbbild baut der Bildschirm komplett auf (jede zweite Zeile fehlt) und anschließend das Bild mit den geraden Zeilennummern. Da dieser Bildaufbau zu oft für das menschliche Auge geschieht, sehen wir die Bilder nicht unvollständig, sondern als Ganzes.
Auch wem Voll- bzw. Halbbilder bisher nicht geläufig waren, wir sehen sie jedem Tag. Schaltet mal den Fernseher ein, findet man neben den Infos zur laufenden Sendung auch die Information über die empfangene Auflösung. Da könnte 1080p, 1080i, 720p oder 576i stehen. Die Zahl bezeichnet die Auflösung, und der Buchstabe dahinter die Art der Bilder. „i“ steht für interlace, also Halbbilder, „p“ für progressive (Vollbilder)
Warum ist es nun wichtig, sich damit auseinander zu setzen? Hat man beispielsweise Aufnahmen von alten DV-Camcorder oder ähnlichen Geräten, dann liegt das Quellmaterial in Halbbildern vor. Das Ziel sollten jedoch Vollbilder sein. Ohne entsprechende Einstellungen vorzunehmen entsteht ein solch verschobenes Bild:
Interlace (nicht korrigiert)
Vielleicht habt ihr selbst auch schon mal Videodateien gesehen, bei denen jede zweite Zeile verschoben ist. Hier hat derjenige der die Datei erzeugt hat, genau das nicht berücksichtigt. Die bekannten PC-Media-Player können das zwar korrigieren, jedoch ist es mühselig die entsprechenden Einstellungen vorzunehmen, da es verschiedene Arten der Verschiebung gibt. Endgeräte wie Fernseher bieten gar keine Möglichkeit das Bild im Nachgang zu korrigieren. Deshalb sollte man die Verschiebung korrigieren und die Datei neu erstellen. Das Ergebnis schaut sich sehr viel angenehmer:
Interlace (korrigiert):
Encoder und Decoder:
Ein Codec besteht immer aus einem Encoder und einem Decoder. Der Encoder (auch Kodierer genannt), wandelt das Quellmaterial nach einem vorgeschriebenen Kodierverfahren um. Dieser Vorgang geschieht nur einmalig beim Umwandeln eines Videos und erfordert viel Rechenkraft. Wird das Video abgespielt, kommt der Decoder zum Einsatz, der die kodierte Datei entschlüsselt und in ihr ursprüngliches Format zurückkonvertiert. Der bekannteste Encoder für H.264 ist der X.264, welcher im späteren Beispiel auch zum Einsatz kommt.
Die Aufgabe des decodieren übernimmt am PC der Prozessor (CPU). Allerdings ist dieser denkbar ungeeignet für diese Aufgabe, weshalb in den meisten Geräten spezielle Decoder verbaut sind. Diese verstecken sich meist in der Grafikeinheit. AMD nennt es beispielsweise UVD (Unified Video Decoder). Welche Decoder genau verbaut sind und welchen Codec sie beschleunigen können hängt von der verbauten Version des Decoders ab.
Wie wichtig ein Decoder ist, veranschaulicht der nachfolgende Vergleich. Auf einem Intel Core i5-4590 wurde der 4k Trailer „Der Hobbit“ mit und ohne Decoder abgespielt:
Video: 4096 x 2304 @ 13,9 MBit/s // Audio: 2 Kanal @ 147 kBit/s
2. Wie konvertiere ich richtig
Warum ihr euer Video umwandeln wollt, kann verschiedene Gründe habe:
- Bisheriges Dateiformat wird vom Endgerät nicht unterstützt
- Datei unnötig groß
- Zu hohe Auflösung (kann vom Endgerät nicht abgespielt werden)
Sofern man sehr altes Quellmaterial besitzt, kann es sein, dass die schwarzen Ränder (oben und unten) Bestandteil der Videodatei sind. Das wurde damals bewusst so gemacht, um ein Seitenverhältnis von 4:3 zu erzeugen. Zum einen lassen sich derartige Videos auf heutigen 16:9 Geräten nicht bildschirmfüllend darstellen, zum anderen verbrauchen die gespeicherten schwarzen Flächen unnötig Speicherplatz. Dieses Problem lässt sich beim Konvertieren ebenfalls beheben
Umwandeln ist immer mit Qualitätsverlust verbunden
Über diesen Satz ist jeder schon mal gestolpert, denn er ist immer gültig. Aber: Er hat heutzutage auch an Gewicht verloren. Die früheren Codecs wie DivX oder Xvid waren bei weitem nicht so leistungsstark wie der H.264. Zum anderen spielt auch das Verfahren eine wichtige Rolle, wie umgewandelt wird. Man unterscheidet zwischen 2-Pass (früher gebräuchlich) und One-Pass (heute Maß der Dinge).
Beim 2-Pass Verfahren wird im ersten Durchlauf (Pass 1) das Quellmaterial analysiert, um herauszufinden wie die zur Verfügung stehende Bitrate möglichst effizient aufgeteilt werden kann. Erst im zweiten Durchlauf (Pass 2) findet die eigentliche Umwandlung statt. Da dem Encoder vor Beginn seiner Arbeit die zu erreichende Bitrate vom User vorgegeben wird, kann er nur in begrenztem Rahmen die Bitrate anpassen. Insbesondere beim Wechsel von Szenen, sind Fehler in der Darstellung mit bloßem Auge zu erkennen, sogenannte Kompressionsartefakte.
Beim One-Pass Verfahren wird dem Encoder keine feste Bitrate vorgegeben, die zu erreichen ist, sondern eine bestimmte Qualität. Diese steht, je nach verwendetem Programm, als CQ (Constant Quality) oder CRF (Constant Rate Factor) in den Einstellungen zur Auswahl. Theoretisch sind alle Stufen zwischen 0 bis 51 (in 1er-Schritten) möglich. Die meisten Programme beschränken sich aber auf den Bereich zwischen 16-24.
Bedeutung dieser Scala:
- 0: Bestmögliche Qualität (extrem große Datei)
- 51: Kleinstmögliche Datei (extrem schlechte Qualität)
Je höher der CRF gewählt wird, je schneller geht das Umwandeln und die Bitrate des Videos sinkt. Die im Diagramm angegebenen Werte sind Beispielwerte und dienen zu Verdeutlichung des Zusammenhangs der einzelnen CRF-Stufen. CRF 22 führt ungefähr zur halben Dateigröße (exkl. Audio) im Vergleich zu CRF 18. Das ist immer so, egal welche Auflösung das Video hat.
Welche sichtbare Qualität mit den einzelnen Werten erreicht wird, lässt sich an dieser Stelle nicht feststellen. Hier bleiben nur zwei Möglichkeiten: Man verlässt sich auf die Erfahrung anderer, oder man legt selbst eine Messreihe an. D.h. ein Video wird mit unterschiedlichen Stufen verarbeitet. Am Ende hat man mehrere Videodateien und sucht sich einen beliebigen Frame (Einzelbild). Diesen speichert man je Stufe einmal ab und vergleicht die sichtbare Qualität.
Rein Subjektiv betrachtet, kann ich euch folgende Erfahrungswerte mit auf den Weg geben:
- 16: Unnötig aufgeblähte Dateigröße ohne Mehrwert
- 18: Kein Unterschied zum Original zu sehen
- 20: gelegentlich, minimale Unterschiede erkennbar
- 22: Sichtbar schlechter als Original
Hier mal ein Beispielframe (aus: „Appleseed Alpha“) dessen Videobitrate ursprünglich 5610 kBit/s betrug. Nach der Umwandlung mit CRF 20 (ohne Änderung der Auslösung) betrug sie nur noch 2350 kBit/s. Die Bitrate wurde also um 58% gesenkt.
Da das Forum leider nicht die Möglichkeit bietet, zwei Bilder zu vergleichen, greife ich an dieser Stelle auf auf einem externen Dienst zurück. Schaut euch die beiden Bilder an und vergleicht selbst.
Die offensichtlichste Änderung ist das Verschwinden des Grauschleiers, was die Qualität der Zieldatei subjektiv besser wirken lässt. Wie man diese (un-)beabsichtigten Änderungen vornimmt, soll aber hier und heute nicht Bestandteil sein.
Je nachdem wie gut die eigenen Augen sind, kann man einzelne Pixel am Helm ausmachen, die durch das Umwandeln verändert wurden. Wenn man – bei den eigenen Versuchen – nur geringe oder keine Unterschiede sehen kann, dann hat man alles richtig gemacht. Denn die Kunst beim Konvertieren besteht darin, die Veränderungen so gering wie möglich zu halten, und trotzdem signifikant Bitrate zu sparen.
Zusammenhang von Auflösung und Bitrate
Glaubt man der landläufigen Meinung, dann ist eine höhere Auflösung immer mit besserer Qualität verbunden. Diese Aussage gilt beim Konvertieren nicht, denn entscheidend für die Qualität ist in erster Linie die Bitrate. Je höher diese ist, je mehr Informationen können gespeichert werden. Erst wenn die Bitrate so hoch gewählt wird, dass die zur Verfügung stehende Auflösung keine zusätzlichen Details darstellen kann, wirkt sich eine höhere Auflösung positiv auf die Qualität aus. Beim Umwandeln eines Videos macht es jedoch keinen Sinn die Auflösung zu erhöhen, denn mehr Details als in der Ursprungsdatei, können auch nicht in der Zieldatei vorhanden sein. Egal ob man die Auflösung beibehält, oder sie verringert (wie im späteren Beispiel), das Ziel ist die bestmögliche Qualität, was nicht immer durch eine höhere Auflösung erreicht wird.
Trotz zehnmal höherer Auflösung (bei gleicher Bitrate) ist die Qualität deutlich schlechter. Wer also mit Videomaterial arbeitet, muss den Spagat aus beiden Parametern hinbekommen um das bestmögliche Ergebnis zu erzielen. Hier spielt die Erfahrung eine entscheidende Rolle, denn feste Bitraten-Werte für bestimmte Auflösungen gibt es nicht. Aber: Dank des Constant Rate Factors (CRF), übernimmt der Encoder den Großteil diese Aufgabe.
3. Theorie trifft Praxis
Nach jeder Menge Theorie, kommen wir nun zur Praxis. Ich verwende seit Jahren das Tool „RipBot264“. Der Name erweckt vielleicht den Anschein, dass man mit diesem Tool sogenannte DVD-Rips anfertigen kann, also das umgehen eines Kopierschutzes. Nein, das kann das Tool nicht. RipBot ist vielmehr eine GUI (graphische Benutzeroberfläche), die das Arbeiten dank Schaltflächen vereinfacht. Versierte User wissen, mit einer Batchdatei und dem entsprechenden Know-How lässt sich die Aufgabe auch ganz ohne zusätzliches Tool erledigen.
RipBot einrichten
Beim ersten Start, wird RipBot vermutlich nicht Starten und stattdessen erscheint dieses Fenster:
Klickt auf den jeweiligen Link, installiert die fehlenden Komponenten und startet RipBot erneut. Hat alles geklappt, erscheint dieses Fenster:
Einen Job erstellen
Jobs sind in RipBot die Aufgaben die zu erledigen sind. Die Jobliste seht ihr im Hauptfenster, zu Beginn ist sie natürlich leer. Um einen neuen Job zu erstellen, klickt auf die Schaltfläche „Add“. Es öffnet sich ein neues Fenster in dem ihr die zu konvertierende Datei auswählen müsst. Anschließend erscheint das „New Job“ Fenster. Alle Felder sind leer, alle Funktionen ausgegraut.
In der linken unteren Ecke seht ihr die Meldung „Demuxing audio streams …“. Ripbot zerlegt jetzt die ausgewählte Datei in den Audio- und Videostream. Diese Dateien werden standardmäßig im Temp-Ordner unter C: zwischengespeichert. Wer hohes Schreibaufkommen auf seiner SSD vermeiden will, kann ich den Einstellungen einen anderen Ordner festlegen.
Bekannter Fehler: Enthält der Dateiname der eingelesenen Datei Zeichen die Ripbot nicht verarbeiten kann, geht das demuxen sehr schnell und endet meinst mit der Anzeige [No Audio].
In diesem Fall trat ein Fehler auf, welcher meist auf Umlaute (Ä/ä, Ü/ü, Ö/ö) im Dateinamen zurückzuführen ist. Benennt die Datei um und versucht es erneut. Enthält eure Datei tatsächlich keine Audiospur, ist dies natürlich nicht als Fehler zu interpretieren. Ist das Zerlegen (demuxen) abgeschlossen, füllen sich die Felder und die Schaltflächen können bedient werden.
Jetzt kommt es drauf an, warum ihr das Video konvertieren wollt. Entsprechend sind unterschiedliche Einstellungen für euch wichtig. Die erste Zeile zeigt euch die erkannte Video- bzw. Audiospur. Das eingelesene Video hat bereits das Format H.264 und AAC-Audio.
Profile (Video): Hier könnt ihr aus einer Liste von Profilen wählen, um Dateien zu erzeugen, die auf bestimmten Endgeräten abgespielt werden können. Ist die Kompatibilität mit einem bestimmten Endgerät für euch nicht wichtig, wählt das Standardprofil [High 4.1] DEFAULT . DEFAULT
Profile (Audio): Da die Tonspur in den meinen Fällen bereits in einem gängigen Format vorliegt (AAC, MP3, AC3), dass jedes moderne Endgerät beherrscht, kann hier die Einstellung „COPY STREAM“ gewählt werden. Damit bleibt die Tonspur unverändert erhalten.
Mode und CRF: Diese Einstellung hab ich bereits eingangs beleuchtet.
Properties (neues Fenster)
Crop: Mit dieser Funktion könnt ihr manuell oder automatisch schwarze Ränder am Bildschirmrand entfernen
Size:
Hier kann die Auflösung der Zieldatei angepasst werden. Alle vordefinierten Auflösungen haben das Seitenverhältnis 16:9. Sofern die Quelle ein anderes Seitenverhältnis hat, wählt die Einstellung „Custom“. Jetzt könnt ihr eine beliebige Breite wählen. Die Höhe wird anhand des erkannten Seitenverhältnisses automatisch berechnet. Klickt auf „Preview Script“ um zu überprüfen, ob die getroffenen Einstellungen zum gewollten Ergebnis führen. Vergleicht das Seitenverhältnis mit der Originaldatei, falls ihr euch nicht sicher seid.
Deinterlace:
Sofern die Quelldatei aus Halbbildern besteht (oder verschobenen Vollbildern), müsst ihr hier eine Auswahl treffen. Welche in eurem Fall die Richtige ist, bekommt ihr nur durch probieren heraus (mit der Vorschau „Preview Script“ erkennt ihr sofort ob die Verschiebung korrigiert wurde oder nicht)
- TFF (Top Field First): für Aufnahmen von DV-Camcordern
- BFF (Bottom Field First): Für TV-Aufnahmen
Alle weiteren, hier nicht angesprochenen Einstellungen unter Properties sind im privaten Umfeld nicht von Interesse. Mit einem Klick auf OK werden die getroffenen Einstellungen für diesen einen Job übernommen.
Beispieleinstellungen: schwarze Balken werden entfernt (294/292) und die Auflösung auf 720p geändert
Ihr landet anschließend im vorherigen Job-Fenster. Wählt zum Schluss das Ausgabeverzeichnis und einen Dateinamen. Ob ihr euch für MKV oder MP4 entscheidet, hängt vom Endgerät ab. Mit „DONE“ übernehmt ihr den Job in die Warteschleife.
Zu guter Letzt den Job starten und warten bis die Aufgabe erledigt ist. Überprüft die neue Datei, ob das Seitenverhältnis stimmt und der Ton synchron ist. Entspricht das Ergebnis euren Erwartungen, entfernt den Job aus der Liste mit „Remove“. In diesem Augenblick werden auch die temporären Dateien dieses Jobs von der Festplatte entfernt.
4. Schlusswort
Wie man anhand der Bilder sehen kann, habe ich in diesem Beispiel den UHD-Trailer zum Film „Der Hobbit“ konvertiert. Dieser lässt sich auf einem FullHD Fernseher nicht abspielen. Es erscheint die etwas verwirrende Meldung „Diese Videodatei wird nicht unterstützt“. Sowohl das Dateiformat als auch die enthaltenen Codecs unterstützt der Fernseher, aber er ist nicht in der Lage Videos abzuspielen, deren Auflösung höher ist als seine eigene. Dieses Problem trifft man ebenfalls bei 3D-Videomaterial an, bei dem zwei FullHD-Einzelbilder nebeneinander (Side-by-Side) oder übereinander (over-under) angeordnet sind.
Anhänge
-
container.PNG10,8 KB · Aufrufe: 1.296
-
interlace1.png233,4 KB · Aufrufe: 11.039
-
interlace2.png207,5 KB · Aufrufe: 11.016
-
uvd.jpg215,7 KB · Aufrufe: 10.979
-
decoder-vergleich.png21,4 KB · Aufrufe: 10.942
-
kompressionsartefakte.jpg285,9 KB · Aufrufe: 10.728
-
vergleich-crf.png2,1 KB · Aufrufe: 10.789
-
bitrate-auflösung2.jpg275,4 KB · Aufrufe: 10.827
-
rb1.PNG41,1 KB · Aufrufe: 10.769
-
rb2.PNG35 KB · Aufrufe: 10.619
-
rb3.PNG39,9 KB · Aufrufe: 10.725
-
rb4.PNG43,9 KB · Aufrufe: 10.816
-
rb5.PNG37,8 KB · Aufrufe: 10.817
-
rb6.PNG30,2 KB · Aufrufe: 10.650
-
no-audio.png12,7 KB · Aufrufe: 10.668
-
container.PNG7,2 KB · Aufrufe: 10.959
Zuletzt bearbeitet: