Vous êtes passionnés comme moi de machines basse-consommation, ARM, Atom : rendez visite à mon partenaire !
Video screen capture avec ffmpeg
jeudi 25 novembre 2010 à 07:00 | Dev
Régulièrement, j'ai besoin de réaliser des captures vidéo d'écran de PC sous linux, pour des tutoriaux vidéo, des démonstrations interactives. Comme je suis un geek, je vous propose un script bash, basé sur des outils opensource, un soupçon de grep, de awk et de ffmpeg.
Et oui, l'outil opensource ffmpeg permet de capturer la vidéo d'un écran, avec le flag : ffmpeg -f x11grab
Pour récupérer, les coordonnées et la taille, de ma fenêtre à capturer et pour simplifier le travail j'utilise xwininfo.
#!/bin/bash
echo 'click on the window you want to capture, I need to get its size !'
INFO=(`xwininfo |grep -oEe 'Absolute upper-left X: [0-9]+|Absolute upper-left Y: [0-9]+|Width: [0-9]+|Height: [0-9]+'|awk '{if($4=="") {print $2} else {print $4};}'`)
# ffmpeg need a odd size so let's do some math ;)
if [ $(( ${INFO[2]} % 2 )) -ne 0 ]
then
INFO[2]=$(( ${INFO[2]} + 1 ))
fi
if [ $(( ${INFO[3]} % 2 )) -ne 0 ]
then
INFO[3]=$(( ${INFO[3]} + 1 ))
fi
`ffmpeg -f x11grab -r 30 -s ${INFO[2]}x${INFO[3]} -i :0.0+${INFO[0]},${INFO[1]} -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output1.mkv`
Allez une démo, une démo ! Bon si vous insistez ?!
J'espère que cela vous sera utile.
A propos de Vincent RABAH
Je suis DSI depuis 10 ans. Spécialiste en systèmes d'information et réseaux.
Expert en management, GreenIT et virtualisation de serveurs. Vous pouvez consulter l'ensemble de mon parcours.
I do speak English even if my blog is written in French ... Feel free to leave comments, I'll answer you !
- Node.js au coeur du framework Yahoo Cocktails
- Documentation sur Node.js
- Gestion des plugins VIM
- Décodage vidéo et audio avec Javascript
- Rewrite rules Nginx
- Un SlideShow 3D avec HTML5 et CSS3
- Google Analytics en Ruby
- Compiler Node.js pour ARM v5
- Créer une présentation HTML5 portable avec Node.js Inliner
- Vim-css-color plugin
Vous pouvez lire également :
Partagez cet article :





bonsoir
je viens de tomber par hasard sur ce script (très bon) et pour avoir le son j'ai rajouter :
-f alsa -ac 2 -i hw:0,0
après ffmpeg, le son est bon mais bas j'ai pas trouvé pour l'augmenter sauf en recodant avec mencoder
soit le script modifié:
#!/bin/bash
echo 'click on the window you want to capture, I need to get its size !'
INFO=(`xwininfo |grep -oEe 'Absolute upper-left X: [0-9]+|Absolute upper-left Y: [0-9]+|Width: [0-9]+|Height: [0-9]+'|awk '{if($4=="") {print $2} else {print $4};}'`)
# ffmpeg need a odd size so let's do some math ;)
if [ $(( ${INFO[2]} % 2 )) -ne 0 ]
then
INFO[2]=$(( ${INFO[2]} + 1 ))
fi
if [ $(( ${INFO[3]} % 2 )) -ne 0 ]
then
INFO[3]=$(( ${INFO[3]} + 1 ))
fi
`ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 25 -s ${INFO[2]}x${INFO[3]} -i :0.0+${INFO[0]},${INFO[1]} -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output1.mkv`
Bonjour Josy,
Tous les types de DVDRom fonctionnent.
Bonjour Monsieur !
Une question : comment faire pour enregistrer une vidéo créée sur mon ordinateur - Quel type de DVD-rom choisir ?
Merci de répondre à ceci ...