FFMPEG et MP3 avec Debian

Soumis par GoZ le jeu 28/02/2008 - 21:18

FFMPEG et MP3 avec Debian

Après plusieurs tests concluants sur Ubuntu, j'ai voulu reproduire la même chose sur mon serveur sous Debian. Le principe est de transformer (encoder) un fichier au format MPEG-4 / MP3 (.avi) en fichier vidéo flash (.flv).

Pour cela, j'utilise donc ffmpeg, seulement un petit hic, mp3 et debian ne font pas bons ménage, ce n'est pas nouveau.

Pour résoudre ce petit problème, j'ai installé ffmpeg à partir des sources (s'assurer que les sources sont bien disponibles dans les dépots).

Pour pouvoir utiliser les sources, il faut au préalable installer le paquet dpkg-dev.

apt-get install dpkg-dev 

Puis télecharger les sources de ffmpeg et construire leurs dépendances

apt-get source ffmpeg apt-get build-dep ffmpeg

Puis ce placer dans le repertoire de ffmpeg et éditer le fichier debian/rules de manière à ajouter l'option --enable-mp3lame à la suite des options existantes.

cd ffmpegcvs-20070329 ­nano debian/rules

Ajout de l'option (debian/rules) :

(...) ./configure --prefix=/usr --libdir=\$${prefix}/lib  --shlibdir=\$${pref$ --incdir=\$${prefix}/include/ffmpeg --enable-shared --enable-libmp3lame$ --enable-gpl --enable-libfaad  --mandir=\$${prefix}/share/man \ --enable-libvorbis --enable-pthreads --enable-libfaac --enable-xvid \ --enable-libdts --enable-amr_nb --enable-amr_wb --enable-pp \ --enable-libogg --enable-libgsm --enable-x264 --enable-liba52 \ --enable-libtheora --extra-cflags="$(CFLAGS)" --cc="$(CC)" --enable-sws$ --enable-mp3lame (...)

Pour que ffmpeg utilise le support du mp3, il nous reste plus qu'à compiler !

dpkg-buildpackage cd .. dpkg -i *.deb

La patience est de rigueur, la compilation peut prendre un certain temps :p.

Une fois la compilation terminée, il est désormais possible d'utiliser ffmpeg pour convertir notre vidéo. Pour cela, il est important de préciser l'encodage audio voulu et le bitrate vidéo pour éviter de déteriorer la qualité de l'image.

ffmpeg -i mon_fichier.avi -y -f flv -b 1024k -ar 44100 -ab 64 -ac 1 -acodec mp3 mon_fichier.flv

Petite explication des options utilisées ici :

  • -i = input file
  • -y = overwrite output data
  • -f = force format
  • -ar = audio sampling rate (hz)
  • -ab = audio bitrate
  • -ac = audio number channel
  • -acodec = force audio codec
  • -b = video bitrate (1024kb/s me permet d'avoir une bonne qualité en comparaison de ce que l'on peut trouver en divx)

L'encodage fonctionne maitenant et la qualité est plutôt bonne pour du flash !