Bonjour,
[size=50]Je suis en train d’écrire un petit script pour faire un timelapse, en utilisant ffmpeg. Pour celà, je souhaite capturer un image toutes les x secondes de ma webcam, qui pour l’instant écrit dans /dev/video0.
J’aimerais seulement prendre un instantané, pas de son, pas de vidéo, pas d’envois par ftp avec tunnel ssh ou de serveur vidéo sur le port 9192, etc… Juste une image (à croire que tout le monde cherche trop compliqué : toutes les demandes d’aide en googlant sont faites pour ce que j’ai décris juste avant… ARG !)
Est-ce qu’il serait par exemple possible de le faire avec un utilitaire installé de manière basique avec linux ? J’aimerais ne pas m’encombrer de programme externe (j’en ai déjà testé 5 ou 6, qui tous ne correspondent pas exactement, sont très lourds, ouvrent un port pour transmettre, n’ont pas les bonnes dépendances, n’enregistrent pas UNE image mais une vidéo… sigh), mais si nécessaire, le plus léger possible. L’alternative, c’est d’utiliser ffmpeg (je sais qu’on peut enregistrer une vidéo de X11, j’imagine qu’en peut en extraire une image… Mais je n’arrive pas à trouver la commande pour extraire une image de /dev/video0), puisque je dois de toute façon l’utiliser pour créer le timestamp avec toutes les images.
Edit : par utilitaire basique de linux, j’entendrais par exemple quelque chose comme echo /dev/video0 | monimage.bmp… c’est peut être naif, mais quelque chose comme une redirection d’un instantané me satisferait parfaitement. D’autant plus qu’en tant que script, j’aimerais bien qu’il puisse servir sans devoir installer plein de trucs…[/size]
Edit2 : bon, un ptit café et hop :
ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 ~/test.jpg
Je pense que la commande est bonne, mais /dev/video0 me retourne une erreur :
[video4linux2 @ 0xe7e480][3]Capabilities: 5000001
[video4linux2 @ 0xe7e480]Cannot find a proper format.
/dev/video0: I/O error occurred
Usually that means that input file is truncated and/or corrupted.
Cependant, /dev/video0 est bien accessible, par exemple avec vlc, en utilisant v4l2.