Eu tenho 277 arquivos 800x600 png com nomes de arquivos com o formato island_sizes-CSH (II) - ###. Png em que ### é um número que começa com 084 e termina em 360.
estou fazendo
ffmpeg -i island_sizes-CSH\(II\)-*.png output.mpg -y
mas não funciona:
ffmpeg -f image2 -i island_sizes-CSH \ (II \) - *. png video.mpg -y ffmpeg versão 1.2.1 Copyright (c) 2000-2013 os desenvolvedores do FFmpeg construído em 10 de maio de 2013 15:14:14 com gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4) configuração: --prefixo = / 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-percepções - fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = genérico -fPIC '--disable-stripping libavutil 52. 18.100 / 52. 18.100 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.104 / 54. 63.104 dispositivo de biblioteca 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 Entrada nº 0, imagem2, de 'island_sizes-CSH (II) -084.png': Duração: 00: 00: 00.04, início: 0.000000, taxa de bits: N / A Stream # 0: 0: Vídeo: png, rgba, 800x600 [SAR 3937: 3937 DAR 4: 3], 25 tbr, 25 tbn, 25 tbc [png @ 0x1468c20] Ff_frame_thread_encoder_init falhou Saída # 0, imagem2, para 'island_sizes-CSH (II) -085.png': Fluxo 0: 0: vídeo: png, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Saída # 1, imagem2, para 'island_sizes-CSH (II) -086.png': Fluxo # 1: 0: vídeo: png, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc ... Saída # 274, imagem2, para 'island_sizes-CSH (II) -359.png': Stream # 274: 0: Vídeo: none, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Saída # 275, imagem2, para 'island_sizes-CSH (II) -360.png': Stream # 275: 0: Vídeo: none, rgba, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Saída # 276, mpeg, para 'video.mpg': Stream # 276: 0: Vídeo: none, yuv420p, 800x600 [SAR 1: 1 DAR 4: 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc Mapeamento de stream: Fluxo # 0: 0 -> # 0: 0 (png -> png) Fluxo # 0: 0 -> # 1: 0 (png -> png) ... Fluxo # 0: 0 -> # 274: 0 (png -> png) Fluxo # 0: 0 -> # 275: 0 (png -> png) Stream # 0: 0 -> # 276: 0 (png -> mpeg1video) Erro ao abrir o codificador para o fluxo de saída # 218: 0 - talvez parâmetros incorretos como bit_rate, taxa, largura ou altura
man mencoder
:mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4
, similar para ffmpegffmpeg
-mencoder
tem uma sintaxe completamente diferente, infelizmente.Respostas:
Essa é a sintaxe incorreta para passar várias imagens como entrada
ffmpeg
. Veja o guia do FFmpeg Wiki sobre como criar uma apresentação de slides em vídeo e asimage2
opções de desmuxador .Você precisa dizer para usar três dígitos para os números de sequência e começar em 84, ou seja,
Algumas dicas adicionais:
O MPEG-1 como codec de vídeo é menos do que o ideal e oferece qualidade ruim em tamanhos de arquivo altos. A menos que você deseje compatibilidade com dispositivos ou computadores antigos (ou Windows XP sem codecs), raspe isso e use um codificador MPEG-4 Parte 10 (H.264), como
libx264
:Para um tutorial sobre as opções x264 (como alterar a qualidade etc.), consulte o guia de codificação x264 .
Os arquivos PNG usam um formato de pixel RGB, que não é suportado em codecs de vídeo normais. Com o MPEG-1, isso não importa, mas com os codecs MPEG-4, pois
ffmpeg
converteria automaticamente o formato de pixel em YUV não subamostrado. Nesse caso, você precisa traduzir isso para formatos com subamostras de croma , como YUV 4: 2: 0, caso contrário, seu vídeo poderá não ser reproduzido na maioria dos aplicativos:fonte