Utiliser une webcam en ligne de commande sous Linux
Voici quelques astuces qui permettent d'utiliser une webcam en ligne de commande. Pratique pour tester si votre matériel fonctionne correctement, ou alors pour faire de la vidéo surveillance à distance à l'aide d'une connexion SSH.
Dans un premier temps, il faudra obtenir le chemin du périphérique audio et vidéo de la webcam :
ls -l /dev/video*
ls -l /dev/audio*
La première astuce permet d'afficher le flux vidéo de la caméra grâce à mplayer :
mplayer tv:// -tv driver=v4l2
Si l'on veut définir un peu plus d'options, comme la résolution :
mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0
Si l'on veut enregistrer une vidéo avec mencoder, sans le son:
mencoder tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -ovc lavc -o webcam.avi
Et la même chose avec le son :
mencoder tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0:forceaudio:adevice=/dev/audio -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o webcam.avi
Pour obtenir des informations sur une webcam USB :
cat /proc/bus/input/devices
7 Commentaires pour "Utiliser une webcam en ligne de commande sous Linux"
Flux des commentaires de cet article Ajouter un commentaireArticle très utile, merci!!
Peux t-on définir une durée d'enregistrement?
Si cette durée n'est pas définie, quel manipulation à effectuer pour stopper l'enregistrement manuellement??
@m3t4linux : il y a l'option -endpos hh:mm:ss avec mencoder qui permet de définir une durée d'enregistrement. Exemple pour enregistrer pendant une heure :
Sinon pour stopper manuellement l'enregistrement, il y a la combinaison de touches Ctrl + D.
Merci pour ce complément d'infos
Merci ! Je cherchais ça il y a un moment et je n'avais pas trouvé
.
Si ça intéresse du monde, j'ai fait un petit script en bash pour faire des videos "Time-lapse" avec mplayer et mencoder.
(Et il fonctionne aussi sur mon N900
)
Vous pouvez le consulter ici :
http://pastebin.com/rs8zHCCW
D'ailleurs, vous pouvez voir le résultat :
- Depuis mon ordi portable http://www.youtube.com/watch?v=8_3XKikk34U
- Depuis mon N900 http://www.youtube.com/watch?v=KLzcReH4O-Y
On lui donne deux paramètres, le temps entre chaque images, et le nombre d'images à prendre au total.
Par exemple, "./motion.sh 30 1500" pour avoir une image toutes les 30 secondes, jusqu'à en avoir 1500.
Il enregistre $nb_frame frames (De base, 3 frames), renomme la dernière, et supprime toutes les images la précédant, pour éviter d'avoir une image verte (ça dépend de votre matériel après, pour la webcam intégrée de mon ordi portable, il sort 1-2 images vertes à chaque nouvel enregistrement depuis mplayer).
Pensez à ajouter un -tv device=/dev/video[Puis le numéro de votre webcam] en paramètre à mplayer si vous n'utilisez pas /dev/video0.
(par exemple, pour filmer depuis la caméra avant du N900, ça donnera mplayer tv:// -tv device=/dev/video1 -vo png -frames $nb_frame;)
@Gambas Eater : pas mal ton script. Enfin j'ai juste matter les vidéos, et le resultat est vraiment sympa !