<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Anthony Dahanne's blog &#187; video</title>
	<atom:link href="http://blog.dahanne.net/category/video/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dahanne.net</link>
	<description>Open Source Software, Java, Ruby, Agility</description>
	<lastBuildDate>Wed, 23 Dec 2009 23:52:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Diffusez vos vidéos HD en H264 sur le web !</title>
		<link>http://blog.dahanne.net/2008/03/20/diffusez-vos-videos-hd-en-h264-sur-le-web/</link>
		<comments>http://blog.dahanne.net/2008/03/20/diffusez-vos-videos-hd-en-h264-sur-le-web/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 22:58:36 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[montage video]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/2008/03/20/diffusez-vos-videos-hd-en-h264-sur-le-web/</guid>
		<description><![CDATA[<p>Depuis la version 9 (update 3) de flash, le plugin propriétaire présent sur 98% des navigateurs internet, il est possible de lire des fichiers vidéos non plus seulement au format maison .flv (un dérivé de h263) mais aussi au standard H264, codec vidéo très performant !
Je vous propose de vous même encoder vos vidéos au [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis la version 9 (update 3) de flash, le plugin propriétaire présent sur 98% des navigateurs internet, il est possible de lire des fichiers vidéos non plus seulement au format maison .flv (un dérivé de h263) mais aussi au standard H264, codec vidéo très performant !<br />
Je vous propose de vous même encoder vos vidéos au format H264, à l&#8217;aide d&#8217;outils libres, ffmpeg en l&#8217;occurrence, et d&#8217;ensuite les diffuser sur internet via un lecteur de vidéo au format flash, qu&#8217;il vous suffira d&#8217;insérer dans vos pages web !<br />
(à vous de voir après si vous préférez laisser la diffusion de vos vidéos à une régie publicitaire comme youtube et consorts !)<br />
Je me sers de cette procédure pour diffuser des vidéos issues de mon camescope Sony HDR-HC7E en haute définition (1440 PAR 1.33 x 1080 entrelacé) dans une résolution correcte : 960&#215;540p<br />
Dans tout ce tutorial, le &#8216;%&#8217; correspond à l&#8217;invite de commande de mon shell.</p>
<h3>Installation de FFMPEG du dépôt subversion sur Ubuntu Gutsy 7.10 : (aussi testé sur Ubuntu Feisty 7.04)</h3>
<p>Dans un premier temps :<br />
<code>%sudo apt-get build-dep ffmpeg</code><br />
Selon le man de &laquo;&nbsp;apt-get&nbsp;&raquo;, &laquo;&nbsp;Avec la commande build-dep, apt-get installe ou supprime des paquets dans le but de satisfaire les dépendances de construction d&#8217;un paquet source.&nbsp;&raquo;<br />
Ensuite, installons les librairies multipmédias nécessaires et aussi Subversion, car nous allons avoir besoin de récupérer la toute dernière version de ffmpeg :<br />
<code>%sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev checkinstall build-essential subversion</code><br />
On récupèrele code source de ffmpeg par svn :<br />
<code>svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg</code><br />
Il est temps de compiler ffmpeg, pour cela, rendons nous dans le répertoire du ffmpeg récemment récupéré :<br />
<code>%cd ffmpeg</code><br />
Au cas où vous avez déjà compilé : (sinon çà fait pas de mal)<br />
<code>%make distclean</code><br />
on configure :<br />
<code>%./configure --enable-gpl --enable-pp --enable-libvorbis --enable-libtheora --enable-liba52 --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libxvid --enable-pthreads --enable-libx264</code><br />
et on compile :<br />
<code>make</code><br />
Ça prend un peu de temps, mais au bout, vous obtiendrez dans votre répertoire un ffmpeg compilé avec le support de h264 (entre autres encodeurs).<br />
Vous pourriez l&#8217;installer avec sudo checkinstall  et sudo make install, mais je préfère le garder à part de /usr/bin au cas où un jour je veuille utiliser le ffmpeg de ma distrib)<br />
Tant que nous sommes à la compilation, compilons qt-faststart (j&#8217;explique peu après à quoi sert qt-faststart : déplacer les entêtes, les metadata, au début du fichier video):<br />
Compiler qt-faststart.c</p>
<div class="code">gcc -O3  -g -Wdeclaration-after-statement -Wall -Wno-switch -I -I$REP_SVN_FFMPEG/ffmpeg -I$REP_SVN_FFMPEG/ffmpeg/libavutil -I$REP_SVN_FFMPEG/ffmpeg/libavcodec -I$REP_SVN_FFMPEG/ffmpeg/libavformat -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $REP_SVN_FFMPEG/ffmpeg/tools/qt-faststart.c -o qt-faststart</div>
<p>en remplaçant $REP_SVN_FFMPEG par le chemin complet du répertoire du ffmpeg récupéré par svn.<br />
Et voilà, fini pour l&#8217;installation ! place à l&#8217;utilisation !</p>
<h3>Encodage du fichier video en H264</h3>
<p>En remplaçant $REP_SVN_FFMPEG par le chemin complet du répertoire du ffmpeg récupéré par svn,</p>
<div class="code">$REP_SVN_FFMPEG/ffmpeg/ffmpeg -i ma_video.m2t -vcodec libx264  -b 800k -ab 128k -s 960&#215;540 -deinterlace ma_video.mov</div>
<p>cà peut être (très, 5fps) long &#8230;</p>
<h3>Déplacement de l&#8217;entête MOOV ATOM au début du fichier</h3>
<p>Malheureusement, si vous laissez la vidéo obtenue telle quelle, avant de pouvoir la visionner, vous serez obligé de la télécharger en entier; car les métadata du fichier, MOOV ATOM, sont placées à la fin du fichier, et non au début.<br />
C&#8217;est alors que qt-faststart rentre en scène :</p>
<div class="code">$REP_SVN_FFMPEG/ffmpeg/tools/qt-faststart ma_video.mov ma_video_fast.mov</div>
<p>Pour diffuser votre vidéo sur le web, vous pouvez utiliser la dernière version de FlowPlayer, et consulter mon article à son sujet ! (j&#8217;essaierai de le mettre plus à jour prochainement !)</p>
<p>Bonne diffusion !</p>
<p>Références :<br />
<a href="http://slashdot.org/~PhillC/journal/190344">How to encode in H264 for web broadcasting</a><br />
<a href="http://lists.mplayerhq.hu">La mailing list du site officiel de FFMPEG</a><br />
<a href="http://community.flowplayer.org/node/91">La communauté de FlowPLayer à propos de H264</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/03/20/diffusez-vos-videos-hd-en-h264-sur-le-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Monter un serveur FTP sur son système de fichiers avec FUSE et CurlFTPfs</title>
		<link>http://blog.dahanne.net/2007/03/09/monter-un-serveur-ftp-sur-son-systeme-de-fichiers-avec-fuse-et-curlftpfs/</link>
		<comments>http://blog.dahanne.net/2007/03/09/monter-un-serveur-ftp-sur-son-systeme-de-fichiers-avec-fuse-et-curlftpfs/#comments</comments>
		<pubDate>Fri, 09 Mar 2007 00:44:02 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/2007/03/09/monter-un-serveur-ftp-sur-son-systeme-de-fichiers-avec-fuse-et-curlftpfs/</guid>
		<description><![CDATA[FUSE et CurlFTPfs, pourquoi faire ?
<p>Je suis désormais abonné chez Free (le seul FAI à proposer l&#8217;IP fixe à un coût modéré) et après avoir installé et initialisé ma Freebox HD (boîtier qui permet de regarder/enregistrer la télé entre autres), j&#8217;ai voulu transférer des fichiers sur son disque dur afin de pouvoir les visionner sur [...]]]></description>
			<content:encoded><![CDATA[<h3>FUSE et CurlFTPfs, pourquoi faire ?</h3>
<p>Je suis désormais abonné chez Free (le seul FAI à proposer l&#8217;IP fixe à un coût modéré) et après avoir installé et initialisé ma Freebox HD (boîtier qui permet de regarder/enregistrer la télé entre autres), j&#8217;ai voulu transférer des fichiers sur son disque dur afin de pouvoir les visionner sur la télé&#8230;<br />
J&#8217;ai alors utilisé Konqueror et me suis dirigé vers :<br />
<code>ftp://freebox@hd1.freebox.fr/Disque dur/Video</code><br />
J&#8217;ai ainsi pu transférer mes fichiers par simple copier/coller&#8230;<br />
Mais comment faire aussi simple, voire même plus simple, pour transférer d&#8217;une machine qui n&#8217;a pas d&#8217;interface graphique (juste un shell) vers la Freebox HD ?<br />
Tout simplement en montant la freebox comme un système de fichier en utilisant FUSE et CurlFTPfs&#8230;</p>
<h3>Installation de FUSE et CurlFTPfs et premier montage</h3>
<p>Sous Ubuntu installer curlsFTPfs :<br />
<code>#apt-get install curlftpfs</code><br />
(il peut être utile à cette étape de charger le module fuse : <code># modprobe fuse</code>)<br />
Il vous installera alors curlftpfs, et fuse-utils, et créera un groupe &laquo;&nbsp;fuse&nbsp;&raquo;.<br />
<i>Edit : en fait, Ubuntu n&#8217;intègre pas le paquet CurlFTPFS, aussi, le meilleur moyen de l&#8217;installer est de suivre <a href="http://doc.ubuntu-fr.org/curlftpfs">l&#8217;article dédié à CurlFTPfs sur Ubuntu-fr.org.</a> (Merci à Cyril, et la prochaine fois poste un commentaire pour en faire profiter tout le monde !)</i>.<br />
Connectez vous alors sous un utilisateur non privilégié et créer un répertoire pour accueillir le montage :<br />
<code>% mkdir freebox</code><br />
Essayez alors de monter votre freebox sur ce point de montage :<br />
<code>curlftpfs ftp://freebox@hd1.freebox.fr freebox<br />
fuse: failed to exec fusermount: Permission denied<br />
</code><br />
Oups ! vous n&#8217;avez pas les droits &#8230;Mais souvenez vous, un groupe fuse a été créé !<br />
Avec root, ajoutez l&#8217;utilisateur au groupe fuse, et vérifiez :<br />
<del datetime="2007-03-27T09:21:48+00:00"><code># usermod -G fuse anthony</code><br />
<i><b>Attention, en faisant ceci j&#8217;ai supprimé tous les rattachements de  groupe de l&#8217;utilisateur (ie: il n&#8217;appartenait plus qu&#8217;au groupe &laquo;&nbsp;fuse&nbsp;&raquo; pour éviter ceci , veuillez plutôt tapez :</b></i><br />
<code># usermod -a -G fuse anthony</code><br />
</del><br />
Ceci est plus simple &#8230;.<br />
<code>#adduser anthony fuse<br />
# groups anthony<br />
anthony : anthony fuse</code><br />
OK, pour prendre en compte les changements, relogguez vous de nouveau avec votre utilisateur, et ré essayez !<br />
<code>% curlftpfs ftp://freebox@hd1.freebox.fr freebox</code><br />
(<i>Si vous avez encore une erreur , avec root, <code># chmod +x /usr/bin/fusermount</code></i>)<br />
Vous pouvez alors naviguer dans le disque dur de votre Freebox HD, comme si celui était en local !<br />
<code>%  cd freebox/Disque\ dur/Video<br />
~/freebox/Disque dur/Video%  cp /home/anthony/fichier.avi ./<br />
~/freebox/Disque dur/Video% ls<br />
fichier.avi</code><br />
vous pouvez aussi démonter l&#8217;attachement de votre freebox :<br />
<code>% fusermount -u /home/anthony/freebox</code></p>
<h3>Automatiser le montage curlftpfs au démarrage de la machine</h3>
<p>Pour cela il suffit de rajouter une entrée dans /etc/fstab , comme si on rajoutait une partition de disque ou un partage nfs, avec la ligne suivante :<br />
<code>curlftpfs#freebox@hd1.freebox.fr /home/anthony/freebox fuse allow_other 0 1</code><br />
En attendant le redémarrage un simple :<br />
<code>#mount /home/anthony/freebox</code><br />
fera l&#8217;affaire et tous les utilisateurs du système peuvent déposer/récupérer des fichiers sur la freebox HD</p>
<h3>Liens</h3>
<p>Je me suis bien inspiré de cet article :<br />
<a href="http://www.coagul.org/article.php3?id_article=466">Article sur FUSE et curlftpfs sur Coagul</a><br />
d&#8217;ailleurs leur article explique comment procéder avec un compte FTP nécessitant un mot de passe.<br />
<a href="http://fuse.sourceforge.net/wiki/index.php/FileSystems">Liste des montages possibles avec FUSE</a><br />
<a href="http://curlftpfs.sourceforge.net/">La page officielle de CurlFTPfs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2007/03/09/monter-un-serveur-ftp-sur-son-systeme-de-fichiers-avec-fuse-et-curlftpfs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Convertir ses vidéos avec Linux</title>
		<link>http://blog.dahanne.net/2006/09/11/convertir-ses-videos-avec-linux/</link>
		<comments>http://blog.dahanne.net/2006/09/11/convertir-ses-videos-avec-linux/#comments</comments>
		<pubDate>Sun, 10 Sep 2006 22:26:36 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/2006/09/11/convertir-ses-videos-avec-linux/</guid>
		<description><![CDATA[<p>J&#8217;utilise aujourd&#8217;hui sur mon ordinateur la distribution Linux Kubuntu (Ubuntu avec le gestionnaire de bureaux KDE) comme système d&#8217;exploitation principal, et il m&#8217;arrive de vouloir convertir des vidéos dans un tel ou tel format pour pouvoir les visionner sur le web ou sur mon ipod ou encore sur ma platine DVD/DivX.
Heureusement pour moi, Linux regorge [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;utilise aujourd&#8217;hui sur mon ordinateur la distribution Linux <a href="http://kubuntu.org">Kubuntu</a> (<a href="http://www.ubuntu.com">Ubuntu</a> avec le gestionnaire de bureaux <a href="http://www.kde.org">KDE</a>) comme système d&#8217;exploitation principal, et il m&#8217;arrive de vouloir convertir des vidéos dans un tel ou tel format pour pouvoir les visionner sur le web ou sur mon ipod ou encore sur ma platine DVD/DivX.<br />
Heureusement pour moi, Linux regorge de logiciels très puissant de conversion de vidéo.</p>
<p>Les essais suivants ont été réalisés sur une Debian Sarge Stable.</p>
<h3>Prérequis :</h3>
<p>Vous devez avoir les logiciels et librairies adéquates.<br />
Vous devez installer Mencoder, ffmpeg, et des librairies annexes (les codecs w32, mp3, etc&#8230;)<br />
Sur une debian j&#8217;ai utilisé les repositories suivants :<br />
/etc/apt/sources.list :</p>
<div class="code">
<p>
deb http://security.debian.org/ stable/updates main non-free contrib<br />
deb-src http://security.debian.org/ stable/updates main contrib non-free</p>
<p>deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free<br />
deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free</p>
<p>deb ftp://ftp.debian.org/debian/ sarge main non-free contrib<br />
deb-src ftp://ftp.debian.org/debian/ sarge main non-free contrib</p>
<p>deb http://www.debian-multimedia.org stable main<br />
deb-src http://www.debian-multimedia.org stable main</p>
</div>
<p><code>#apt-get install mencoder ffmpeg w32codecs lame libavcodeccvs51 libavutilcvs49 libdvdread3 libpostproccvs51 libxvidcore4 mplayer-doc</code></p>
<p>N&#8217;hésitez pas à poster en commentaires les sources pour une distribution !</p>
<h3>Convertir une video pour la lire sur platine DivX Kiss DP 1500</h3>
<p><strong>Le problème :</strong></p>
<p>La platine KISS DP 1500 est un lecteur DVD/DivX (et Xvid) de salon qui a la particularité de pouvoir lire des fichiers videos se situant sur un réseau local (elle dispose d&#8217;un port ethernet pour cela). Ainsi pas besoin de graver ses films pour les regarder&#8230;<br />
Malheureusement, les formats d&#8217;encodage (codecs) MPEG 4 évoluent et le constructeur de ma platine, KISS, n&#8217;est pas très sérieux et ne remet plus à jour le firmware de la platine.(d&#8217;ailleurs ce n&#8217;est pas l&#8217;unique problème avec eux, ils ont aussi <a href="http://slashdot.org/articles/04/01/12/228247.shtml">violé une licence GPL</a>).<br />
Ainsi ma platine ne lit désormais que très peu de fichiers videos&#8230;</p>
<p><strong>La solution :</strong><br />
Convertir mes vidéos dans un format qu&#8217;elle supporte! (en l&#8217;occurence du XviD/MP3 avec un bitrate de 1200 et en 4/3  &#8211;> ne change pas l&#8217;aspect de l&#8217;image)<br />
Avec mencoder : </p>
<p><code>mencoder fichier_a_convertir.avi -ovc xvid -xvidencopts bitrate=1200 -oac mp3lame -aspect 4:3 -o nom_du_fichier_resultat.avi</code></p>
<p>Pour &laquo;&nbsp;industrialiser&nbsp;&raquo; le processus, voici le script shell qui vous permettra de convertir par lots :</p>
<div class="code">
if [ -z "$1" ]; then<br />
  echo &laquo;&nbsp;Usage: $0  list_of_video_files&nbsp;&raquo;<br />
  exit 1<br />
fi<br />
# video encoding bit rate<br />
V_BITRATE=1200<br />
while [ "$1" ]; do<br />
MENC_OPTS=&nbsp;&raquo;-ovc xvid -xvidencopts bitrate=$V_BITRATE -oac mp3lame -aspect 4:3&#8243;<br />
mencoder &laquo;&nbsp;$1&#8243; $MENC_OPTS -o &laquo;&nbsp;`basename $1 .avi`_convertie.avi&nbsp;&raquo;<br />
shift<br />
done
</div>
<p>Vous pouvez le télécharger en utilisant le lien ci-dessous :<br />
<a href="http://dahanne.net/scripts/mencoder_video_to_kiss_dp_1500.sh">mencoder_video_to_kiss_dp_1500.sh</a></p>
<p>Pour utiliser ce script, il vous suffit de taper :<br />
<code>sh mencoder_video_to_kiss_dp_1500.sh file1.avi file2.avi ./</code><br />
Pour convertir les fichiers file1.avi et file2.avi en file1_convertie.avi et file2_convertie.avi (dans le répertoire courant)</p>
<h3>Convertir une video pour la lire sur un Ipod Video  (5ème génération)</h3>
<p>Encore une fois, MEncoder va nous aider à transporter nos vidéos favorites dans notre poche.</p>
<p><strong>Le problème</strong><br />
L&#8217;Ipod Video ne supporte qu&#8217;un format très limité de formats de vidéos</p>
<p><strong>La solution</strong><br />
Cette simple ligne nous suffira :</p>
<p>ffmpeg -i fichier_d_entre.avi -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 192 -s 320&#215;240 -aspect 4:3 fichier_de_sortie.mp4</p>
<p>Je l&#8217;ai récupéré sur le site suivant :<a href="http://home.c-otto.de/ipod/">Video Ipod And Linux</a><br />
Pour &laquo;&nbsp;industrialiser&nbsp;&raquo; le processus, et laisser tourner la conversion pendant la nuit par exemple, j&#8217;ai concocté le petit script shell suivant :</p>
<div class="code">
<p>
#!/bin/sh<br />
if [ -z "$1" ]; then<br />
  echo &laquo;&nbsp;Usage: $0  list_of_video_files&nbsp;&raquo;<br />
  exit 1<br />
fi</p>
<p>while [ "$1" ]; do<br />
FFMPEG_OPTS=&nbsp;&raquo;-f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 192 -s 320&#215;240 -aspect 4:3&#8243;<br />
ffmpeg -i &laquo;&nbsp;$1&#8243; $FFMPEG_OPTS &laquo;&nbsp;`basename $1 .avi`.mp4&#8243;<br />
shift<br />
done
</p>
</div>
<p>Vous pouvez le télécharger en utilisant le lien ci-dessous :<br />
<a href="http://dahanne.net/scripts/ffmpeg_video_to_ipod_video.sh">ffmpeg_video_to_ipod_video.sh</a></p>
<p>Pour utiliser ce script, il vous suffit de taper :<br />
<code>sh ffmpeg_video_to_ipod_video.sh file1.avi file2.avi ./</code><br />
Pour convertir les fichiers file1.avi et file2.avi en file1.mp4 et file2.mp4 (dans le répertoire courant), tout juste prêtes à être transférées sur votre ipod.<br />
A ce propos, j&#8217;utilise encore iTunes pour transférer les vidéos, mais des personnes ont déjà réussi avec libgpod et amarok (LE lecteur de musique sous Linux); je reviendrai dessus quand j&#8217;aurai réussi <img src='http://blog.dahanne.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Convertir une video avec FFMPEG pour la lire sur le web avec un player flash</h3>
<p><strong>Le problème</strong><br />
Vous avez tourné un film de quelques minutes et forcément çà prend un peu de place&#8230;<br />
Alors oui, avec l&#8217;ADSL çà va assez vite à télécharger, encore faut il que la personne qui la télécharge dispose des bons codecs sur son ordinateur&#8230;<br />
Et en général, dans la famille, tout le monde ne sait pas installer de nouveaux codecs et/ou installer <a href="http://videolan.org">VLC</a>.<br />
Ou alors il faut encoder en Windows Media (oui mais y&#8217;a que sous Windows qu&#8217;on trouve les derniers encodeurs) ou encore en Real ou encore Quicktime (en fait c&#8217;est pas tout le monde qui les a installés sur son ordinateur..)<br />
Pas de panique ! Macromedia (pardon, Adobe&#8230;) avec son Flash propriétaire a compris qu&#8217;il pouvait profiter de son parc installé de lecteur Flash (pour mémo, 98% des internautes ont Flash sur leur machine aujourd&#8217;hui).<br />
Ainsi les videos au format Flash s&#8217;impose sur le Web&#8230;<br />
Mais alors pourquoi se fatiguer à les convertir soit même lorsque YouTube, GoogleVideos et consorts ont une super interface super ergonomique pour le faire ?<br />
Et bient tout simplement, pour éviter de passer par un tiers qui prend le temps qui veut pour convertir la vidéo et qui surtout disposera de votre contenu sur ses serveurs (que vous ne contrôlez à priori pas trop)&#8230;</p>
<p><strong>La solution</strong><br />
Commençons par convertir la vidéo en flv (format de video de flash)<br />
<code>ffmpeg -i movie.avi -s 320x240 -r 15 -b 250 -ar 22050 -ab 48 movie.flv</code><br />
Vous remarquerez que la video movie.avi est ici convertie en 324&#215;240 en 15 images/seconde, bitrate video de 250 kbps et le son échantillonné à 22 050Hz au bitrate 48kbps.<br />
Bref, vous pouvez modifier ces paramètres à volonté.<br />
Pour faire bien, nous allons prendre un cliché de la video :<br />
<code>ffmpeg -i movie.avi -f mjpeg -t 0.001 movie.jpg</code></p>
<p>Pour lire cette vidéo, nous avons besoin d&#8217;un lecteur de flv, au format Flash (SWF).<br />
Il existe le lecteur Flash libre <a href="http://flowplayer.sourceforge.net/">FlowPlayer</a> afin de lire ces vidéos.<br />
Pour l&#8217;utiliser, une fois qu&#8217;il est téléchargé, écrivez ce code dans un fichier HTML en faisant (bien) attention aux chemins :</p>
<div class="code">
&lt;object type=&nbsp;&raquo;application/x-shockwave-flash&nbsp;&raquo; data=&nbsp;&raquo;[your site]/FlowPlayer.swf&nbsp;&raquo; width=&nbsp;&raquo;320&#8243; height=&nbsp;&raquo;263&#8243; id=&nbsp;&raquo;FlowPlayer&nbsp;&raquo;&gt;<br />
  &lt;param name=&nbsp;&raquo;allowScriptAccess&nbsp;&raquo; value=&nbsp;&raquo;sameDomain&nbsp;&raquo;/&gt;<br />
  &lt;param name=&nbsp;&raquo;movie&nbsp;&raquo; value=&nbsp;&raquo;[your site]/FlowPlayer.swf&nbsp;&raquo;/&gt;<br />
  &lt;param name=&nbsp;&raquo;quality&nbsp;&raquo; value=&nbsp;&raquo;high&nbsp;&raquo;/&gt;<br />
  &lt;param name=&nbsp;&raquo;scale&nbsp;&raquo; value=&nbsp;&raquo;noScale&nbsp;&raquo;/&gt;<br />
  &lt;param name=&nbsp;&raquo;wmode&nbsp;&raquo; value=&nbsp;&raquo;transparent&nbsp;&raquo;/&gt;<br />
  &lt;param name=&nbsp;&raquo;flashvars&nbsp;&raquo; value=&nbsp;&raquo;baseURL=[base URL]&amp;videoFile=movie.flv<br />
    &amp;autoPlay=false&amp;loop=false&amp;autoBuffering=false<br />
    &amp;splashImageFile=movie.jpg&nbsp;&raquo;/&gt;<br />
&lt;/object&gt;
</div>
<p>Et le tour est joué !!!<br />
Pour parfaire le résultat, vous pouvez aussi ajouter un index à vos vidéos pour pouvoir afficher une barre de défilement.<br />
Vous pouvez alors utiliser l&#8217;outil libre <a href="http://rubyforge.org/frs/?group_id=1096">FlvTool2</a>, écrit en Ruby.<br />
Il vous faut alors installer ruby sur votre système (sur debian quelques apt-get sur ruby suffisent&#8230;) et télécharger la tarball de Flvtool2, l&#8217;ouvir avec<br />
<code><br />
tar xvzf flvtool2-1.0.6.tgz<br />
</code><br />
et lire les instructions du README.<br />
Cela étant fait, le rajout de vos index se feront simplement avec la commande :<br />
<code>flvtool2 -U movie.flv</code><br />
<b>Attention à ce que les noms de fichiers ne soient pas trop longs !!!</b><br />
Tout ceci est &laquo;&nbsp;industrialisé&nbsp;&raquo; dans le script shell suivant :</p>
<div class="code">
#!/bin/sh<br />
if [ -z "$1" ]; then<br />
  echo &laquo;&nbsp;Usage: $0  list_of_video_files&nbsp;&raquo;<br />
    exit 1<br />
fi<br />
while [ "$1" ]; do<br />
    ffmpeg -i $1 -s 320&#215;240 -r 15 -b 250 -ar 22050 -ab 48 $1.flv<br />
    ffmpeg -i $1 -f mjpeg -t 0.001 $1.jpg<br />
    flvtool2 -U $1.flv<br />
    shift<br />
done
</div>
<p><b><i>Ce dernier tutorial sur l&#8217;encodage d&#8217;une video en flash est une traduction libre de l&#8217;article :<br />
<a href="http://scott.yang.id.au/2006/07/flash-video-ffmpeg-flowplayer/">Posting Flash Videos with FFmpeg and FlowPlayer<br />
</a> par <a href="http://scott.yang.id.au/">Scott Yang</a> </i></b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2006/09/11/convertir-ses-videos-avec-linux/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
