У меня есть 277 800x600 png файлов с именами файлов в формате island_sizes-CSH (II) - ###. Png, где ### - это число, начинающееся с 084 и заканчивающееся на 360.
я делаю
ffmpeg -i island_sizes-CSH\(II\)-*.png output.mpg -y
но это не работает:
ffmpeg -f image2 -i island_sizes-CSH \ (II \) - *. png video.mpg -y ffmpeg версия 1.2.1 Copyright (c) 2000-2013 разработчики FFmpeg построено 10 мая 2013 г. 15:14:14 с gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4) конфигурация: --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 -exxceptions - fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = универсальный -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 Введите # 0, image2, из 'island_sizes-CSH (II) -084.png': Длительность: 00: 00: 00.04, старт: 0.000000, битрейт: н / д Поток № 0: 0: видео: png, rgba, 800x600 [SAR 3937: 3937 DAR 4: 3], 25 тбр, 25 тбн, 25 тбк [png @ 0x1468c20] Ошибка ff_frame_thread_encoder_init Выведите # 0, image2, в 'island_sizes-CSH (II) -085.png': Поток # 0: 0: видео: png, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 кбит / с, 90 тыс. Тбн, 25 тбк Выведите # 1, image2, в 'island_sizes-CSH (II) -086.png': Поток # 1: 0: видео: png, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 кбит / с, 90 тыс. Тбн, 25 тбк ... Выведите # 274, image2, в 'island_sizes-CSH (II) -359.png': Поток # 274: 0: Видео: нет, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 кбит / с, 90 тыс. Тбн, 25 тбк Выведите # 275, image2, в 'island_sizes-CSH (II) -360.png': Поток # 275: 0: Видео: нет, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 кбит / с, 90 тыс. Тбн, 25 тбк Выведите # 276, mpeg, в «video.mpg»: Поток # 276: 0: видео: нет, yuv420p, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 кбит / с, 90 тыс. Тбн, 25 тбк Отображение потока: Поток № 0: 0 -> # 0: 0 (png -> png) Поток № 0: 0 -> # 1: 0 (png -> png) ... Поток № 0: 0 -> # 274: 0 (png -> png) Поток № 0: 0 -> # 275: 0 (png -> png) Поток # 0: 0 -> # 276: 0 (png -> mpeg1video) Ошибка при открытии кодировщика для выходного потока # 218: 0 - возможно, неверные параметры, такие как bit_rate, скорость, ширина или высота
man mencoder
:,mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4
аналогично для ffmpegffmpeg
-mencoder
имеет совершенно другой синтаксис, к сожалению.Ответы:
Это неправильный синтаксис для передачи нескольких изображений в качестве входных данных
ffmpeg
. Пожалуйста, ознакомьтесь с руководством FFmpeg Wiki по созданию видео слайд-шоу иimage2
опциями демультиплексора .Вы должны указать, чтобы использовать три цифры для порядковых номеров, и начать с 84, то есть
Некоторые дополнительные советы:
MPEG-1 в качестве видеокодека менее оптимален и дает плохое качество при больших размерах файлов. Если вам не нужна совместимость со старыми устройствами или компьютерами (или Windows XP без каких-либо кодеков), поцарапайте это и используйте кодер MPEG-4 Part 10 (H.264), например
libx264
:Руководство по настройке x264 (как изменить качество и т. Д.) См. В руководстве по кодированию x264 .
Файлы PNG используют пиксельный формат RGB, который не поддерживается в обычных видеокодеках. С MPEG-1 это не имеет значения, но с кодеками MPEG-4 это будет иметь значение, так как
ffmpeg
будет автоматически преобразовывать формат пикселей в YUV без субдискретизации. В этом случае вам нужно перевести это в форматы с суб-дискретизацией сигнала цветности, такие как YUV 4: 2: 0, иначе ваше видео может не воспроизводиться в большинстве приложений:источник