19 novembre 2007

Titrage vidéo en ligne de commande avec ffmpeg

Tags :

posté dans Outils Unix |

Un soir de calme je me dis tranquillement, tiens je vais monter une petite vidéo. Rien de bien compliquer, deux vidéos provenant d'un appareil photo numérique à fusionner avec quelques pages de titres... Tout motivé j'essai Cinelerra, Kino, KDEnlive... Galère ! Usine à gaz ! Crash d'application ! Format non supporté ! La misère.

Retour à la réalité. Les applications graphiques klika-convi-crash c'est pas pour moi. Hop, méthode oldschool avec un peu de Gimp, ffmpeg et du shellJ'ai deux fichiers :

% ffmpeg -i cimg0768.avi
libavutil version: 49.5.0
  libavcodec version: 51.44.0
  libavformat version: 51.13.3
  built on Sep 17 2007 15:29:56, gcc: 4.2.1 (Debian 4.2.1-5)
Input #0, avi, from 'cimg0768.avi':
  Duration: 00:00:50.6, start: 0.000000, bitrate: 2006 kb/s
  Stream #0.0: Video: mjpeg, yuvj420p, 320x240, 14.99 fps(r)
Must supply at least one output file

Première étape, le me fabrique mes titres en 320*240 avec The Gimp. De simples images PNG. Dans un coin, je joue du Bash pour multiplier tout cela. Il m'en faut 30 pour 2 secondes de titre en 15fps :

for ((i=1;i<=30;i+=1));
do
  cp ../premier.png premier$i.png;
done

On fabrique une video :

% ffmpeg -f image2 -r 15 -i premier%d.png premier.avi

On fait de même pour les autres titres et on obtient quatre videos mpeg4.

Attention nos videos de l'APN sont en mjpeg. Hop conversion :

% ffmpeg -i cimg0768.avi -r 15 v1.avi
% ffmpeg -i cimg0769.avi -r 15 v2.avi

Et on assemble le tout :

%  avimerge -o OK.avi -i premier.avi second.avi \
v1.avi troisieme.avi v2.avi fin.avi

Et voilà. Titrage sans crise de nerfs.

Cadeau bonus : un petit lien sympa.

Article posté on Lundi, 19 novembre 2007 à 23:22 dans Outils Unix. Vous pouvez suivre les commentaires sur cet article via un feed RSS 2.0. Vous pouvez laisser un commentaire. Le Ping n'est actuellement pas autorisé.

Laisser un commentaire

*
Pour prouver que vous n'êtes pas un bot, recopiez le code ci-dessous
Anti-Spam Image