Freier Media-Player: VLC 3.0 eint alle Plattformen

Rund drei Jahre nach der bislang letzten größeren Version 2.2 ist die bereits vorher begonnene Version 3.0 des VLC-Players erschienen(öffnet im neuen Fenster) . VLC-Chefentwickler Jean-Baptiste Kempf bezeichnete die Version 3.0 auf der diesjährigen Fosdem-Konferenz als besonders wichtig, da damit sämtliche Mobil- und Desktop-Versionen zusammengeführt würden. Diese bekommen nun auch alle gleiche Versionsnummern.

Dem einen oder anderen Nutzer könnten einige der neuen Funktionen entsprechend bekannt vorkommen, da die zugrunde liegende Bibliothek bereits in den Portierungen für Android, iOS, Tizen oder auch Universal Windows Platform (UWP) wie auf der Xbox One genutzt wird. Die neue Version umfasst rund 17.000 einzelne Codebeiträge, von denen gut die Hälfte auf die genannten Plattformen entfällt.
Hardware-Beschleunigung für alle
Die mit der Vorversion 2.2 eingeführte Videobeschleunigung über das Hardware-Decoding ist nun standardmäßig auf allen Plattformen aktiviert. Damit folgt das Team außerdem dem von Entwickler Mans Rullgard geprägten Ausspruch " Memcpy is murder! ". Denn der VLC-Player folgt einem Prinzip, das mit dem Begriff Zero-Copy beschrieben wird, und somit fast direkten Zugriff auf bestimmte Speicherbereiche und damit verbundene Operationen erhält.
Die rechenintensive Operation des Kopierens von Speicherbereichen wird umgangen, indem lediglich Zeiger beziehungsweise Referenzen in den verschiedenen beteiligten Berichten weitergereicht werden. Diese Architektur ermöglicht laut Kempf die flüssige Wiedergabe von 8K-Videodaten auf aktuellen Smartphones wie dem Galaxy S8.
Unter Windows greift VLC dafür auf die Schnittstelle Direct3D 11 zurück. Explizit unterstützt wird hier nun auch HEVC alias H.265. Alternativ kommt unter Windows auch DxVA2 zum Einsatz. Unter MacOS und iOS nutzt das Team die Video-Toolbox-Schnittstelle und unterstützt damit die üblichen MPEG-Codecs H.263, H.264/AVC, H.265/HEVC, MPEG-4 Part 2.
Für GPU-Zero-copy unter Android nutzt VLC das OpenMax IL oder auch ab Lollipop das Mediacode-NDK. Verbessert hat das Team den MMAL-Support für Decoding und Ausgabe auf dem Raspberry Pi 1 und 2. Linux-Nutzer können Hardware-beschleunigt per VDPAU Dateien mit 4:4:4 und 4:2:2 Chroma-Subsampling abspielen. Für das alternative VAAPI sind die Unterstützung für 10 Bit Farbtiefe, HEVC und das Direct-Rendering verbessert worden.
Der neue VLC-Player bietet auch abseits dieser Hardware-Technik viele neue Funktionen, die vor allem die Nutzerfreundlichkeit der Anwendung verbessern sollten.
Sichere Netzwerkstreams und schönes Heimkino
Eine dieser Funktionen, die unter Android schon fast zwei Jahre bereit steht, und nun auch in der einheitlichen Veröffentlichung genutzt werden kann, ist der Browsing-Zugriff auf verschiedene Netzwerkfreigaben. Das gilt etwa für SMB, FTP oder auch NFS. Auch die UPnP-Unterstützung hat das Team verbessert. Zum Auffinden der Netzwerkdienste gibt es eine neue Netbios-Implementierung, eine eigene neue Bibliothek für mDNS oder das für Apple-Systeme bereitgestellte Bonjour für mDNS.
Für Datei- und Netzwerkzugriffe über die erwähnten Protokolle oder über HTTP und RTSP kann der VLC-Player in Version 3.0 Passwörter und Zugangsdaten sicher speichern. Die VLC-Entwickler greifen dazu auf die nativen Schlüsselspeicher der Betriebssysteme zurück. Für iOS, MacOS und TVOS wird der Apple Schlüsselbund genutzt, für KDE Plasma KWallet, für Gnome die Libsecret und alternativ eine verschlüsselte Speicherdatei.
Neu erstellt hat das Team die Unterstützung für das Streaming per MPEG-DASH. Das Smooth-Streaming-Modul haben die VLC-Entwickler unter anderem für HLS verbessert, und das von Adobe geprägte Format HDS (Http Dynamic Streaming) wird unterstützt. Dank eines neuen Zugriffsmoduls für verschlüsselte HTTP-Verbindung kann nun auch über HTTP/2 gestreamt werden.
Heimkino mit HDR und schönem Sound
Die neue Version des freien Mediaplayers unterstützt außerdem Codecs mit bis zu 12 Bit Farbtiefe und erweiterten Farbräumen, was beides für die HDR-Unterstützung genutzt wird. Sinnvoll nutzbar ist das bisher aber natürlich nur beim Einsatz von Windows 10 mit dem Fall Creators samt entsprechender HDR-fähiger Hardware und Treiber. Für alle anderen Systeme und Plattformen nutzt VLC zur Darstellung das Verfahren des sogenannten Tone-Mapping.
Als Format wird bisher auch nur HDR10 unterstützt, wobei Chefentwickler Kempf in seinem Vortrag auf der Fosdem erklärte, dass die nachträgliche Unterstützung für das dynamische Format HDR10+ sowie für HLG vergleichsweise leicht in VLC umsetzbar sein dürfte.
Der VLC-Player ermöglicht zudem die Weiterleitung per HDMI von HD-Audio-Codecs wie E-AC3, TrueHD oder DTS-HD. Genutzt wird hierfür das Windows Audio Session API ( WASAPI(öffnet im neuen Fenster) ). Für Android ist das Audiotrack-Modul erneuert worden und unter Linux wird dazu auf Pulseaudio zurückgegriffen. Ebenso unterstützt werden mehr als acht Audiokanäle sowie Ambisonic-Sound.
Noch mehr Ausgabemöglichkeiten
Passend zum Rundum-Sound können - wie bereits in einer Techdemo gezeigt - mit VLC 3.0 auch 360-Grad-Videos angesehen werden. Die virtuelle Kamera wird per Mauseingabe rotiert, auch Zoomen und die sogenannte Little-Planet-Ansicht sind verfügbar. Die Unterstützung für diese Art Video will das Team weiter ausbauen und VR-Headsets wie Oculus oder Vive unterstützen. Ebenso denkt das Team laut Kempf über eine Integration der Libvlc in Unreal- oder Unity-Engine nach. Mitte April soll ein VR-Release folgen.
Unter Linux und BSD-System verwendet VLC zur Ausgabe künftig standardmäßig OpenGL. Das Direct Rendering mit OpenGL wird mindestens OpenGL 4.4 voraussetzen. Die Ausgabe soll außerdem mit Wayland funktionieren. Zur Darstellung der GUI unter Linux verwendet der VLC-Player ausschließlich Qt5.
Als neues Ausgabemodul gibt es eine Chromecast-Unterstützung. Das Team hat für die Desktop- und Android-Versionen auf die Nutzung des Chromecast-SDK verzichtet und ermöglicht auch das Abspielen von Formaten, die der Chromecast nicht nativ unterstützt. Dazu reenkodiert der VLC-Player die Daten beim Abspielen. Für iOS und die UWP-App in Windows fehlt noch das entsprechende Casting-UI, es soll in den kommenden Wochen nachgereicht werden.
Neu ist auch der Stack zum Rendern von Untertiteln. Dank der Nutzung der Bibliothek Harfbuzz können auch Schriften mit sogenanntem Complex Text Layout (CTL) schön dargestellt werden. Für WebVTT werden ebenso CSS-Styles unterstützt. Experimentell unterstützt wird ein De- und Encoder für den noch nicht fertiggestellten freien Codec AV1. Bluray-Discs könnten nun mit dem BD-J genannten Java-Menü genutzt werden. Das Entschlüsseln der Disc-Inhalte übernimmt der VLC aber weiterhin nicht.
Langzeit-Support für alte Systeme
Laut Ankündigung will sich das Team auch um eine Langzeitunterstützung für Security-Updates für VLC 3.0 bemühen, da für die folgende Version sehr viele alte Betriebssysteme und Plattformen nicht mehr unterstützt werden sollen.
So läuft VLC 3.0 etwa immer noch auf Windows XP, das laut Kempf vor allem bei Nutzern in Asien weiterhin beliebt ist. Die Unterstützung sei hier aber sehr beschränkt. Die zuletzt verfügbare Version von Vista wird ebenso noch unterstützt. Unter Windows empfiehlt das Team nun die Verwendung der 64-Bit-Version des Players. Die UWP-App unterstützt Windows 8.1 unter x86 und ARM, hier vor allem die Windows-Phones sowie Windows 10 für ARM sowie die 32-Bit und 64-Bit Variante von x86.
Entfernt hat das Team die Unterstützung für Mac OS X 10.6 alias Snow Leopard, das zuletzt 2011 Updates erhalten hat, sowie für iOS 6. Davon betroffen sind etwa Nutzer des mittlerweile mehr als acht Jahre alten iPhone 3GS. VLC 3.0 soll für iOS schneller sein als bisher und vor allem den Akku weniger beanspruchen. Der Entwicklungszyklus für iOS soll in diesem Jahr außerdem beschleunigt werden.
Unter Android werden außerhalb des klassischen Smartphone-Szenarios unter anderem das Dex-System von Samsung unterstützt sowie die Android-Umgebung auf Chromebooks oder ähnlichen Nutzungsszenarien mit Tastatur. Der Port auf Android Oreo ist außerdem vervollständigt.
Der Versionszweig 3.0 des VLC-Players wird der letzte sein, der auf folgenden Betriebssystemen läuft: Windows XP und Vista sowie deren Server-Äquivalente, MacOS 10.7, 10.8 und 10.9 sowie iOS 7 und 8, Android 2.x, 3.x, 4.0.x und 4.1.x. Unter Linux wird die Verfügbarkeit von OpenGL sowie mindestens die Compiler-Version GCC 5.0 und Clang 3.4 vorausgesetzt.
VLC 3.0 steht über die Downloadserver des Videolan-Projektes(öffnet im neuen Fenster) bereit. Pakete für verschiedene Linux-Distributionen sollten folgen. Die Apps für verschiedene Plattformen - allen voran Android, iOS und UWP - werden von der VLC-Community selbst über deren Appstores vertrieben. Das Projekt hat immer wieder mit gebündelten Malware-Installern und ähnlichen Fake-Downloads durch bösartige Drittanbieter zu kämpfen. Nutzer sollten den VLC-Player deshalb ausschließlich über die offiziellen Kanäle der Videolan-Community oder direkt über die Webseite Videolan.org(öffnet im neuen Fenster) beziehen.



