Du FLV en voici en voilà

Voici ma vision de la chose pour "défendre" ma position:

  • 1. Pour les illustrations, les fichiers de départ sont du inkscape SVG
  • 2. Pour les vidéos, c'est du DV classique ou de l'appareil photo numérique
  • 3. Export des fichiers SVG dans inkscape en PNG 640x480 et stockage dans un répertoire
  • 4. Montage avec cinelerra pour avoir les transitions et les "durées" d'affichage des illustrations, gestion des différentes pistes, de la bande son etc.
  • 5. Export de cinelerra en x milliers de fichiers PNG (question d'avoir une super qualité de sortie)
  • 6. Transformation des x milliers de fichiers png en 1 fichier FLV (format propriétaire mais assez bien documenté pour que ffmpeg, mplayer et vlc sachent créer et lire des fichiers dans ce format) à l'aide du logiciel libre ffmpeg puis flvtool2 -U (nouvelle découverte ce soir) libre aussi pour ajouter des méta informations dans le fichier
ffmpeg -i /tmp/export/sequence-%6d.png -b 5000k -threads 2 /tmp/export.flv
  • 7. Dépot du fichier flv sur le serveur
  • 8. Utilisation de flowplayer comme logiciel de lecture des vidéo flash en ligne
  • 9. On n'est pas obligé d'avoir le plugin flash propriétaire d'adobe sur son ordinateur: l'implémentation libre gnash arrive à lire les trucs envoyés par flowplayer depuis la version 0.8.3
  • 10. Et en bonus, on propose de télécharger la vidéo si elle n'est pas lisible en ligne et ensuite VLC arrive à la lire sans soucis ...

Donc en bref ça me permet presque de considérer FLV un peu comme PDF ... on a de quoi les créer en libre et les lire en libre, Seul le format de fichier peut-être considérer comme "mauvais" mais en l'absence d'alternative ...

La solution ultime: le MP4

Mais il y a mieux ! Hé oui, il semblerait que flowplayer sache gérer le format H264, lequel format a une implémentation libre qui est quasiment la référence: X264 ...

La seule modification dans la chaîne de production indiquée ci-dessus, c'est l'étape 6: on demande juste à ffmpeg de créer non pas un fichier FLV mais un fichier YUV qui sera ensuite transformé en MP4 via X264.

ffmpeg -i /tmp/export/sequence-%6d.png -b 5000k -threads 2 -pix_fmt yuv420p /tmp/fichier.y4m
x264 --threads 2 --progress -B 800 -o /tmp/fichier.mp4 /tmp/fichier.yuv 640x480

Note: passez le -B 800 à 5000 si vous voulez une qualité sans faille mais attention à la taille du fichier.

Si vous avez une piste audio il faut penser à la travailler, par exemple

  • 1. L'extraire de votre vidéo de départ
ffmpeg fichier.wav -i MVI_0385.AVI
  • 2. La transformer en AAC
faac -b 192k -o audio.aac fichier.wav
  • 3. La multiplexer avec la bande video X264
MP4Box -tmp /tmp -add video.mp4 -add audio.aac /tmp/export.mp4

Et hop, tout un chapitre de plus de la formation Montage vidéo en logiciels libres et streaming de RyXéo !

Pour pouvoir utiliser tout ça il faut penser à installer les paquets suivants:

sudo apt-get install mkvtoolnix faac gpac x264 flvtool2 cinelerra ffmpeg inkscape

Vous en pensez quoi vous ?