Pour encoder des fichiers vidéos en flv j'utilise mencoder. Pourquoi mencoder et pas ffmpeg ? Tout simplement parce que mencoder supporte plus de codecs que ffmpeg grâce aux w32codecs, par exemple ffmpeg ne supporte pas pour l'instant les codecs indeo 4 alors que mencoder peut les décoder en utilisant les codecs win32.
Article en relation : Conversion d'un flv en avi
La ligne de commande que j'utilise pour encoder des vidéos en flv :
pcr@home:~$ mencoder sample.avi -forceidx -of lavf -ovc lavc -oac mp3lame -lavcopts vcodec=flv:vbitrate=320:autoaspect:abitrate=32 -vf scale=320:-3 -af resample=22050 -o video.flv
Explications de la ligne de commande :
- forceidx permet de forcer la réindéxation du fichier dans le cas où le fichier est désynchronisé (désynchronisation audio/video), cela limite les erreurs sur les fichiers mal encodés.
- of lavf libavformat se charge de l'endage vidéo.
- ovc lavc les codecs de libavcodec sont utilisés pour encoder la vidéo.
- oac mp3lame lame est utilisé comme codec audio.
- lavcopts permet de spécifier les options des codecs vidéo libavcodec
vcodec=flv utilisation du codec flv
vbitrate=320 les videos seront encodées avec un bitrate de 320kb/s
autoaspect permet de définir automatiquement l'aspect ratio
abitrate=32 le bitrate audio est fixé à 32kb/s
- vf permet de crée un filtre video
scale=320:-3 Mise à l'échelle en fixant la largeur à 320 et en présérvant l'aspect ratio original
- af permet de crée un filtre audio
resample=22050 Resamplage de l'audio à 22050 Hz
Image : 7(nana)