Home
Site perso de
Olivier Borowski
Parametres Utilisateur
Chercher sur le site

PagePrincipale

Page Principale

Materiel

Logiciel

Mes utilitaires

Trucs et Astuces

Liens

Contact

Créer une vidéo Adobe Flash 7, 8 ou 9+ avec mencoder ou ffmpeg
Vous avez le choix entre deux formats pour créer des vidéos lisibles par adobe/macromedia flash :
- FLV1 / VP3 (flash 7) : supporté en natif par mencoder, qualité suffisante en général
- FLV4 / VP6 (flash 8) : meilleure qualité mais demande pas mal de bidouille pour le générer à partir d'outils libres (sans parler du codec binaire pour mencoder)
- MP4 / H264 (flash 9.60+) : excellente qualité et facile à générer

Comme la version actuelle de flash (à savoir 9,0,115,0) supporte le MP4, je conseillerais donc d'utiliser ce 3e format.


Vidéo au format FLV1 / VP3 (Flash 7)



Vidéo : 320x240, 25i/s, 150kbit/s, redimensionnement lanczos
Audio : mp3 22kHz 56kbit/s
mencoder video_source.avi -sws 9 -vf scale=320:240 -ofps 25 -ffourcc FLV1 -of lavf \
-ovc lavc -oac lavc -lavcopts vcodec=flv:vbitrate=150:acodec=mp3:abitrate=56 -srate 22050 \
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -o video_finale.flv%%
""rq : -ofps xx## est nécessaire pour que ##vbitrate soit pris en compte.

Le fichier généré est directement exploitable par l'applet flash, voir la section "Intégration dans une page HTML".


Vidéo au format FLV4 / VP6 (Flash 8)



Pour simplifier, j'ai utilisé la version win32 de ffmpeg.
Prérequis :
- wine (si vous tournez sous Linux)
- une version de mencoder supportant l'option "xvfwopts compdata" ou VirtualDub (fonctionne très bien sous Wine après avoir désactivé l'accélération ""DirectX"")
- FLV4

===1) encodage de la vidéo===
Ne pas oublier de retourner l'image (option "flip") sinon vous aurez des surprises à la conversion FLV.

- avec mencoder
Pour avoir avant l'encodage la boite de configuration de VP6 :
%%mencoder video_source.avi -sws 9 -vf flip,scale=320:240 -oac lavc -lavcopts acodec=mp3:abitrate=56 \
-srate 22050 -ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=dialog -o video_finale.avi%%""
""
Pour créer un profile VP6 :
%%vfw2menc -f VP62 -d vp6vfw.dll -s onepass.mcf%%""
""(vfw2menc est livré avec les derniers snapshots de mencoder)

Pour encoder une vidéo en utilisant ce profile :
%%mencoder video_source.avi -sws 9 -vf flip,scale=320:240 -oac lavc -lavcopts acodec=mp3:abitrate=56 \
-srate 22050 -ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -o video_finale.avi%%

- avec ""VirtualDub
...

===2) encapsulation au format FLV4===
%%wine ffmpeg.exe -i video_finale.avi -vcodec copy -acodec copy video_finale.flv%%


Vidéo au format MP4 / H264 (Flash 9,0,115,0 et supérieur)



Télécharger le dernier plugin Flash Player ici : http://www.adobe.com/go/getflashplayer

Encodage
- ffmpeg peut encoder en une passe la vidéo et le son mais l'encodeur audio qu'il utilise (faac) donne de mauvais résultats en faible débit.

Vidéo (x264)
- mencoder (mieux documenté) ou ffmpeg

Audio (HE-AAC) (quelques infos sur le site : http://www.unite-video.com/phpbb/viewtopic.php?t=7841)
- faac ne donne pas de bons résultats en faible débit
- MP4Box
- enc_aacplus.exe (livré avec WinAMP) donne le résultat escompté

%%mencoder video_source.avi -nosound -of rawvideo -ovc x264 -x264encopts threads=2:subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=2:b_pyramid:weight_b:qp=26 -o video_finale.h264
mplayer -msglevel all=1 -ao pcm:waveheader:fast:file=video_finale.wav -vc null -vo null video_source.avi
wine enc_aacplus.exe video_finale.wav video_finale.aac --cbr 0.1
MP4Box -fps 25 -add video_finale.h264 -add video_finale.aac video_finale.mp4
rm -f video_finale.h264 video_finale.aac video_finale.wav



Intégration dans une page HTML



Coté navigateur, vous pouvez utiliser un de ces deux lecteurs :
- http:flv-player.net/ (licence CC)
- http://www.jeroenwijering.com (gratuit pour utilisation personnelle)
rq : la lecture des vidéos FLV4/VP6 nécessitent Flash Player 8 sous Windows / Mac OS et Linux.


Liens externes



http://sh0dan.blogspot.com/2006/09/command-line-flash-8-flv-encoding.html : blog dont je me suis inspiré pour faire cette doc
http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-video-for-windows.html : documentation officielle sur l'utilisation de vp6 dans mencoder
http://oss.netfarm.it/mplayer-win32.php : binaires non officiels de mencoder
[[http://lists.mplayerhq.hu/pipermail/mencoder-users/2006-October/004392.html : autre tentative de choisir le bitrate vidéo (ne fonctionne pas)
Contenu sous Licence CC-BY-SA