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.