vendredi 23 janvier 2015

Utilisation de l'outil FFMPEG pour quelques conversions !

Comme beaucoup de personnes, j'utilise le merveilleux outil FFMPEG (voir plus d'information sur https://www.ffmpeg.org/ffmpeg.html).

Du coup, afin de partager mes bonnes pratiques, voici quelques exemples de conversion utiles.

Je tiens à préciser que ces conversions fonctions toutes chez moi pour l'utilisation de la version N-66521 de septembre 2014. Après, je ne suis pas un expert, j'ai "trouvé" ces "scripts" par tâtonnement, mais je suis content du résultat.
Je préfère le dire en début d'article, inutile de venir me demander des conseils...je ne suis pas un expert, mais juste un gars qui lit l'aide et la documentation du site officiel.


****************************************************************
Pour Convertir un fichier sous un format Compatible de Power Point : 
****************************************************************
ffmpeg -i VideoAConvertir.avi -r 25 -f mpeg -vcodec mpeg1video -ar 48000 -b:v 5000k -b:a 128k -acodec mp2 -ar 44100 -ac 1 -y RenduPowerPoint.mpg


****************************************************************
Pour Convertir une suite d'image JPEG en format GIF 
****************************************************************
(par exemple pour avoir une petite animation dans Power Point)

Conversion en deux étapes :
1- passer les images en fichier mp4
2- convertir ce fichier vidéo en gifs


ffmpeg -f image2 -i Render-JPG%04d.jpg -qscale 0  output.mp4
ffmpeg -i output.mp4 -loop 0 -pix_fmt rgb24 -r 25 -s 1920x1080 LogoAnime.gif


Explications :

ffmpeg -f image2 -i Render-JPG%04d.jpg -qscale 0  output.mp4
| | |
| | -> : -qscale 0 = conserver la qualité
| -> -i nom_fichier.jpg = nom des images.
|-> -f image2 = pour indiquer que l'on va convertir des images


Remarques : lorsque l'on a plusieurs images et qu'elles sont nommées du genre Render-JPG0001.jpg, Render-JPG0002.jpg, Render-JPG0003.jpg, etc...
alors, il faut mettre un %04d dans le nom générique. % Indique une incrémentation et 04d indique que les images sont numérotés de type 0000 jusque 9999, donc sur 4 chiffres.

Exemple : Si les images s'étaient appelées : im01.jpg, im02.jpg --> alors on aurait eu -i im%02d.jpg
Si les images avaient été : 000-lm.jpg, 001-lm.jpg, ...999-lm.jpg --> alors on aurait eu -i %03d-lm.jpg.jpg



ffmpeg -i output.mp4 -loop 0 -pix_fmt rgb24 -r 25 -s 1920x1080 LogoAnime.gif
| | |
| | |-> : résolution du gif en sortie (doit
| | |       rester cohérent avec l'image
| | |       d'origine)
| |-> : débit en image par second.
|-> : lecture en boucle du gif



--> Cette ligne permet de convertir le mov en fichier gif, tout en conservant la même qualité et vitesse.



****************************************************************
Conversion fichier MTS en compatible Resolve - DaVinci
****************************************************************
Voici différent cas qui fonctionne bien.
Bien pratique pour convertir les fichiers vidéo du camescope Sony de beau-papa pour être compatible avec l'excellent Resolve-DaVinci.


ffmpeg -i VIDEO.MTS -vcodec dnxhd -b 185M -acodec pcm_s16le -ar 48000 -ab 448k VIDEO.mov ==> OK FONCTIONNE

Example : 
ffmpeg -i 20141220105749.MTS -vcodec dnxhd -b 185M -acodec pcm_s16le -ar 48000 -ab 448k 20141220105749-testaudio.mov ==> OK FONCTIONNE


ffmpeg -ss 00:08:00.00 -t 00:01:00.00 -i Extrait-Tilt-89.MTS -vcodec dnxhd -b 185M -acodec pcm_s16le -ar 48000 -ab 448k Extrait-Tilt.mov ==> OK FONCTIONNE
| |
| |_> : " -t "  = extraction de la vidéo pendant 1min
|_> " -s " = Extraction de la vidéo depuis la 8 minute (et pendant -ss minute



ffmpeg -i Render-FinalCard0001-0240.ogv -vcodec dnxhd -b 185M -acodec pcm_s16le -ar 48000 -ab 448k CardFootage.mov ==> OK FONCTIONNE