Encode ton monde
Ou comment manipuler des vidéos sous linux, en ligne de commande pour les Geek.
Voici une liste mise à jour plus ou moins régulierement, pour cuisiner vos vidéos :
- mencoder - Rotation Video
- mencoder - Encoder un film à partir d'images
- imagick - Redimensionner
- mplayer
- ffmpeg
- ffmpeg2theora
mencoder - Rotation de vidéo
mencoder -vf rotate=1 -ovc lavc -oac copy input.avi -o output.avi
où:
-
-vf rotate = 0,1,2, or 3
-
-ovc (Output Video Codec): lavc est un bon choix
-
-oac (Output Audio Codec): try: lavc, mp3lame, or copy (=no change/re-encoding)
mencoder - Encoder une vidéo à partir d'images
mencoder mf://*.jpg -mf w=1600:h=1200:fps=24:type=jpg -ovc lavc -lavcopts vcodec=mjpeg:aspect=16/9 -oac copy -o output.avi
mencoder mf://frame001.jpg,frame002.jpg -mf w=1600:h=1200:fps=24:type=jpg -ovc lavc -lavcopts vcodec=mjpeg -oac copy -o output.aviPermet de:
- Encoder tous les jpg du répertoire courant à 24 frames par seconde
- Résolution:1600x1200
- Images 16/9 ajouter : aspect=16/9
imagemagick
sudo apt-get install imagemagick
Utile pour redimensionné des images par lot
Attention faire une copie, car l'original estr écrasé !!
mogrify -resize 1024 *.JPG mogrify -resize 1024x600! *.JPG /* Pour forcer le redimensionnement à une résolution précise */
mplayer
Démarrer la webcam
mplayer -fps 25 tv://
Récupérer le flux de votre émission de reggae favorite ! Big up Boulibai Vibration
mplayer rtsp://son.radio-france.fr/chaines/france-inter/alternatives/boulibai20091129.rm -dumpstream -dumpfile stream.asf
Encoder mpeg vidéo au Format flash
mencoderinput.avi-ooutput.flv-of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
Décoder une vidéo en séquence d'images
Se placer dans le répertoire ou on veut sauver les images ( le créer s'il n'existe pas ) :
mplayer -vo jpeg /chemin/video_avi
On peut utiliser l'option -sstep qui veut dire "saute tant de secondes après chaque frame". Donc, avec "-sstep 60" pour une vidéo de 40 minutes, cela donnerait 40 captures
Par ailleurs l'option -nosound ou -ac null est aussi problématique, faut mieux utiliser "af -volume" pour couper le son.
mplayer -vo jpeg:outdir=images -sstep 60 -vc xvid -af volume=-200dB film.avi
J'ai trouvé une autre manière de faire qui est beaucoup plus stable:
-
-vf framestep=i|I[pas]
- I, seul les images clef sont affichées (bon pour la qualité)
- i[pas], toutes les [pas] images sont affichées, seul moyen que j'ai trouver pour que ça fonctionne correctment, chez moi, sur 2 vidéos.
- Exemple, pour une vidéo de 40 minutes à 25img/s, soit 40.60.25=60000 images au total. Soit 20 le nombre d'images à obtenir => 60000/20=3000 pas.
Plus les paramètres suivants:
-
-benchmark
- pour aller le plus vite possible, y'a peut être mieux mais ça fonctionne.
-
-nosound
- parce qu'on on a pas besoin du son
-
-ss <time>
- pour ignorer les 30 premières seconde qui ne sont pas intéressantes, par exemple
Au final ça donne:
mplayer -benchmark -nosound -vo jpeg -vf framestep=i3000 lefilmdusiècle.avi
Pour un film de 1 min 30
mplayer -benchmark -nosound -vo jpeg:outdir=img2 -vf framestep=i15 MVI_2971.MOV
ffmpeg
Obtenir des infos d un fichier vidéo
ffmpeg -i video.avi
Transformer X imagens en une séquence vidéo
ffmpeg -f image2 -i image%d.jpg video.mpg
Transformer une vidéo en X images
ffmpeg -i video.mpg image%d.jpg
Convertir un fichier wav en Mp3
ffmpeg -i son_origine.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3
Convertir un fichier .avi en .mpg
ffmpeg -i video_origine.avi video_finale.mpg
Convertir .mpg en .avi
ffmpeg -i video_origine.mpg video_finale.avi
Voir une liste plus complete de commmandes en anglais:
http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
ffmpeg2theora
Convertir un fichier en ogg:
ffmpeg2theora videoclip.dv --artist "Art d'Oeuvre du Chef" --copyright "Art d'Oeuvre 2010" --license "Creative Commons BY-SA" --title "My title" --contact "artdoeuvre0@gmail.com"
Cela va créer un fichier Ogg Theora appelé videoclip.dv.ogg.
Jouer sur la qualité:
ffmpeg2theora -v 7 -a 3 videoclip.dv --artist "Art d'Oeuvre du Chef" --copyright "Art d'Oeuvre 2010" --license "Creative Commons BY-SA" --title "My title" --contact "artdoeuvre0@gmail.com"