Moderne Smartphones, wie das Xperia 1, unterstützen High Dynamic Range (kurz HDR) Videos. In diesem Artikel gehe ich darauf ein wie man diese Videodateien auch unter Linux anschauen und verarbeiten kann.
Cinema Pro auf Xperia 1 |
Was ist HDR?
Der hohe Dynamikumfang (HDR) kennt man aus Fotos die einem erlauben tolle Fotos auch mit Gegenlicht aufzunehmen. Dafür werden unter- und überbelichtete Bilder zusammengerechnet um den Dynamikumfang zwischen ganz dunklen und ganz hellen Bereichen in einem Bild zu erhöhen. Moderne Smartphones können dies nun auch für Videoaufnahmen machen. Ganz aktuell z.B. das neue iPhone 12 mit der Möglichkeit sogar das sehr rechenintensive Dolby Vision HDR aufzunehmen. In meinem Beispiel konzentriere ich mich auf das vom Sony Xperia 1 unterstützte HLG HDR. Dieses ist nicht ganz so qualitativ hochwertig, aber eines der am besten unterstützten.
HDR Videos unter Linux
Standardmäßig wird das HLG HDR Format unter Linux von gängigen Media Playern nicht immer unterstützt. So zeigt z.B. der VLC Media Player unter Debian in Version 3.0.11 ein ziemlich blasses und ausgewaschenes Bild.
VLC vs MPV mit HDR HLG Video |
Andere Mediaplayer wie z.B. mpv ebenfalls aus Debian in Version 0.29.1 können das HDR Format ohne Probleme darstellen. Das hilft natürlich zunächst bei der allgemeinen Darstellung, aber zu HDR gehören ja immer noch mehr Dinge. Damit HDR auch vollends genossen werden kann benötigt es auch Monitore, die das auch unterstützen. Die wenigstens Laptop- oder PC-Bildschirme bieten diese Unterstützung. Deshalb lohnt es sich das HDR Format, für die unproblematische Verteilung und Verarbeitung. in SDR (Standard Dynamic Range) umzuwandeln.
Linux Videoschnittsoftware unterstützt meist kein HDR
Die gängigen Linux Videoschnittprogrammen wie z.B. Kdenlive unterstützen derzeit keine Verarbeitung von HDR. Löblich sind Ausnahmen wie Lightworks oder Davinci Resolve. Beides professionelle Programme, die aber nicht unter der sonst üblichen Open Source Lizenz stehen. Dank der Abwärtskompatibilität des HLG HDR Formats kann man aber auch unter Kdenlive das blasse Bild mittels Color Grading aufpeppeln. Nicht immer gelingt aber ein Look der dem entspricht, was mpv oder das Smartphone mit HDR Display selbst anzeigt.
Mit ffmpeg von HDR zu SDR
In diesem Fall kann aber die Multimediabibliothek ffmpeg mit einigen Filtern und Optionen helfen. Die beste Einstellung die ich gefunden habe um das HLG HDR Video - aufgenommen mit Cinema Pro unter einem Xperia 1 - in SDR zu konvertieren, ist folgende:
ffmpeg -i "Eingangsdatei.mp4" -vf zscale=t=linear:npl=250,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p -c:v libx265 -crf 10 -preset ultrafast "Ausgangsdatei.mp4"
Leider klappt diese Methode mit dem standardmäßig bei Ubuntu und Debian ausgelieferten ffmpeg Version nicht. Man müsste sich also selber eine ffmpeg Version kompilieren, dass die zscale Option unterstützt, oder man lädt sich eine bereits gebaute Version mit dieser Unterstützung herunter.
Links: HDR zu SDR konvertiert Rechts: HDR Original |
Nach der Konvertierung erhält man ein SDR Video, dass man mit KDEnlive problemlos weiterverabeiten kann.
1 Kommentare:
Hello, I also found the lack of Linux video editor HLG support bit of a downer (testing Kdenlive) after using DaVinci Resolve with Sony camera HLG footages.
After seeing some measurements, I found that the smaller 1"-type sensor cameras like ZV1 or AX700 don't necessarily include much extra information and may have banding when stretched into full HDR dynamic range. So maybe it is better to keep it all SDR anyways for simplicity, while HDR looks very nice on capable displays straight-out-of-camera.
Would be interesting to hear your updates on this if you have done more HDR video workflow experiments. Wondering if using a LUT for real-time HDR->SDR conversion would be more ideal while editing comparing to re-encoding footage beforehand with ffmpeg as you suggested.
Kommentar veröffentlichen