30
juillet
2024
17:42

Compilation du décodeur vidéo dav1d

30 juillet 2024 17:42

Dav1d est le décodeur vidéo AV1 le plus rapide pour Windows, Linux et MacOS.

Introduction

Sur un netbook ASUS "Eee PC" sous Linux LXLE, avec un processeur AMD E-350 et une carte vidéo Radeon HD 6250, j'ai des problèmes pour lire la vidéo : dans le navigateur Google Chrome, la vidéo est interrompue. La solution consiste à télécharger d'abord la vidéo, puis à la lire depuis votre disque dur à l'aide d'un lecteur vidéo.monospace. Bien sûr, mpv est suffisant pour de nombreuses tâches, mais dav1d est plus avancé - écrit en C. Comparaison avec d'autres lecteurs ici.
Pour ceux qui ne veulent pas compiler, il existe une solution toute faite voir fin de l'article- rubrique "Utilisation de dav1d".

Possibilité d'installer dav1d depuis le référentiel Linux

L'encodeur/décodeur est présent dans le dépôt Ubuntu

sudo apt update
sudo apt install dav1d

version du référentiel :

dav1d --version

1.2.1

Pour l’avenir, la version après compilation s’est avérée beaucoup plus récente :

dav1d --version

1.4.2-15-g2355eeb

page d'accueil de dav1d et référentiel de code source

page d'accueil de dav1d situé sur VideoLAN.org

Il n'existe pas de fichier binaire et vous devez le créer vous-même en compilant les textes sources.
Le référentiel du code source est sur GitHub. Pour cloner un dépôt sur votre disque :

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

Exigences de compilation

Les packages suivants sont nécessaires :

  • essentiel à la construction
  • bruit
    méson
    ninja

Les trois premières conditions sont remplies en installant les packages depuis la ligne de commande :

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

Quant à Ninja, il existe deux manières : installer à partir du référentiel ou télécharger la dernière version.

sudo apt-get install ninja-build

Ou vous pouvez télécharger le fichier binaire pour Linux-64 bits depuis la page du projet ninja :
*https://github.com/ninja-build/ninja/releases.
J'ai choisi la deuxième méthode : un fichier binaire.

Guide d'assemblage officiel de dav1d

*VidéoLAN - dav1d

Procédure de compilation non officielle de dav1d

1) Après le clonage depuis le référentiel, un dossier est apparu dans le répertoire personnel ~/dav1d/. Allons-y.
2) Ouvrez depuis la page https://github.com/ninja-build/ninja/releases et ouvrez le fichier dans l'archiveur ninja-linux.zip et extraire le fichier binaire ninja dans le répertoire ~/dav1d/.
3) Sélectionnez le compilateur par défaut g+

sudo update-alternatives --config cc #sélectionnez g+
sudo update-alternatives --config c++ #sélectionnez g+

4) Dans le dossier dav1d, créez un répertoire « build »

mkdir build

5) Compilation

meson setup build

6) Construire à partir de fichiers objets dans le dossier build

cd build
../ninja

Résultat - le fichier de sortie après compilation se trouve dans le répertoire "~/dav1d/build/tools", fichier exécutable "dav1d".

7) Installation du fichier binaire dans les répertoires système

../ninja -C build install

Le programme demandera les privilèges de superutilisateur pour installer le fichier binaire. Après avoir entré le mot de passe, le fichier exécutable dav1d sera écrit dans le répertoire /usr/local/bin :

Installing tools/dav1d to /usr/local/bin

Autres instructions de compilation

sur le site de Christian Külker

Utiliser dav1d

Le décodeur est intégré au lecteur VLC à partir de la version 3.0.5 et est utilisé par défaut pour lire des films en AV1. La version actuelle de VLC est la 3.0.16.

sudo apt install vlc

Et dans la ligne de commande lancez vlc pour lire la vidéo

vlc video.mp4

Des touches VLC supplémentaires peuvent améliorer les performances et la qualité de lecture (réduction de l'utilisation du processeur, réduction des pertes d'images) comme indiqué ici.

dav1d ne lit pas la vidéo directement. Il est utilisé dans les programmes de lecture vidéo externes tels que VLC et MPV.

Utilisation dans un lecteur MPV

Selon documentation monospace les touches sont responsables de la sortie vidéo

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

  • pilotes vidéo séparés par des virgules.

La dernière version de MPV avec support dav1d doit être installée non pas à partir du référentiel Linux, mais à partir de Flatpak !

Installation du lecteur monospace avec l'aide Emballage plat:

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

Source :Reddit - Les vidéos AV1 sont en retard comme un fou (chutes d'images)

Ou vous pouvez télécharger le fichier depuis la page FlatHub flatpakref pour mpv ou installez-le à l'aide des commandes du terminal :

wget https://dl.flathub.org/repo/appstream/io.mpv.Mpv.flatpakref
sudo flatpak install io.mpv.Mpv.flatpakref
flatpak exécute io.mpv.Mpv

Commencer la lecture d'un fichier en MPV

flatpak run io.mpv.Mpv video.mp4

Comment télécharger un fichier depuis YouTube.

Il existe une extension pour le navigateur Web Mozilla FireFox "Téléchargeur de vidéos YouTube facile", qui ajoute un bouton pour télécharger la vidéo. Vidéo enregistrée depuis Mozilla Firefox vous pouvez le regarder sur n'importe quel lecteur après le téléchargement, y compris lorsqu'il n'y a pas d'Internet, par exemple lors d'un voyage d'affaires.



Publications connexes