FFmpeg-5.1.2
Introduction à FFmpeg
FFmpeg est une solution pour
enregistrer et convertir des flux audio et vidéo. C'est un
convertisseur audio et vidéo très rapide et il peut aussi acquérir
à partir d'une source audio et vidéo en direct. Conçu pour être
intuitif, l'interface en ligne de commande (ffmpeg) tente de couvrir tous les
paramètres lorsque cela est possible. FFmpeg peut convertir aussi entre des vitesses
d'échantillon et redimensionner des vidéos à la volée avec un
filtre polyphases de haute qualité. FFmpeg peut utiliser une source vidéo
compatible Video4Linux et n'importe quelle source audio Open Sound
System.
This package is known to build and work properly using an LFS 11.3
platform.
Informations sur le paquet
-
Téléchargement (HTTP) : https://ffmpeg.org/releases/ffmpeg-5.1.2.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 : fa847c43407315c27231b9f883e62c0e
-
Taille du téléchargement : 9,5 Mo
-
Estimation de l'espace disque requis : 184 Mo (plus
1,7 Go pour la suite FATE et ses tests, plus 766 Mo
pour la doc)
-
Estimation du temps de construction : 1,3 SBU (avec
parallélisme = 4, plus 3,7 SBU (avec THREADS=4) pour
lancer la suite FATE une fois les fichiers d'exemple
téléchargés, plus 0,3 SBU pour la documentation doxygen)
Téléchargements supplémentaires
Dépendances de FFmpeg
Recommandées
libass-0.17.0, fdk-aac-2.0.2, FreeType-2.13.0, LAME-3.100, libtheora-1.1.1,
libvorbis-1.3.7, libvpx-1.13.0, Opus-1.3.1,
x264-20230215, x265-20230215 et NASM-2.16.01 ou
yasm-1.3.0
Recommandées pour une utilisation de bureau
alsa-lib-1.2.8, libva-2.17.0,
libvdpau-1,5 (avec le paquet de pilote
correspondant) et SDL2-2.26.3
Facultatives
Doxygen-1.9.6, Fontconfig-2.14.2, FriBidi-1.0.12, frei0r-plugins-1.8.0, libcdio-2.1.0 (pour
identifier et jouer des CD), libdrm-2.4.115 (pour
l'entrée « kmsgrab »), libwebp-1.3.0,
opencv-4.7.0, OpenJPEG-2.5.0, GnuTLS-3.8.0,
PulseAudio-16.1, Samba-4.17.5,
Speex-1.2.1, texlive-20220321 (ou install-tl-unx) pour la documentation S et
PDF, v4l-utils-1.22.1, XviD-1.3.7, un environnement
graphique, Flite, GSM, libaacplus, libbluray,
libcaca, libcelt, libdc1394,
libdca,
libiec61883,
libilbc, libmodplug,
libnut (checkout git),
librtmp,
libssh,
OpenAL, OpenCore AMR,
Srt,
Schroedinger,
TwoLAME,
vo-aaenc,
vo-amrwbenc
et ZVBI
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/ffmpeg
Installation de FFmpeg
Note
Des avertissements sans conséquence peuvent être affichés par le
processus de construction par rapport à la documentation HTML.
C'est du à une incompatibilité avec Texinfo-7.0 et supérieur.
Tout d'abord, appliquez un correctif qui ajoute une API nécessaire
pour la construction de certains paquets :
patch -Np1 -i ../ffmpeg-5.1.2-chromium_method-1.patch
Installez FFmpeg en exécutant les
commandes suivantes :
sed -i 's/-lflite"/-lflite -lasound"/' configure &&
./configure --prefix=/usr \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--disable-static \
--enable-shared \
--disable-debug \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-openssl \
--docdir=/usr/share/doc/ffmpeg-5.1.2 &&
make &&
gcc tools/qt-faststart.c -o tools/qt-faststart
La documentation HTML a été construite à l'étape précédente. Si
texlive-20220321 et que vous
souhaitez des versions PDF et Postscript de la documentation, tapez
les commandes suivantes :
pushd doc &&
for DOCNAME in `basename -s .html *.html`
do
texi2pdf -b $DOCNAME.texi &&
texi2dvi -b $DOCNAME.texi &&
dvips -o $DOCNAME.ps \
$DOCNAME.dvi
done &&
popd &&
unset DOCNAME
Si vous avez installé Doxygen-1.9.6
et si vous souhaitez construire (si --disable-doc a été utilisé) ou
reconstruire la documentation html, lancez :
doxygen doc/Doxyfile
La suite de tests fate inclut des comparaisons avec des fichiers
installés, et ne doit pas être lancée avant que le paquet ne soit
installé. Cependant, si vous souhaitez la lancer, les instructions
sont données en dessous.
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -m755 tools/qt-faststart /usr/bin &&
install -v -m755 -d /usr/share/doc/ffmpeg-5.1.2 &&
install -v -m644 doc/*.txt /usr/share/doc/ffmpeg-5.1.2
Si les documentations PDF et Postscript sont construites, tapez les
commandes suivantes, en tant qu'utilisateur root
pour les installer :
install -v -m644 doc/*.pdf /usr/share/doc/ffmpeg-5.1.2 &&
install -v -m644 doc/*.ps /usr/share/doc/ffmpeg-5.1.2
Si vous avez utilisé doxygen pour créer la
documentation de l'API manuellement, installez-la en exécutant les
commandes suivantes en tant qu'utilisateur root
:
install -v -m755 -d /usr/share/doc/ffmpeg-5.1.2/api &&
cp -vr doc/doxy/html/* /usr/share/doc/ffmpeg-5.1.2/api &&
find /usr/share/doc/ffmpeg-5.1.2/api -type f -exec chmod -c 0644 \{} \; &&
find /usr/share/doc/ffmpeg-5.1.2/api -type d -exec chmod -c 0755 \{} \;
Pour tester correctement l'installation vous devez avoir installé
rsync-3.2.7 et suivre les instructions de
FFmpeg
Automated Testing Environment (FATE). D'abord, environ
1 Go de fichiers d'exemple utilisés pour lancer FATE sont
téléchargés avec la commande :
make fate-rsync SAMPLES=fate-suite/
Le répertoire fate-suite
est créé et
les fichiers sont téléchargés ici. Cette commande lance en fait une
commande rsync pour obtenir les fichiers d'échantillons. Vous
voudrez peut-être compresser et grader le répertoire pour tester de
nouveau, pour tester sur un autre système, ou quand une nouvelle
version de ffmpeg est publiée. Ensuite, déballez les fichiers
d'échantillons dans le répertoire des sources, et lancez la
commande make
fate-rsync… ci-dessus, pour synchroniser avec le
dépôt. La taille et le temps de téléchargement sont
considérablement réduits. Les valeurs estimées dans
« Information du paquet » n'incluent pas le SBU du
téléchargement. Comme quelques échantillons peuvent être enlevés
dans les nouvelles versions, pour vous assurer que les échantillons
locaux et du serveur de fate sont identique lorsque vous utilisez
des échantillons précédemment sauvegardés, lancez la commande
suivante :
rsync -vrltLW --delete --timeout=60 --contimeout=60 \
rsync://fate-suite.ffmpeg.org/fate-suite/ fate-suite/
Ensuite, exécutez FATE avec les commandes suivantes (il y a plus de
3 800 tests dans la suite) :
make fate THREADS=N
SAMPLES=fate-suite/ | tee ../fate.log &&
grep ^TEST ../fate.log | wc -l
où N
est un entier,
N
≤ nombre de threads
dans le système.
Une exécution réussie ne renvoie pas d'erreur ni d'avertissements,
juste une liste de tests et le total à la fin.
Explication des commandes
sed -i ...
configure : Cette commande ajoute la
bibliothèque ALSA dans la variable
LDFLAGS
de Flite et active la découverte de Flite.
find ... ; :
corrige les permissions des fichiers et des répertoires de
documentation.
--enable-libfreetype
:
Active le support de Freetype.
--enable-gpl
: Active
l'utilisation du code GPL et permet le support du post-traitement,
swscal et bien d'autres fonctionnalités.
--enable-version3
:
Active l'utilisation du code sous (L)GPL version 3.
--enable-nonfree
:
Active l'utilisation du code non libre. Remarquez que les
bibliothèques et les binaires qui en résultent ne seront pas
distribuables.
--disable-static
: Ce
paramètre empêche l'installation des versions statiques des
bibliothèques.
--enable-shared
:
Active la construction des bibliothèques partagée, sinon seules les
bibliothèques statiques sont construites et installées.
--disable-debug
:
désactive la construction des symboles de débogage dans les
programmes et les bibliothèques.
--enable-libass
:
Active le rendu du format de sous-titres ASS/SSA via libass
.
--enable-libdrm
: utilisez ce
paramètre si libdrm-2.4.115 est installée, pour construire
le module d'entrée « kmsgrab » qui est utile pour la capture
de l'écran et le streaming.
--enable-libfdk-aac
:
Active l'encodage audio dans le format AAC via libfdk-aac
.
--enable-libmp3lame
:
Active l'encodage audio MP3 via libmp3lame
.
--enable-libvorbis
--enable-libtheora
: Active l'encodage vidéo
Theora via libvorbis
et libtheora
.
--enable-libvorbis
--enable-libvpx
: Active l'encodage en WebM via
libvorbis
et libvpx
.
--enable-libx264
:
Active l'encodage H.264/MPEG-4 AVC en haute qualité via
libx264
.
--enable-libx265
:
Active l'encodage H.265/HEVC en haute qualité via libx265
.
--enable-openssl
:
active le protocole HTTPS pour les flux réseaux.
--enable-gnutls
: utilisez cette
option à la place de --enable-openssl
si vous voulez
utiliser GnuTLS au lieu
d'OpenSSL pour le protocole HTTPS.
--disable-doc
: Désactive la
construction de la documentation html. Ceci n'est nécessaire que si
Doxygen-1.9.6 est installé et que vous ne
souhaitez pas construire la documentation html.
--enable-libpulse
: Active la
prise en charge de Pulseaudio pour
la sortie audio.
gcc tools/qt-faststart.c -o
tools/qt-faststart : Cela construit le
programme qt-faststart qui peut modifier
les films formatés en QuickTime (.mov
ou .mp4
) pour que les informations
d'en-tête soient placées au début du fichier au lieu de la fin.
Cela permet de lire le film avant que le fichier entier ne soit
téléchargé.
Note
Le support de la plupart des paquets dépendants demande
l'utilisation d'options passées au script configure. Regardez la sortie
de ./configure
--help pour une information complète à propos de
l'activation des paquets dépendants.
Contenu
Programmes installés:
ffmpeg, ffplay, ffprobe et
qt-faststart
Bibliothèques installées:
libavcodec.so, libavdevice.so,
libavfilter.so, libavformat.so, libavutil.so, libpostproc.so,
libswresample.so et libswscale.so
Répertoires installés:
/usr/include/libav{codec,device,filter,format,util},
/usr/include/libpostproc, /usr/include/libsw{resample,scale},
/usr/share/doc/ffmpeg-5.1.2 et /usr/share/ffmpeg
Descriptions courtes
ffmpeg
|
est un outil en ligne de commande pour convertir des
fichiers vidéo, des flux réseaux et des entrées d'une
carte TV en divers formats vidéo
|
ffplay
|
est un lecteur média très simple et portable utilisant
les bibliothèques de ffmpeg
et la bibliothèque SDL
|
ffprobe
|
rassemble des informations à partir de flux multimédia et
les affiche d'une manière lisible par un homme ou une
machine
|
qt-faststart
|
déplace le fichier d'index à l'avant des vidéos quicktime
(mov/mp4)
|
libavcodec.so
|
est une bibliothèque contenant les codecs FFmpeg (pour l'encodage et le
décodage)
|
libavdevice.so
|
est la bibliothèque FFmpeg pour la manipulation des
périphériques
|
libavfilter.so
|
est une bibliothèque de filtres capables de modifier des
vidéos ou des sons entre un décodeur et un encodeur (ou
une sortie)
|
libavformat.so
|
est une bibliothèque contenant la gestion des formats de
fichier (code de multiplexage et de démultiplexage pour
plusieurs formats) utilisée par ffplay et permettant de
générer des flux audio et vidéo
|
libavresample.so
|
est une bibliothèque contenant les fonction pour le
rééchantillonage audio et vidéo.
|
libavutil.so
|
est la bibliothèque d'utilitaires pour FFmpeg
|
libpostproc.so
|
est la bibliothèque de post-traitement pour FFmpeg
|
libswresample.so
|
est la bibliothèque de FFmpeg pour la transformation audio,
elle contient des fonctions pour convertir les formats
d'échantillon audio
|
libswscale.so
|
est la bibliothèque de redimensionnement d'images de
FFmpeg
|