30
Juli
2024
17:42

Dav1d-Videodecoder kompilieren

30 Juli 2024 17:42

Dav1d ist der schnellste AV1-Videodecoder für Windows, Linux und MacOS.

Einführung

Auf einem ASUS „Eee PC“-Netbook mit Linux LXLE, einem AMD E-350-Prozessor und einer Radeon HD 6250-Grafikkarte habe ich Probleme bei der Videowiedergabe: Im Google Chrome-Browser wird das Video unterbrochen. Die Lösung besteht darin, zunächst das Video herunterzuladen und es dann mit einem Videoplayer von Ihrer Festplatte abzuspielen mpv. Natürlich reicht mpv für viele Aufgaben aus, aber dav1d ist fortgeschrittener – geschrieben in C. Vergleich mit anderen Playern hier.
Für diejenigen, die nicht kompilieren möchten, gibt es eine fertige Lösung siehe Ende des Artikels- Abschnitt "Dav1d verwenden".

Möglichkeit, dav1d aus dem Linux-Repository zu installieren

Der Encoder/Decoder ist im Ubuntu-Repository vorhanden

sudo apt update
sudo apt install dav1d

Version aus dem Repository:

dav1d --version

1.2.1

Mit Blick auf die Zukunft stellte sich heraus, dass die Version nach der Kompilierung viel neuer war:

dav1d --version

1.4.2-15-g2355eeb

dav1d-Homepage und Quellcode-Repository

dav1d-Homepage finden Sie unter VideoLAN.org

Es gibt keine Binärdatei und Sie müssen diese selbst erstellen, indem Sie die Quelltexte zusammenstellen.
Das Quellcode-Repository befindet sich auf GitHub. So klonen Sie ein Repository auf Ihre Festplatte:

git clone https://github.com/videolan/dav1d

Kompilierungsanforderungen

Folgende Pakete werden benötigt:

  • Build-essentiell
    klirren
    Meson
  • Ninja

Die ersten drei Bedingungen werden durch die Installation von Paketen über die Befehlszeile erfüllt:

sudo apt install build-essential
sudo apt-get install clang
sudo apt-get install meson

Für Ninja gibt es zwei Möglichkeiten: Installation aus dem Repository oder Herunterladen der neuesten Version.

sudo apt-get install ninja-build

Oder Sie können die Binärdatei für Linux-64bit von der Ninja-Projektseite herunterladen:
*https://github.com/ninja-build/ninja/releases.
Ich habe mich für die zweite Methode entschieden – eine Binärdatei.

Offizielle dav1d-Montageanleitung

*VideoLAN - dav1d

Inoffizielles dav1d-Kompilierungsverfahren

1) Nach dem Klonen aus dem Repository erschien ein Ordner im Home-Verzeichnis ~/dav1d/. Lasst uns darauf eingehen.
2) Öffnen Sie die Seite https://github.com/ninja-build/ninja/releases und öffnen Sie die Datei im Archiver ninja-linux.zip und extrahieren Sie die Ninja-Binärdatei in das Verzeichnis~/dav1d/.
3) Wählen Sie den Standard-Compiler g+

sudo update-alternatives --config cc #Wählen Sie g+
sudo update-alternatives --config c++ #Wählen Sie g+

4) Erstellen Sie im Ordner dav1d ein „build“-Verzeichnis

mkdir build

5) Zusammenstellung

meson setup build

6) Erstellen Sie aus Objektdateien im Build-Ordner

cd build
../ninja

Ergebnis – die Ausgabedatei befindet sich nach der Kompilierung im Verzeichnis "~/dav1d/build/tools", ausführbare Datei „dav1d“.

7) Installation der Binärdatei in den Systemverzeichnissen

../ninja -C build install

Das Programm fordert Superuser-Rechte an, um die Binärdatei zu installieren. Nach Eingabe des Passworts wird die ausführbare Datei dav1d in das Verzeichnis /usr/local/bin geschrieben:

Installing tools/dav1d to /usr/local/bin

Weitere Kompilierungsanweisungen

auf der Website von Christian Külker

Verwendung von dav1d

Der Decoder ist im Player integriert VLC ab Version 3.0.5 und wird standardmäßig zum Abspielen von Filmen in AV1 verwendet. Die aktuelle Version von VLC ist 3.0.16.

sudo apt install vlc

Und starten Sie in der Befehlszeile VLC, um das Video abzuspielen

vlc video.mp4

Zusätzliche VLC-Schlüssel können die Leistung und Wiedergabequalität beim Schreiben verbessern (geringere CPU-Auslastung, weniger Frame-Drops).hier.

dav1d spielt Videos nicht direkt ab. Es wird in externen Videowiedergabeprogrammen wie VLC und MPV verwendet.

Verwendung im MPV-Player

Laut MPV-Dokumentation die Tasten sind für die Videoausgabe zuständig

--vo=
Specify the video output backend to be used. See VIDEO OUTPUT DRIVERS for details and descriptions of available drivers.
--vd=<...>

  • Videotreiber durch Kommas getrennt.

Die neueste Version von MPV mit dav1d-Unterstützung muss nicht aus dem Linux-Repository, sondern von Flatpak installiert werden!

Installieren des Players mpv mit der Hilfe Flatpack:

sudo add-apt-repository ppa:flatpak/stable

sudo apt update

sudo apt install flatpak

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

flatpak install flathub io.mpv.Mpv

flatpak run io.mpv.Mpv

Quelle:Reddit – AV1-Videos hinken wie verrückt (Frame-Drops)

Oder Sie können die Datei von der FlatHub-Seite herunterladen flatpakref für mpv oder installieren Sie es mit Terminalbefehlen:

wget https://dl.flathub.org/repo/appstream/io.mpv.Mpv.flatpakref
sudo flatpak install io.mpv.Mpv.flatpakref
flatpak führt io.mpv.Mpv aus

Starten Sie die Wiedergabe einer Datei im MPV-Format

flatpak run io.mpv.Mpv video.mp4

So laden Sie eine Datei von YouTube herunter.

Es gibt eine Erweiterung für den Mozilla Firefox-Webbrowser „ Einfacher YouTube-Video-Downloader", wodurch eine Schaltfläche zum Herunterladen des Videos hinzugefügt wird. Video gespeichert von Mozilla Firefox sie können es nach dem Download in jedem Player ansehen, auch wenn kein Internet verfügbar ist, beispielsweise auf einer Geschäftsreise.



Verwandte Veröffentlichungen