Convertir à la volée des videos (avi, wmv) en flv pour les afficher dans une page web

Vous avez un serveur dédié et un site de musique ou de vidéos?
Vous aimeriez sûrement pourvoir générer des vidéos en flv (lisibles avec un simple lecteur flash) à partir de vidéos classiques (avi ou mov) ce qui permettrait même à vos membres de pouvoir uploader leurs vidéos (même principe que youtube ou dailymotion …)

En essayant de faire ca via ssh je me suis rendu compte que beaucoup de monde avait des problèmes pour encoder ces vidéos notament avec ffmpeg (lié a l’encodage en mp3).

Personnellement j’ai résolu mon problème en utilisant mencoder !

C’est disponible dans les paquets ubuntu/debian et très facilement installable, pensez aussi à installer lame.

Le plus dur est en fait de trouver la bonne commande pour encoder ces vidéos en avi, wmv ou encore mov en flv ;)

Un gros avantage avec mencoder c’est qu’il faut “juste” faire les réglages pour la vidéo que l’ont veut obtenir, en effet le format de la vidéo source est détecté automatiquement.

Voici la commande que j’utilise pour passer de avi en flv (les paramètres que vous devez modifier sont en rouge)

mencoder video.avi -forceidx -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -of lavf  -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=250:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=360:240 -o video2.flv

Comme je suis gentil je vous indique même comment on peut transformer tout les vidéos wmw ou avi d’un répertoire :p

exemple WMV TO FLV (avec boucle)

for i in *.wmv; do mencoder $i -forceidx -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -of lavf  -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=250:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=360:240 -o $i.flv; done

Vous pouvez donc par exemple uploader toutes les vidéos dans un repertoire et avec une tache cron les encoder tout les X heures.

Réseaux sociaux :
  • Bluegger
  • Blogasty
  • Fuzz
  • Scoopeo
  • del.icio.us

6 commentaires

  1. Sambody nous disait le November 29th, 2007 at 22:25 :

    Ca fait deux heures que j’essaye de convertir une video en flv (entre autre via ffmpeg, mais je n’obtenais pas de son).

    Avec à ton script, ça a marché (en enlevant -lavfopts i_certify).

    Un grand merci !

  2. Quentin nous disait le December 17th, 2007 at 20:45 :

    slt j’ai un site du meme system de youtube je voudrais savoir où mettre ton script?
    merci

  3. Ron nous disait le December 17th, 2007 at 20:57 :

    Et bien ca sera du shell qui pourra etre lancé via php par exemple …

  4. Quentin nous disait le December 17th, 2007 at 21:37 :

    tu peux venir sur msn pour plus d’info?
    merci
    msn quentin[at]cournon.fr

  5. Damascus nous disait le May 9th, 2008 at 20:04 :

    Je prépare un site qui permet à la manière de youtube d’uploader ses vidéos.
    Ton script a l’air super utile, car j’ao déjà tenté les embed quicktime qui sont difficile à maîtriser et installés dans aucun navigateur à la base…
    Par contre, je ne vois pas trop où mettre le script dans le serveur et comment l’appeler, si tu pouvais m’apporter un peu d’aide ce serait sympa(je n’oublierai pas de rappeler ta contribution plus tard hein :D)

  6. Dexter nous disait le May 14th, 2008 at 15:34 :

    Salut

    Je vous trove trop gentil comme vous l’avez dit mais ma kestion et la suivante:
    J’ai un server dedié et je demande sous kel repertoire intaller? et sur quel fichier allons nous intaller le code que vous venez de donné ?? et commment installer Mencoder sur mon serveur ??

    S’il vous plait aider moi

Commenter