FFmpeg-2.3.3

Introduction à FFmpeg

FFmpeg est une solution pour enregistrer et convertir un 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.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.6.

Informations sur le paquet

  • Téléchargement (HTTP) : http://ffmpeg.org/releases/ffmpeg-2.3.3.tar.bz2

  • Somme de contrôle MD5 du téléchargement : 72361d3b8717b6db3ad2b9da8df7af5e

  • Taille du téléchargement : 7.2 Mo

  • Estimation de l'espace disque requis : 128 Mo (additional 857 Mo for docs and 1871 Mo to run the FATE tests)

  • Estimation du temps de construction : 3.3 SBU (additional 0.9 SBU for docs and 4.5 SBU to run the FATE tests, after sample files are downloaded)

Dépendances de FFmpeg

Recommandées

Recommandées pour une utilisation de bureau

X Window System, ALSA-Library-1.0.28, SDL-1.2.15, libva-1.3.1 et libvdpau-0.8 (avec les paquets des pilotes correspondants)

Facultatives

FAAC-1.28, FreeType-2.5.3, libwebp-0.4.1, OpenJPEG-1.5.2, PulseAudio-5.0, Speex-1.2rc1, XviD-1.3.3, OpenSSL-1.0.1i, Fontconfig-2.11.1, GnuTLS-3.3.7, frei0r, HEVC/H.265, LADSPA, libssh, ZVBI, libaacplus, libbluray, libcaca, libcelt, libcdio, libdc1394, Flite, GSM, libiec61883, libilbc, libmodplug, libnut (Git checkout) OpenCore AMR, OpenCV, librtmp, Schroedinger, TwoLAME, Video4Linux, vo-aaenc, vo-amrwbenc, libxavs (SVN checkout), OpenAL, texi2html (pour construire la documentation HTML), et x265 (H.265/MPEG-H HEVC)

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/ffmpeg

Installation de FFmpeg

Installez FFmpeg en lançant 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-libmp3lame  \
            --enable-libtheora   \
            --enable-libvorbis   \
            --enable-libvpx      \
            --enable-libx264     \
            --enable-x11grab     &&
make &&
gcc tools/qt-faststart.c -o tools/qt-faststart

La documentation a été construite à l'étape précédente si texi2html est installé. Si le HTML est construit (vérifier les fichiers .html dans le répertoire doc) et que vous avez installé TeX-Live-20140525 et que vous souhaitiez des versions PDF et Postscript de la documentation, tapez les commandes suivantes:

sed -i '$s/$/\n\n@bye/' doc/{git-howto,nut,fate}.texi             &&
sed -i '/machine:i386/ s/\\/@backslashchar{}/g' doc/platform.texi &&
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.8.8 et si vous souhaitez créer la documentation de l'API (ce qui prend environ 350 Mo d'espace), lancez la commande doxygen.

Pour tester proprement l'installation vous devez avoir installé rsync-3.1.1 et suivi les instructions de FFmpeg Automated Testing Environment(fate). D'abord, environ 872 Mo de fichiers d'exemple utilisés pour lancer FATE sont sont téléchargés avec la commande :

make fate-rsync SAMPLES=fate-suite/

Le répertoire fate-suite est créé et les fichiers téléchargé ici. Cette commande lance maintenant la commande rsync -vrltLW --timeout=60 --contimeout=60 rsync://fate-suite.ffmpeg.org/fate-suite/ fate-suite/ , qui comme vous pouvez le voir comprime et laisse le répertoire pour tester de nouveau, dans un autre système, ou quand une nouvelle version de ffmpeg est lancée. Ensuite, vous déballez les fichiers d'exemple dans le répertoire des sources, et lancez, de nouveaut, la commande make ci dessus, pour synchroniser avec le dépot. Maintenant, la taille du téléchargement et le temps sont drastiquement réduits. Les valeurs estimées dans "Information du paquet" n'incluent pas le SBU du téléchargement. Ensuite, FATE est exécuté, avec les commandes (vous obtenez un nombre de tests supérieur ) 1900):

make fate SAMPLES=fate-suite/ | tee ../fate.log &&
grep ^TEST ../fate.log | wc -l

Maintenant, en tant qu'utilisateur root :

make install &&
install -v -m755    tools/qt-faststart /usr/bin &&
install -v -m755 -d /usr/share/doc/ffmpeg &&
install -v -m644    doc/*.txt \
                    /usr/share/doc/ffmpeg

Si la documentation HTML est construite, tapez la commande suivante pour l'installer:

install -v -m644 doc/*.html \
                 /usr/share/doc/ffmpeg

Si vous avez utilisé doxygen pour créer la documentation de l'API, installez-la (300 Mo d'espace en plus) en lançant les commandes suivantes en tant qu'utilisateur root :

install -v -m755 -d /usr/share/doc/ffmpeg/api                       &&
cp -vr doc/doxy/html/* /usr/share/doc/ffmpeg/api                    &&
find /usr/share/doc/ffmpeg/api -type f -exec chmod -c 0644 "{}" ";" &&
find /usr/share/doc/ffmpeg/api -type d -exec chmod -c 0755 "{}" ";"

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.

sed -i ... texi: Corrige des fichiers .texi pour la construction de la documentation.

find ... ";": Corrige des droits de fichiers et de répertoires de documentation.

--enable-libfreetype: Active le support de Freetype.

--enable-gpl : Ce paramètre autorise l'utilisation de code GPL et permet le support pour que postprocessing, swscale et bien d'autres fonctionnalités.

--enable-version3 : Active l'utilisation du code (L)GPL version 3.

--enable-nonfree : Active l'utilisation de code non-libre. Notez que les binaires et bibliothèques ne seront pas distribuable.

--disable-static: Ce paramètre empêche l'installation des versions statiques des bibliothèques.

--enable-shared : Active la construction des bibliothèques partagées, sinon seulement les bibliothèques statiques sont construites et installées.

--disable-debug: Désactive la construction des symboles de déboguage dans les programmes et les bibliothèques.

--enable-libass: Active le moteur de rendu du format de sous-titre ASS/SSA via libass.

--enable-libfdk-aac: Active actuellement l'encodage et le décodage audio de plus grande qualité dans le format AAC via libfdk-aac.

--enable-libmp3lame : Active l'encodage MP3 via libmp3lame.

--enable-libvorbis --enable-libtheora: Active l'encodage vidéo Theora via libvorbis et libtheora.

--enable-libvorbis --enable-libvpx: Active l'encodage WebM via libvorbis et libvpx.

--enable-libx264: Active l'encodage de haute qualité H.264/MPEG-4 AVC via libx264.

--enable-x11grab: Active X11 grabbing.

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'entête soit 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]

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.

Configuration de FFmpeg

Fichiers de configuration

/etc/ffserver.conf et ~/.ffmpeg/ffserver-config

Vous trouverez un modèle de fichier de configuration pour ffserver sur doc/ffserver.conf dans l'arborescence des sources.

Contenu

Programmes installés: ffmpeg, ffplay, ffprobe, ffserver et qt-faststart
Bibliothèques installées: libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavutil.so, libpostproc.so, libswresample et libswscale.so
Répertoires installés: /usr/include/libavcodec, /usr/include/libavdevice, /usr/include/libavfilter, /usr/include/libavformat, /usr/include/libavutil, /usr/include/postproc, /usr/include/libswscale, /usr/share/ffmpeg et /usr/share/doc/ffmpeg-2.3.3

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.

ffserver

est un serveur de flux pour toutes les entrées utilisables par ffmpeg (fichiers, flux, entrées de carte TV, webcam, etc.).

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 le periphérique FFmpeg pour la manipulation de la bibliothèque.

libavfilter.so

est une bibliothèque ee 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 mux et demux pour plusieurs formats) utilisée par ffplay et permettant de générer des flux audio et vidéo.

libavutil.so

est la bibliothèque de l'utilitaire FFmpeg.

libpostproc.so

is the FFmpeg post processing library.

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

is the FFmpeg image rescaling library.

Last updated on : 2013-03-03 16:30:53 +010