Païou se demande comment utiliser le moteur (framework) FFmpeg

Introduction

Un moteur multimédia (framework) est une bibliothèque logicielle de gestion globale du son et de l'image (Définition Wikipedia).

FFmpeg en est l'un d'eux. Il est utilisé par quasiment toutes les applications multimédia.
Il permet le traitement de flux audio ou vidéo (enregistrement, lecture ou conversion d'un format à un autre).

Haut

Installation

D'une façon générale, les paquetages correspondant à la bibliothèque (moteur/framework) sont déjà installées :

  • libffmpeg51 et ses dépendances liba52dec0, libtheora0, libogg0, libvorbis0 et libvorbisenc2 apportent les codecs audio et vidéo,
  • libavformats52 apporte le traitement des formats des fichiers ainsi que la gestion des périphériques,
  • libavutil49 fournit des utilitaires

Si c'est la version PLF (Front de Libération du pingoin) de libffmpeg51 qui est utilisée, quelques paquetages supplémentaires sont installés : libfaac0, libfaad2_0, liblame0, libmp4v2_0, libx264_59 et libxvid4.
Ils procurent des codecs supplémentaires.

Les outils en ligne de commande (lecteur ffplay, serveur ffserver et convertisseur ffmpeg) font partie du paquetage ffmpeg. Vous devrez probablement l'installer. Là également, vous disposez d'une version PLF

Haut

Utilisation en mode graphique

FFmpeg est utilisé en arrière plan d'une application graphique telle que votre lecteur audio, lecteur multimédia ou convertisseur multimédia graphique, d'une façon entièrement transparente.
Quels sont les apports de FFmpeg ?

Haut

Fichiers et codecs supportés

Fichiers compatibles

La liste des types de fichiers reconnus est assez longue. Certains types peuvent être décodés (D) par ffmpeg, d'autres peuvent être encodés (E). En voici un extrait :

.aac=ADTS AAC (D), .ac3=raw AC-3, (DE), .aiff=Audio IFF (DE), .alaw=PCM A-law format (DE), .amr=3GPP AMR file format (DE), .ape=Monkey's Audio (D), .asf=ASF format (DE), .au=SUN AU format (DE), .avi=AVI format (DE), .avm2=Flash 9 (AVM2) format (E), .flac=raw FLAC (DE), .gsm=GSM (D), .h261=raw H.261 (DE), .h263=raw H.263 (DE), .h264=raw H.264 video format (DE), .m4v=raw MPEG-4 video format (DE), .matroska=Matroska file format (DE), .mjpeg=MJPEG video (DE), .mov=MOV format (E), .mov .mp4 .m4a .3gp .3g2 .mj2=QuickTime/MPEG-4/Motion JPEG 2000 format (D), .mp2=MPEG audio layer 2 (E), .mp3=MPEG audio layer 3 (DE), .mp4=MP4 format (E), .mpc=Musepack (D), .mpeg=MPEG-1 System format (DE), .mulaw=PCM mu-law format (DE), .ogg=Ogg (DE), .rm=RM format (DE), .shn=raw Shorten (D), .svcd=MPEG-2 PS format (VOB) (E), .swf=Flash (DE), .vcd=MPEG-1 format (VCD) (E), .vob=MPEG-2 PS format (VOB) (E), .voc=Creative Voice file format (DE), .wav=WAV format (DE), .wv=WavPack (D)

Codecs audio supportés

La liste des codecs audio supportés est également bien fournie. Certains types peuvent être décodés (D) par ffmpeg, d'autres peuvent être encodés (E). En voici un extrait :

.ac3=ATSC A/52 / AC-3 (E), .adpcm_ima_qt=IMA QuickTime ADPCM (DE), .adpcm_ima_wav=IMA Wav ADPCM (DE), .adpcm_ms=Microsoft ADPCM (DE) , .adpcm_swf=Shockwave Flash ADPCM (DE), .alac=ALAC (Apple Lossless Audio Codec) (D), .ape=Monkey's Audio (D), .flac=FLAC (Free Lossless Audio Codec) (DE), .g726=G.726 ADPCM (DE), .liba52=liba52 ATSC A/52 / AC-3 (D), .libvorbis=Vorbis (E), .mp2=MP2 (MPEG audio layer 2) (DE), .mp3=MP3 (MPEG audio layer 3) (D), .mpc7=Musepack SV7 (D), .mpc8=Musepack SV8 (D), .pcm_alaw=A-law PCM (DE), .pcm_dvd=signed 16|20|24-bit big-endian (D), .pcm_mulaw=mu-law (DE), .pcm_ signed|unsigned 16|24|32bit (DE), .real_144, .real_288=RealAudio 1.0 (14.4K|28.8K) (D), .shorten=Shorten (D), .truespeech=DSP Group TrueSpeech (D), .vorbis=Vorbis (DE), .wavpack=WavPack (D), .wmav1 .wmav2=Windows Media Audio 1|2 (DE)

Avec la version PLF, vous gagnerez les codecs suivants :

.libfaac=libfaac AAC (Advanced Audio Codec) (E), .libfaad=libfaad AAC (Advanced Audio Codec) (D), .libmp3lame=libmp3lame MP3 (MPEG audio layer 3) (E), .mpeg4aac=libfaad AAC (Advanced Audio Codec) (D)

Haut

Codecs vidéo supportés

Il en est de même pour les codecs vidéo. Certains types peuvent être décodés (D) par ffmpeg, d'autres peuvent être encodés (E). En voici un extrait :

En travaux

Les codecs vidéo seront traités ultérieurement

Haut

Utilisation en mode ligne de commande

Pour l'utilisation en ligne de commande, le paquetage ffmpeg doit être installé. Rappelons que la version PLF apporte des codecs supplémentaires, mais non autorisés dans tous les pays.

Connaître les formats multimédia supportés : ffmpeg -formats

La commande ffmpeg -formats donne la liste des types de fichiers reconnus, puis la liste des codecs supportés.

Tapez la commande :
ffmpeg -formats
qui vous donne une liste de la forme
 E 3g2    3gp2 format
D  4xm    4X Technologies format
DE ac3    raw ac3
où la première colonne représente le mode de traitement qui est possible : D = décodage, E = encodage,
où la deuxième colonne indique l'extension habituelle,
où la troisième colonne donne le nom du format,

Haut

Lire un document multimédia : ffplay

Dans le cas d'un fichier audio, il suffit de lancer la commande :
ffplay fichier.audio, ffplay choisira le codec adéquat.

Dans le cas d'un document vidéo, des options permettent de fixer les dimensions de l'image :
-x valeur pour indiquer la largeur de l'image.-y valeur pour indiquer la hauteur de l'image.

Pendant la lecture, les touches q et Echap permettent de quitter, p fait une pause<./p>

Pour plus d'informations, dans une console : man ffplay Tapez q pour quitter le man.

Haut

Connaître le type d'un fichier : ffmpeg

tapez la commande
ffmpeg -i fichier.entrée
comme, par exemple :
ffmpeg -i flute.wav, donnera :
Input #0, wav, from 'flute.wav':
Duration: 00:00:06.5, bitrate: 1411 kb/s
Stream #0.0: Audio: pcm_s16le, 44100 Hz, stereo, 1411 kb/s

Haut

Transcrire un fichier audio

La syntaxe générale de la commande est :
ffmpeg [éventuelle option d'entrée] -i fichier.entrée [éventuelle option de sortie] fichier.sortie
comme, par exemple :
ffmpeg -i flute.wav -acodec pcm_s24be flute.aiff
qui vous permet de réencoder en fichier AIFF, avec le codec pcm, en 24 bits signés, big endian, un morceau qui est en WAV.

ffmpeg permet de réencoder dans un grand nmbre de formats. Vous devrez cependant bien connaître les options compatibles avec le format dans lequel vous voulez réencoder. En cas d'erreur, ffmpeg vous le signale sous la forme d'un message
Could not write header for output file #0 (incorrect codec parameters ?)

Les options classiques

  • -acodec précise le type d'encodage désiré
  • -ar précise la fréquence d'échantillonnage 44100 par défaut
  • -ac précise le nombre de canaux
  • -ab précise le débit binaire souhaité
Haut
En travaux

À compléter

Cliquez

Haut
 

Les pages relatives aux tutoriels :

Installation : avant, pendant, après Installation, pas à pas, de 2008.0 Installation, depuis internet Installation en réseau
Comment MDV sélectionne les paquetages Créer sa liste de paquetages
Configuration du système Configuration d'un utilisateur KDE Serveur de fichiers avec ProFTPD Partage de fichiers avec NFS
Réveiller un ordinateur à distance Commander un ordinateur à distance avec ssh
Le son et la gestion du son La video et la gestion des images Découvrir la puissance de Gstreamer
Faire des sauvegardes générales Nettoyer le répertoire /home Changer de client de messagerie Synchroniser fichiers et répertoires
Créer sa distribution personnelle Autopsie d'une distribution Mandriva

Les différentes rubriques :

Accueil Ordinateur Mandriva Tutoriels Initiation à la programmation Maison bioclimatique
On se lasse de tout, sauf de comprendre.
Attribué à Virgile.