Erreur ffmpeg pour creer une video à partir d'images

Bonjour à tous,

Voilà je voudrais faire un petit script pour créer un petit film avec les images de ma webcam de video surveillance.
L 'idée chaque jour en fin de journée je crée mon petit film de la journée et j’efface les images.
Je bloque sur la création du film, j’utilise ffmpeg en ligne de commande pour creer mon film.
J’ai mes images(image_001.jpg, image_002.jpg, etc …) la ligne de commande serait donc d’après tout les forums que j’ai un peu visité, celle ci :
ffmpeg -f image2 -i image_%03d.jpg video.mpg

or moi ca ne marche pas, j’ai l’impression que mon bash ne traite pas l’expression régulière : %03d

voici l’erreur de retour :

FFmpeg version SVN-r22009, Copyright © 2000-2010 the FFmpeg developers
built on Feb 23 2010 23:02:30 with gcc 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)
configuration:
libavutil 50. 9. 0 / 50. 9. 0
libavcodec 52.55. 0 / 52.55. 0
libavformat 52.54. 0 / 52.54. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.10. 0 / 0.10. 0
image_%03d.jpg: no such file or directory

peut-être me manque t’il une librairie ?
je suis sur Debian Lenny 2.6.26-2-686

si quelqu’un a une idée je suis preneur.
Merci à tous

tiens, eh bien si tu pouvais m’indiquer comment tu as enregistré tes images à partir de ta webcam… je fais moi aussi un petit script (viewtopic.php?f=3&t=26267) de timelapse, et j’aimerais enregistrer les-dites images en utilisant si possible que ffmpeg ou des outils de base…

Pour ta commande, c’est bien ce qui est indiqué partout, donc…

Regarde peut être la doc de ffmpeg, le %03d doit être expliqué quelque part… (enfin, pour ma part, je n’en suis pas encore à résoudre ce soucis, même si je vois que je vais y être confronté…)

Bonjour,

Pour ma part l’enregistrement des images est géré par la webcam ip proprement dite, puisqu’elle dispose d’un firmware avec interface web, elle sait envoyer ses images sur un ftp ou par email sur détection où par interval régulier, electrique tu la pilote à distance par l’interface web. Totalement autonome.
Direct de chez les chinois.

http://cgi.ebay.fr/Professional-Wireless-IP-WiFi-Internet-Audio-Camera-Cam_W0QQitemZ260555916443QQcmdZViewItemQQptZPCA_Video_Conferencing_Webcams?hash=item3caa57c49b

a+
steph

Personnellement j’utilise jpegtoavi pour faire ça.
Tu trouveras le paquet chez moi sur

deb boisson.homeip.net/debian squeeze divers

Très pratique,

jpegtoavi -f FPS LARGEUR HAUTEUR liste…des…fichiers…jpeg > toto.avi

J’ai trouvé avec ffmpeg, mais merci quand même.

Eh bien indique la bonne syntaxe, ce serait sympa pour herault

Re

Je pense qu’il a trouvé la bonne syntaxe pour son problème à lui, malheureusement ca ne résoudra certainement pas le mien.
bouhhhhh snif snif

re bonjour

j’essai jpegtoavi, mais ne comprend pas bien comment lui indiquer ma liste de fichier ?

aujourd’hui elle va de images-1 à images-120 mais demain elle ira peut-etre jusqu’à images-240
faut-il que je passe par une boucle (je suis pô très fort dans les boucles).

Merci


par exemple. Tu peux faire
[code]ls images*.jpg |  xargs jpegtoavi -f 25 320 240 > toto.avi[/code]

en supposant des images sur 320x240

par exemple. Tu peux faire

en supposant des images sur 320x240

et quelque chose comme image-[x-y] ?

Il y a une chose que je ne comprends pas avec cette commande, c’est comment est-ce que ffmpeg transforme l’expression en liste de fichiers. J’ai beau éplucher la doc… ça viens donc du shell ? Mais en ce cas, pourquoi est-ce que image%d deviendrais image1 image2 image3 ? Jusqu’à combien ? Quelle sont les syntaxes de contrôle ? Est-ce spécifique à un shell ?

Peut être quelque chose comme ça :

cnt=$(ls -cr ./ | grep .jpg | tr -d '[a-z+.]' | tail -n 1) i=0 var="" while [ "$i" -ne "$cnt" ] do $i=$(($i+1)) $var=$(("${var}image${i}.jpg ")) done ffmpeg -f image2 -i $var video.avi

Edit : bon, quelques corrections, mais le script ne fonctionne pas. Enfin, vous avez la sctructure, vous pourrez retrouver ce qu’il faut en faire…

Eureka,

La 2 commande (avec jpegtoavi) de fran.b semble fonctionner, il me crée bien un fichier avi.Mais je n’arrive pas a le lire même sous windows.

Peut-être un problème de codec à la création ? Non ?

Quand a la commande avec ffmpeg j’ai moi aussi du mal à comprendre la syntaxe.
cette commande suppose que tes fichiers se nome déjà image-001.jpg — image-xxx.jpg

le %03d indique donc qu’il s’agit d’un nombre a trois décimales et il doit les prendre dans l’ordre, si j’ai bien compris

steph

Il te suffit d’encoder le truc après:

mencoder fichier.avi -nosound -ovc lavc -lavcopts vcodec=mpeg4:vhq:v4mv:trell:vbitrate=350 -ffourcc DIVX -o film.avi(adapte le bitrate)

ça j’avais bien saisi, ce que je ne vois pas, c’est comment est-ce que la syntaxe fonctionne… Tant pis, ce sera pour plus tard.

bonsoir,

Bon je m’ y suis remis un peu après le repas voilà où j’en suis:

1 : la commande mencoder n existe pas
2 : j’install donc mplayer
3 : la commande n’existe toujours pas
4 : je désinstalle mplayer et je télécharge les sources sur leur site
5 : configure, make , make install
6 : eureka !!! j’ai ma commande
7 :un petit copier coller de la ligne citée par fran.b
8 : oupss l’option -lavcopts n’est pas permise --> je l’enleve pour voir
9 : oupss : File not found: 'codec=mpeg4:vhq:v4mv:trell:vbitrate=350’V:0.000 [4:0]]
10: bon je cherche un peu partout telecharge des codec linux a droite a gauche … toujours pareil
11 : install vlc
12 :toujours pareil
bon ben je verrai ca demain

bisou bonne nuit

Bonjour,

Un petit essai ce matin m’a permis d’encoder ma video en flash, par contre aucune difference avec l’original c’est a dire film blanc d’environ 15 secondes.

je part au boulot

a+

[quote=“herault”]bonsoir,

Bon je m’ y suis remis un peu après le repas voilà où j’en suis:

1 : la commande mencoder n existe pas
2 : j’install donc mplayer [/quote]Illogique, il faut installer mencoder:

apt-get install mencoder

Mauvaise idée, tu écrases des librairies debian. Attends toi à des soucis avec vlc. Fais

./configure
make
checkinstall make install

[quote]6 : eureka !!! j’ai ma commande
7 :un petit copier coller de la ligne citée par fran.b
8 : oupss l’option -lavcopts n’est pas permise --> je l’enleve pour voir
[/quote]

Tu n’as pas compilé avec les bonnes options.

??

[quote]12 :toujours pareil
bon ben je verrai ca demain

bisou bonne nuit[/quote]

apt-get install mencoder

devrait régler le problème.

Bonjour à tous,

bien je m’y suis remis aujourd’hui

J’ai tout repris a zero, sur une machine virtuel avec debian lenny dessus.
rajouter les depots :

deb debian-multimedia.org lenny main
deb-src debian-multimedia.org lenny main
deb boisson.homeip.net/debian squeeze divers

apt-get install jpegtoavi
apt-get install mencoder

jusque là ça va.

creation du film :

ls webcams_*.jpg | xargs jpegtoavi -f 25 320 240 > webcams1.avi

la aussi ca mouline et ca me crée mon fichier avi de 45 secondes
par contre le film et noir pendant 45 secondes

j’essaye d’encoder avec :

mencoder webcams1.avi -nosound -ovc lavc -lavcopts codec=mpeg4:vhq:v4mv:trell:vbitrate=350 -ffourcc DIVX -o webcams2.avi

MEncoder dev-SVN-r26940 © 2000-2008 MPlayer Team
CPU: Intel® Xeon™ CPU 2.80GHz (Family: 15, Model: 2, Stepping: 9)
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Option lavcopts: Unknown suboption codec
Error parsing option on the command line: -lavcopts

Exiting… (error parsing command line)

donc l’option lavcopts pose encore problème

Retour au point de depart

Merci

toujours ce foutu probleme de codec

File not found: 'codec=mpeg4:vhq:v4mv:trell:vbitrate=350’V:0.000 [34:0]
Failed to open codec=mpeg4:vhq:v4mv:trell:vbitrate=350.
Cannot open file/device.

ca m’enerve

Pas «codec=» mais «vcodec=»

bonjour,

ou sont stoké les codecs sous linux, il y a t’il un moyen de les lister

erreur avec vcodec

ma ligne de commande :

mencoder webcams1.avi -nosound -ovc lavc vcodec=mpeg4:vhq:v4mv:trell:vbitrate=350 -ffourcc DIVX -o webcams3.avi

resultat:

MEncoder SVN-r30800-4.1.3 © 2000-2010 MPlayer Team
success: format: 0 data: 0x0 - 0x196ece4
AVI file format detected.
[aviheader] Video stream found, -vid 0
VIDEO: [MJPG] 320x240 24bpp 25.000 fps 7465.2 kbps (911.3 kbyte/s)
[V] filefmt:3 fourcc:0x47504A4D size:320x240 fps:25.000 ftime:=0.0400
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1

Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)

Forcing output FourCC to 58564944 [DIVX].
[mjpeg @ 0x8e38a80]dqt: 16bit precision
Could not find matching colorspace - retrying with -vf scale…
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x8e41640]BICUBIC scaler, from yuv422p to yuv420p using MMX2
videocodec: libavcodec (640x480 fourcc=58564944 [DIVX])
Writing header…
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Writing header…
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
[mjpeg @ 0x8e38a80]dqt: 16bit precision: 0min 0mb A-V:0.000 [0:0]
File not found: ‘vcodec=mpeg4:vhq:v4mv:trell:vbitrate=350’:0.000 [34:0]
Failed to open vcodec=mpeg4:vhq:v4mv:trell:vbitrate=350.
Cannot open file/device.