Я пытаюсь сделать набор изображений, сделанных с интервалом в 1 секунду, чтобы сформировать видео с временным интервалом. Я полагал, что это будет легко с ffmpeg, но я сталкиваюсь с загадочными ошибками.
все изображения являются yuv420 jpeg, взяты из камеры android. Они сохраняются как отдельные файлы в папке, они все одинакового размера и формата. Они названы как последовательность 7-значных имен, начиная с нуля (так " 0000000.jpg " to " 0001000.jpg", в качестве примера).
Это мой строка (имена папок отредактированы для ясности):
avconv -r 1 -f image2 -i %07d.jpg -vcodec libx264 -crf 18 -preset slower video.mp4
Кажется большим, я вижу много сообщений от людей, которые говорят, что это работает для них.
однако ffmpeg дает мне это (жирный шрифт указывает на ошибку)
ffmpeg version 0.8.5-6:0.8.5-1, Copyright (c) 2000-2012 the Libav developers built on Jan 13 2013 12:05:48 with gcc 4.7.2 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. [mjpeg @ 0x233aea0] overread 8 Input #0, image2, from '%07d.jpg': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0.0: Video: mjpeg, yuvj420p, 640x480 [PAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc File 'video.mp4' already exists. Overwrite ? [y/N] y [buffer @ 0x233b340] w:640 h:480 pixfmt:yuvj420p [libx264 @ 0x2339fa0] using SAR=1/1 [libx264 @ 0x2339fa0] using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT [libx264 @ 0x2339fa0] profile Main, level 3.1 [libx264 @ 0x2339fa0] 264 - core 123 r2189 35cf912 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=8 deblock=1:0:0 analyse=0x1:0x131 me=umh subme=9 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=2 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=2 b_bias=0 direct=3 weightb=0 open_gop=1 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.25 aq=1:1.00 Output #0, mp4, to 'video.mp4': Metadata: encoder : Lavf53.21.1 Stream #0.0: Video: libx264, yuvj420p, 640x480 [PAR 1:1 DAR 4:3], q=-1--1, 25 tbn, 25 tbc Stream mapping: Stream #0.0 -> #0.0 Press ctrl-c to stop encoding [mjpeg @ 0x233aea0] overread 8 frame= 0 fps= 0 q=0.0 Lsize= 0kB time=10000000000.00 bitrate= 0.0kbits/s video:0kB audio:0kB global headers:0kB muxing overhead 610.000000%
импорт строк (который красный) являются те, которые говорят:"[mjpeg @ 0x233aea0] overread 8".
Это заставляет меня думать, что, возможно, он пытается читать изображения в формате JPEG движения вместо обычных файлов jpeg, и как-то не. Я пробовал с/без "- f image2", с тем же результатом. И я также пробовал использовать avconv, с тем же результатом.
Я должен отметить, что изображения действительны, и если я конвертирую их все в *.png (дорогостоящий и трудоемкий процесс) все это работает. Но я предпочел бы просто иметь возможность использовать JPEG-файлы без промежуточного преобразования. После всего, что ffmpeg-это для перекодирования.
есть ли у кого-нибудь хороший способ конвертировать *.jpg в видео с использованием ffmpeg?