Lohnt es sich via TV Karte aufgezeichnete MPEG-2 Streams nach h.264 zu kodieren?



  • hustbaer schrieb:

    x264 hat aber eine andere Constant-X Einstellung die da besser funktioniert. Ich meine sie heisst Constant-Quality, müsste aber nachsehen.

    Bei ffmpeg heißt sie "-crf". Dieses Tool kann ich nur empfehlen. Da es eine Kommandozeilenapplikation ist lässt es sich wunderbar skripten, was bei dieser Menge an Videos sicher sinnvoll ist.



  • Ganz ehrlich, kauf dir einfach eine neue 1TB Platte für 50€ (oder gleich 2TB für 80€) und gut is. Da kostet ja der Strom für's umkodieren mehr.



  • cooky451 schrieb:

    Ganz ehrlich, kauf dir einfach eine neue 1TB Platte für 50€ (oder gleich 2TB für 80€) und gut is. Da kostet ja der Strom für's umkodieren mehr.

    Kurze Überschlagsrechnung:

    Für 50 € bekommt man bei einem Preis von 0,24 €/KWh 208,3 KWh Strom.
    Wenn der Rechner unter Last (nur CPU) ca. 90 W benötigt, dann kann man den damit
    ~ 2315 h rechnen lassen.

    Angenommen wir brauchen für jeden Film zum enkodieren 60 Minuten, dann sind das
    2315 Filme, die man für diese Energiemenge umkodieren könnte
    Wenn jeder Film 2,3 GB groß ist, dann ist das eine Ursprungsdatenmenge von 5324.5 GB. Dafür reicht deine 1 TB Platte also gar nicht aus.

    Recht hättest du, wenn du dafür eine Speicherkapazität von mehr als 5324.5 GB bekommen würdest.


  • Mod

    Ist aber schon verdammt nahe dran. Bloß Faktor 5. 60 Minuten sind doch auch eher optimistisch bei den hier wohl vorliegenden Qualitätsansprüchen. Man gibt also nicht viel mehr Geld aus für die Platte. Und man hat immer noch eine reale Festplatte für das Geld bekommen, anstatt eine logische Umordnung von Nullen und Einsen, und man hat den Rechner nicht tagelang monatelang blockiert.



  • Also 60 Minuten sind schon mehr als optimistisch. Für h264 braucht man eher mehr als die Laufzeit, also 120-200 Minuten pro Film, jedenfalls wenn es halbwegs gut aussehen soll.



  • cooky451 schrieb:

    Also 60 Minuten sind schon mehr als optimistisch. Für h264 braucht man eher mehr als die Laufzeit, also 120-200 Minuten pro Film, jedenfalls wenn es halbwegs gut aussehen soll.

    Also ich habe gestern bei den Einstellungen wie ich sie weiter oben beschrieben habe auf meinem alten Rechner, einem Core2Duo E6550 ca. 80 Minuten für den einen Film benötigt.

    Access: 2013-06-20 19:05:08.000000000 +0200
    Modify: 2013-06-19 20:24:27.000000000 +0200
    

    Ein Haswell würde das sicher wesentlich schneller können.
    Immerhin ist das dann ein 4 Kerner, anstatt nur 2 Kerner, dann hat er AVX2 und der Takt ist ebenfalls höher.
    Außerdem war meine verwendete x264 Version nicht mehr die neuste, da könnte sich also auch allein schon Softwareseitig etwas getan haben.
    Wenn ich den Haswell habe, werde ich eh ein neues System aufsetzen und dann werden da auch aktuellere Versionen von x264 & Co dabei sein.

    Die Frage ist jetzt halt nur, wie das bei einer bessere Qualität mit der Zeit aussieht.

    Auf folgender Webseite steht:

    Für hochqualitative Encodings ist der Bereich zwischen QP 18 und 20 am interessantesten.

    http://encodingwissen.de/x264/technik

    Wenn ich also den Quantizer von 26 auf 18 ändere, dürften das auf dem alten Rechner mehr als 80 min werden, die Frage ist dann halt hier wie lange.
    Wenn das nur 30 min mehr sind, dann dürfte ein Haswell das ganze auch in 60 min schaffen.

    Übrigens habe ich während der Rechner das Video kodiert hat, noch nebenbei im internet gesurft.
    Obwohl ich Flashblock und NoScript verwende, liefen da vereinzelt hin und wieder dann doch ein paar Scripte und Flashsachen.



  • Noch eine Anmerkung.

    Wenn ich auf einen 2-pass Durchgang verzichte, dann verläuft die ganze Kodierung natürlich wesentlich schneller.
    Wenn ich dann den Quantizer großzügig bemesse, dann erhalte ich dennoch eine gute Qualität.
    Natürlich geht das alles auf Kosten des Speicherplatzverbrauchs, aber mit h.264 werde ich dann trotzdem wesentlich mehr Speicherplatz einsparen, als wenn ich bei MPEG_2 bleibe.
    Das optimale Platzbedarf zu Qualitätsverhältnis erreicht man natürlich nur mit einem 2-pass Durchgang, das ist kar, und das geht dann auf die Kosten der benötigten Rechenzeit.

    Ich müßte also einen Kompromiss finden, zwischen Speicherplatzbedarf und der Rechenzeit, während die Qualität (ob 1-pass oder 2-pass Durchgang) gleich gut bleiben darf.

    Das wäre also durchaus eine akzeptable Lösung.

    Mehr hierzu steht auch hier:
    http://encodingwissen.de/encodingmethoden



  • Okay, 2-pass ist in meinem Fall völlig unnötig:

    2-Pass und N-Pass

    Sinn und Zweck eines 2-Pass-Encodings ist es, eine vorher festgelegte Dateigröße exakt zu treffen und dabei die subjektiv empfundene Videoqualität im Verlauf des Films möglichst konstant zu halten. [B]2-Pass war nie und ist nicht die Methode, um dieses wolkige Ideal von »maximaler Qualität« zu erfüllen.{/B] Ganz im Gegenteil spielt das Niveau der Qualität nur indirekt über die Zielgröße eine Rolle.

    http://encodingwissen.de/encodingmethoden

    Ich kann also auf eines der 1-Pass Quality Verfahren zurückgreifen und somit jede Menge Zeit sparen.
    Denn ich habe weder vor, das Video bei limitierter Bandbreite zu streamen noch will ich es auf einen knapp bemessenen Datenträger (z.B. DVD) pressen.
    Die Daten kommen nämlich einfach auf die Festplatte und da ist die Qualität entscheident.

    Würde ich einen Film auf DVD kopieren wollen, dann wäre wohl ein 2-pass Verfahren der richtige Weg. Allerdings würde ich für eine DVD ohnehin kein h.264 einsetzen, sondern bei MPEG-2 aufgrund der Abwärtskompatibiltiät zu alten DVD Playern bleiben.

    Ich kann also bei 1-pass bleiben.



  • So, ich habe das Video jetzt mit einem Quantizer von 18 noch einmal neu kodiert.

    Das Ergebnis ist wesentlich näher am Original, als das vorherige mit einem Quanitzer von 26 kodierte Material, allerdings sind die Haaresträhne weitehin nicht scharf.

    Das Problem scheint irgendwie am Wavelet Verfahren, auf das h.264 grundlegend basiert, zu liegen, mit dem Resultat, dass wirklich alles weichgezeichnet wird.
    Das Problem hatte ich vor 2 Jahren mit einem frühen Test schon einmal, als ein fein kariertes Hemd, nicht mehr kariert war.

    Die Qualität ist ansonsten, wenn man über die Weichzeichnung hinwegseht aber brauchbar, wenn auch nicht sehr gut.
    Wenn man das Original nicht kennt, dann dürfte einem hier nichts negativ auffallen.

    Nun zum eigentlichen Gewinn des Ergebnisses.
    Ziel wäre es ja, Speicherplatz zu sparen.
    Mit einem Quantizer von 18 ist das Video nun 1,45 GB groß.
    Also eine Platzersparnis von 36 %, viel ist das nun leider nicht mehr, gemessen am betriebenen Aufwand.

    Gedauert hat die ganze Kodierung ungefähr 142 min +/- 3 min. Leider kann ich keine genaueren Angaben machen, weil ich nicht mehr genau weiß, was die Kodierung begonnen wurde.

    Im großen und ganzen ist mir der Speicherplatzgewinn bei benötigtem Aufwand und gegebener Qualität zu gering, weswegen ich jetzt auf das Umkodieren verzichten werde und stattdessen erstmal ein paar Sachen löchen werde, die ich IMO doch nicht brauche bzw. archivieren muss.



  • cooky451 schrieb:

    Für h264 braucht man eher mehr als die Laufzeit, also 120-200 Minuten pro Film, jedenfalls wenn es halbwegs gut aussehen soll.

    Bei D1 (720x576) sollte es locker in Echtzeit oder schneller gehen.

    1080p ist was anderes. Wobei auch das auf aktuellen CPUs in Echtzeit geht (QuickSync und co.), aber wie gut die Qualität/Bit dann wirkich ist weiss ich nicht.


Anmelden zum Antworten