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
ffmpeg pour permettre la conversion de la vidéo au format flv;
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;
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