J'ai 277 fichiers png 800x600 avec des noms de fichiers au format island_sizes-CSH (II) - ###. Png où ### est un nombre commençant par 084 et se terminant à 360.
Je fais
ffmpeg -i island_sizes-CSH\(II\)-*.png output.mpg -y
mais ça ne marche pas:
ffmpeg -f image2 -i island_sizes-CSH \ (II \) - *. png video.mpg -y ffmpeg version 1.2.1 Copyright (c) 2000-2013 les développeurs FFmpeg construit le 10 mai 2013 15:14:14 avec gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4) configuration: --prefix = / usr --libdir = / usr / lib64 --shlibdir = / usr / lib64 --mandir = / usr / share / man --enable-shared --enable-runtime-cpudetect --enable- gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libopencv --enable- libdc1394 --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --extra-cflags = '- O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions - fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = generic -fPIC '--disable-stripping libavutil 52. 18.100 / 52. 18.100 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.104 / 54. 63.104 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 42.103 / 3. 42.103 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Entrée # 0, image2, de 'island_sizes-CSH (II) -084.png': Durée: 00: 00: 00.04, début: 0.000000, débit: N / A Stream # 0: 0: Vidéo: png, rgba, 800x600 [SAR 3937: 3937 DAR 4: 3], 25 tbr, 25 tbn, 25 tbc [png @ 0x1468c20] ff_frame_thread_encoder_init a échoué Sortie # 0, image2, vers 'island_sizes-CSH (II) -085.png': Stream # 0: 0: Vidéo: png, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Sortie # 1, image2, vers 'island_sizes-CSH (II) -086.png': Stream # 1: 0: Vidéo: png, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc ... Sortie # 274, image2, vers 'island_sizes-CSH (II) -359.png': Stream # 274: 0: Vidéo: aucun, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Sortie # 275, image2, vers 'island_sizes-CSH (II) -360.png': Stream # 275: 0: Vidéo: aucun, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Sortie # 276, mpeg, vers 'video.mpg': Stream # 276: 0: Vidéo: aucun, yuv420p, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Cartographie de flux: Flux # 0: 0 -> # 0: 0 (png -> png) Flux # 0: 0 -> # 1: 0 (png -> png) ... Flux # 0: 0 -> # 274: 0 (png -> png) Flux # 0: 0 -> # 275: 0 (png -> png) Flux # 0: 0 -> # 276: 0 (png -> mpeg1video) Erreur lors de l'ouverture de l'encodeur pour le flux de sortie # 218: 0 - peut-être des paramètres incorrects tels que bit_rate, taux, largeur ou hauteur
man mencoder
:mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4
, similaire pour ffmpegffmpeg
-mencoder
a une syntaxe complètement différente, malheureusement.Réponses:
Il s'agit de la mauvaise syntaxe pour passer plusieurs images en entrée
ffmpeg
. Veuillez consulter le guide Wiki FFmpeg sur la création d'un diaporama vidéo et lesimage2
options de démultiplexage .Vous devez lui dire d'utiliser trois chiffres pour les numéros de séquence et commencer à 84, c'est-à-dire
Quelques autres conseils:
MPEG-1 en tant que codec vidéo n'est pas optimal et vous donne une mauvaise qualité à des tailles de fichier élevées. À moins que vous ne vouliez une compatibilité avec les anciens appareils ou ordinateurs (ou Windows XP sans codecs), supprimez-le et utilisez un encodeur MPEG-4 Part 10 (H.264), tel que
libx264
:Pour un didacticiel sur les options x264 (comment changer la qualité, etc.), consultez le guide d'encodage x264 .
Les fichiers PNG utilisent un format de pixels RVB, qui n'est pas pris en charge dans les codecs vidéo normaux. Avec MPEG-1, cela n'a pas d'importance, mais avec les codecs MPEG-4, cela le ferait, car
ffmpeg
il convertirait automatiquement le format de pixel en YUV non sous-échantillonné. Dans ce cas, vous devez le traduire dans des formats sous-échantillonnés en chrominance tels que YUV 4: 2: 0, sinon votre vidéo risque de ne pas être lue dans la plupart des applications:la source