Le blog de Jean David TECHER, un Réunionnais à Avignon

Aller au contenu | Aller au menu | Aller à la recherche


samedi 7 février 2009

[FFMPEG] Le blog de Jean Cartier pour apprendre à utiliser ffmpeg...

C'est sur le blog de ce Monsieur que j'ai appris à utiliser Ffmpeg. Ses articles sont très bien et pédagogiques. Le lien est http://www.jcartier.net/spip.php?article58

[FFMPEG/FLVTOOL2/JWPLAYER] Ajouter du texte défilant, un copyright sur une vidéo

Ffmpeg propose la librairie vhook ainsi que ses diverses possibilités pour pouvoir, ajouter un logo, du texte sur une vidéo. Bien que vhook soit deprecated, c'est normalement avfilter qui devait le remplacer. Malheureusement malgré bien des recherches sur le Web et une compilation réussie de libavfilter-soc, je n'ai trouvé aucun exemple intéressant sur le sujet.

Je propose donc dans ce billet un exemple sur vhook. C'est Simba qui est la vedette dans la vidéo . Il s'agit ici d'une ancienne vidéo quand j'étais à Montpellier.

Remarque: pour de plus amples renseignements sur les possibilités de vhook, il faut se rendre à http://www.ffmpeg.org/hooks.html

Contrairement à mon précédent billet où je faisais appel à flvmdi qui demandait de recourir à wine, les 3 outils utilisés ici sont

  1. ffmpeg pour permettre la conversion de la vidéo au format flv;
  2. fvltool2 pour l'injection des métadonnées dans le flv en remplacement de flvmdi. Ceci permettra donc de se déplacer (marche avant...) lors du film;
  3. JW Player le lecteur Flash;

On va commencer par installer flvtool2 puis à faire la conversion

1. Installation de flvtool2

Sous Ubuntu 8.04, le paquet est disponible. Un simple apt-get install suffira! Sinon il faut installer ruby en premier. Une fois ruby installé, on procède au téléchargement et installation de flvtool2 comme indiqué dans le README

wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
tar xvzf flvtool2-1.0.6.tgz 
cd flvtool2-1.0.6
less README 
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

2. Conversion en utilisant ffmpeg/flvtool2

Comme j'utilise une version compilée personnelle de ffmpeg installé dans /opt/ffmpeg-svn-static, il faut commencer par mettre à jour les deux variables d'environnement

export LD_LIBRARY_PATH=/opt/ffmpeg-svn-static/lib/vhook/:$LD_LIBRARY_PATH
export PATH=/opt/ffmpeg-svn-static/bin/:$PATH

Le texte à faire défiler est contenu dans le fichier simb.txt dont le contenu est

           COMME TOUOURS LE FELIN SE MONTRE AUSSI FORT ET IMPRESSIONNANT QUE SON MAITRE....                                QUAND IL S'AGIT DE JOUER :)

Il ne reste plus qu'à procéder à la conversion en faisant

ffmpeg -i simba.mpg  \
-vhook 'imlib2.so -c white -F /usr/share/fonts/truetype/ttf-bitstream-vera/VeraBd.ttf/16  -x -3.5*N -y 10  -f simba.txt'\
 -vhook 'drawtext.so -c #ffffff -f /usr/share/fonts/truetype/ttf-bitstream-vera/VeraBd.ttf -s 20 -x 420 -y 440  -t www.davidgis.fr'\
 -b 800k -ar 11025 -ab 32k -f flv -s 320x240 -y - | flvtool2 -U stdin simba.flv

3. Installation de JW Player

Il suffira de suivre les indications de mon précédent billet à la section 3. JW Player: lecteur Flash adéquate