MLJ hat geschrieben:
Was soll nun ein "neuer" Intermediate Codec noch können ?
Dann werde ich mal auf meine Vorstellungen näher eingehen.
Im Grunde will ich: Ein offenes Austauschformat, das jeder ohne große Klimmzüge (d.h. einfach) in Software plattformübergreifend (Windows, Linux, Mac) verwenden kann und das eine bestimmtes Qualitätslevel garantiert. Der Codec soll klar definierte Dinge können, soll aber nicht unnötig flexibel und damit kompliziert sein.
Was ich nicht will: Diverse Codecs in jedem Tool, egal wie klein, unterstützen müssen.
Bestehende Codecs, im Grunde egal ob heutige Intermediates oder nicht, sind häufig nicht offengelegt oder aus anderen Gründen nicht praktikabel einsetzbar. Derzeit ist ProRes sicher der von der Favorit der breiten Masse, man braucht nur mal die Erwähnungen der letzten Wochen hier im Forum zu zählen, allerdings ist ProRes auch nicht wiklich offengelegt, die einzig wirklich breit genutzen Umsetzungen sind vermutlich die von Apple selbst.
Codecs wie H.264 oder H.265 sind technisch toll, aber unglaublich kompliziert. Wer sie in eigenen Programmen lesen oder schreiben will, kann das nicht selbst umsetzen. Insbesondere das Schreiben wird schnell unberechenbar: Je nach verwendeter Codec-Umsetzung kann das Ergebnis qualitativ toll oder miserabel sein.
Praktisch völlig beliebig verwendbare Umsetzungen (wie z.B. für JPEG) gibt es nicht. Auch müsste man weit mehr als einen Codec unterstützen, denn so verwenden z.B. schon im Privatbereich verbreitete HD-Kameras Codecs von MPEG-2 über H.264 bis inzwischen H.265 in diversen Varianten. Irgendwo müsste also ein Umwandlungsvorgang davor stehen, wenn man nur einen Codec bzw. nur ein Dateiformat zum Austausch unterstützen will.
Deswegen RGB-Bitmaps gleich einfach unkomprimiert oder nur mit Codecs wie HuffYUV zu speichern wird aufgrund der Datenraten jedoch schnell zu einem Problem: Egal was man hier im Forum prognostiziert, 4K-HFR und 8K werden kommen. Nicht heute, nicht morgen, aber es wird kommen. Auch größere Farbräume als sRGB werden kommen (bzw. sind bei Filmproduktionen schon da), für sie reichen die 8-Bit pro Kanal von HuffYUV nicht mehr aus.
Auch selbst wenn Massenspeicher immer günstiger wird, der Durchsatz beim Datenaustausch (z.B. in lokalen Netzen) wird sich nicht entsprechend schnell erhöhen lassen. Der Datentransfer ist eine der großen Bremsen, in der Zeit muss die CPU häufig warten.
Ein anderes Problem, zumindest für meine Wünsche, liegt darin, das in der Regel nur darstellbare Farben gespeichert werden. Wenn ich also in Arbeitsschritt A die Helligkeit aller 8-Bit Pixel verdopple, dann werden spätestens Pixelwerte über 255 abgeschnitten. Es gibt keinen Raum nach oben, ebensowenig Raum nach unten. Im Arbeitsschritt B (mit einer anderen Software durchgeführt) kann man daher auf die superhellen Werte nicht mehr zugreifen. Ein gewisser begrenzter Spielraum bis Werte abgeschnitten werden wäre wünschenswert, es muss dazu nicht gleich mit Floats gearbeitet werden.
OpenEXR könnte viele Probleme vom Prinzip her lösen. Leider ist OpenEXR auch umfangreich. OpenEXR bietet eine Menge Flexibilität und viele Features, die für Compositing, Effekte und Renderings nützlich, für einen Austausch von Film-Clips aber nicht nötig sind. Die offizielle Umsetzung (die man verwenden kann) ist von weiteren Bibliotheken abhängig und war zumindest in der Vergangeheit leider nicht unter jedem relevanten OS ganz so einfach zu bauen, wie man es sich erhoffen würde.
Natürlich ist der Codec nicht die einzige Baustelle, ein einfaches Dateiformat, welches zugehörige Tonspuren und ein paar zusätzliche Daten mit unterbringt, ist auch nötig. Aber da gibt es schon Formate, auf die man aufsetzen kann.
Ich würde daher den folgenden Ablauf vorschlagen:
1. Import aus {DV, MPEG-2, H.264, H.265, ProRes, RAW, ...} ins Intermediate.
2a. Verarbeitung mit Programm A (z.B. Vorverarbeitungen, wie entrauschen).
2b. Verarbeitung mit Programm B (z.B. Schnitt).
2c. Verarbeitung mit Programm C (z.B. Farbanpassungen).
...
3. Ausgabe in ein hochwertiges Ausgabe- bzw. Archivformat. Das könnte auch der Intermediate-Codec sein, muss es aber nicht.
4. Umwandlung in die jeweiligen Vertriebsformate.