{"id":638,"date":"2009-09-02T15:52:31","date_gmt":"2009-09-02T13:52:31","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=638"},"modified":"2013-10-08T21:20:15","modified_gmt":"2013-10-08T19:20:15","slug":"quelques-exemples-dutilisation-de-mplayer-et-ffmpeg","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2009\/09\/quelques-exemples-dutilisation-de-mplayer-et-ffmpeg\/","title":{"rendered":"Quelques exemples d&rsquo;utilisation de mplayer et ffmpeg"},"content":{"rendered":"<p>Ci dessous, vous trouverez quelques recettes pour manipuler des vid\u00e9os et des sons au moyen de <em>ffmpeg<\/em> ou du couple <em>mplayer\/mencoder<\/em>. Ma pr\u00e9f\u00e9rence va \u00e0 <em>mplayer<\/em> parce que du c\u00f4t\u00e9 de <em>ffmpeg<\/em>, qui est tr\u00e8s performant par ailleurs, il y a quelques probl\u00e8mes: la documentation n&rsquo;est pas \u00e0 jour, les options \u00e0 mettre dans la ligne de commande changent (trop) r\u00e9guli\u00e8rement (par exemple le flag <em>trell<\/em> est devenu <em>-trellis<\/em> suivi d&rsquo;une valeur, <em>-title \u00ab\u00a0string\u00a0\u00bb<\/em> est remplac\u00e9 par <em>-metatag title=\u00a0\u00bbstring\u00a0\u00bb<\/em>). Ceci fait qu&rsquo;une ligne de commande utilisant <em>ffmpeg<\/em> sous Ubuntu 8.10 n&rsquo;est pas garantie fonctionner sous Ubuntu 9.04. C&rsquo;est \u00e0 mon avis une raison suffisante pour \u00e9viter <em>ffmpeg<\/em> d&rsquo;autant plus que la documentation n&rsquo;est pas mise \u00e0 jour.<\/p>\n<h3>Obtenir des infos sur une vid\u00e9o (avi, mov, flv, mpg&#8230;)<\/h3>\n<pre class=\"codesource\">\r\n$ mplayer -v video.avi\r\n<\/pre>\n<p>Ceci donne les codecs utilis\u00e9s, le format, la taille, les identificateurs de pistes audio, les sous-titres&#8230;<\/p>\n<h3>Convertir des images en une vid\u00e9o<\/h3>\n<pre class=\"codesource\">\r\n$ ffmpeg -f image2 -i image%03d.jpg video.avi\r\n<\/pre>\n<p>Les images doivent avoir pour nom <em>image001.jpg<\/em>, <em>image002.jpg<\/em>,&#8230;et doivent \u00eatre au format <em>jpg<\/em>, <em>gif<\/em>, <em>png<\/em>,&#8230;<\/p>\n<h3>G\u00e9n\u00e9rer des images \u00e0 partir d&rsquo;une vid\u00e9o (avi, mov, flv, mpg&#8230;)<\/h3>\n<p>Cela g\u00e9n\u00e9rera des fichiers <em>image00x.jpg<\/em> mais vous pouvez utiliser le format que vous d\u00e9sirez, <em>jpg<\/em>, <em>png<\/em>, <em>gif<\/em>, <em>tiff<\/em>,&#8230; <\/p>\n<pre class=\"codesource\">\r\n$ ffmpeg -i video.avi -r 1 image%03d.jpg\r\n<\/pre>\n<p>ou par exemple en <em>gif<\/em> avec <em>mplayer<\/em>:<\/p>\n<pre class=\"codesource\">\r\n$ mplayer -vo gif89a -vf scale=320:240 video.avi\r\n<\/pre>\n<h3>Extraire le son d&rsquo;un DVD<\/h3>\n<pre class=\"codesource\">\r\n$ mplayer -vc null -vo null -aid num\u00e9ro_piste_audio -ao pcm:file=son.wav -af resample=44100 dvd:\/\/num\u00e9ro_du_titre -dvd-device \/media\/cdrom0\r\n<\/pre>\n<p>ou<\/p>\n<pre class=\"codesource\">\r\n$ mplayer -dvd-device \/media\/cdrom0 -dumpstream dvd:\/\/1 -aid 128 -dumpfile titre1.vob\r\n<\/pre>\n<p>Le num\u00e9ro de piste audio (<em>aid<\/em>) peut \u00eatre obtenu en demandant \u00e0 mplayer les infos sur la vid\u00e9o.<\/p>\n<h3>Extraire le son d\u2019une vid\u00e9o<\/h3>\n<p>Ici, l&rsquo;extraction se fait en <em>mp3<\/em> mais on peut envisager un autre format.<\/p>\n<pre class=\"codesource\">\r\n$ ffmpeg -i video.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 son.mp3\r\n<\/pre>\n<p>ou avec <em>mplayer<\/em>:<\/p>\n<pre class=\"codesource\">\r\n$ mplayer -vc null -vo null -ao pcm:file=son.wav -af resample=44100 video.avi\r\n<\/pre>\n<h3>Extraire une piste son d&rsquo;une vid\u00e9o en gardant son format d&rsquo;origine<\/h3>\n<pre class=\"codesource\">\r\n$ mplayer -dumpaudio -dumpfile son.mp3 video.avi\r\n<\/pre>\n<h3>Extraire la piste vid\u00e9o<\/h3>\n<pre class=\"codesource\">\r\n$ mplayer -dumpvideo -dumpfile video.raw video.avi\r\n<\/pre>\n<h3>Enregistrer un stream audio<\/h3>\n<p>Avec playlist (fichier de type .m3u):<\/p>\n<pre class=\"codesource\">\r\n$ mplayer -ao pcm:file=radio.wav -nocache -playlist http:\/\/www.classic21.be\/rtbf_2000\/radios\/21128.m3u\r\n<\/pre>\n<p>Enregistrer directement le stream:<\/p>\n<pre class=\"codesource\">\r\n$ mplayer -ao pcm:file=radio.wav -nocache http:\/\/streaming.rtbf.be:8000\/2128xrtbf\r\n<\/pre>\n<h3>Convertir une vid\u00e9o pour en faire un <em>dvd<\/em><\/h3>\n<p>Encodage en mpeg2:<\/p>\n<pre class=\"codesource\">\r\n$ ffmpeg -i video_source.avi -target pal-dvd -aspect 16:9 -sameq video.mpg\r\n<\/pre>\n<p>Cr\u00e9ation de l&rsquo;arborescence de fichiers dvd (VIDEO_TS: bup, ifo, vob) dans le r\u00e9pertoire .\/dvd<\/p>\n<pre class=\"codesource\">\r\n$ dvdauthor --title -o dvd\/ -f video.mpg\r\n<\/pre>\n<p>Cr\u00e9ation de la TOC:<\/p>\n<pre class=\"codesource\">\r\n$ dvdauthor -o dvd\/ -T\r\n<\/pre>\n<p><strong>Update :<\/strong> dvdauthor n\u00e9cessite dans sa derni\u00e8re version 0.7.0 de d\u00e9finir une variable d&rsquo;environnement avant de l&rsquo;utiliser:<\/p>\n<pre class=\"codesource\">\r\n$ export VIDEO_FORMAT=PAL\r\n<\/pre>\n<p>Eventuellement, remplacez PAL par NTSC.<\/p>\n<h3>Convertir une vid\u00e9o mpg en avi<\/h3>\n<pre class=\"codesource\">\r\n$ ffmpeg -i video_source.mpg video.avi\r\n<\/pre>\n<h3>Multiplexer un son et une vid\u00e9o<\/h3>\n<pre class=\"codesource\">\r\n$ ffmpeg -i son.wav -i video_source.avi video.mpg\r\n$ mencoder -oac copy -ovc copy -audiofile audio.mp3 -o video.avi video_source.avi\r\n<\/pre>\n<h3>Convertir un avi en flv<\/h3>\n<pre class=\"codesource\">\r\n$ ffmpeg -i video_source.avi -ab 64 -ar 44100 -b 200 -r 15 -s 320\u00d7240 -f flv video.flv\r\n<\/pre>\n<h3>synchroniser son et image<\/h3>\n<pre class=\"codesource\">\r\n$ mplayer delay xx video.avi\r\n<\/pre>\n<p>Quand la bonne valeur de d\u00e9lai est trouv\u00e9e, on r\u00e9encode la vid\u00e9o:<\/p>\n<pre class=\"codesource\">\r\n$ mencoder -oac copy -ovc copy -audio-delay -xx video_source.avi video_out.avi\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ci dessous, vous trouverez quelques recettes pour manipuler des vid\u00e9os et des sons au moyen de ffmpeg ou du couple mplayer\/mencoder. Ma pr\u00e9f\u00e9rence va \u00e0 mplayer parce que du c\u00f4t\u00e9 de ffmpeg, qui est tr\u00e8s performant par ailleurs, il y a quelques probl\u00e8mes: la documentation n&rsquo;est pas \u00e0 jour, les options \u00e0 mettre dans la [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,5,20],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/638"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=638"}],"version-history":[{"count":10,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/638\/revisions"}],"predecessor-version":[{"id":1384,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/638\/revisions\/1384"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}