Eu tenho uma série de imagens PNG chamadas Temp01.png, Temp02.png, ..., Temp99.png que estou tentando converter em um filme usando o ffmpeg. Eu estou usando o comando:
ffmpeg -i Temp%02d.png -f avi -vcodec huffyuv output.avi
... mas sem sucesso. O comando funciona perfeitamente no Mac OS X 10.5 e no Ubuntu 12.10, mas não no Fedora 187.
Quando executado no Fedora, o ffmpeg gera um arquivo de filme de aproximadamente o tamanho certo, mas mostra apenas o primeiro quadro de todo o filme, ou seja, a imagem Temp01.png é mostrada para a duração total do filme. Controlar a taxa de quadros de entrada e / ou saída usando -r
parece não fazer nada além de modificar o tamanho do filme. Nenhuma mensagem de erro é gerada.
Eu reinstalei o ffmpeg e todos os pacotes relevantes do gstreamer dos repositórios. Eu ficaria grato se alguém pudesse me ajudar a diagnosticar o problema, ou me apontar na direção certa.
A saída do FFmpeg é a seguinte:
ffmpeg version 1.0.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 4 2012 08:14:17 with gcc 4.7.2 (GCC) 20121109 (Red Hat 4.7.2-8)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 51. 73.101 / 51. 73.101
libavcodec 54. 59.100 / 54. 59.100
libavformat 54. 29.104 / 54. 29.104
libavdevice 54. 2.101 / 54. 2.101
libavfilter 3. 17.100 / 3. 17.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, image2, from 'Temp%02d.png':
Duration: 00:00:03.64, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, rgb24, 947x946, 25 fps, 25 tbr, 25 tbn, 25 tbc
[huffyuv @ 0xfa6f20] using huffyuv 2.2.0 or newer interlacing flag
Output #0, avi, to 'output.avi':
Metadata:
ISFT : Lavf54.29.104
Stream #0:0: Video: huffyuv (HFYU / 0x55594648), rgb24, 947x946, q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png -> huffyuv)
Press [q] to stop, [?] for help
frame= 17 fps=0.0 q=0.0 size= 28257kB time=00:00:00.68 bitrate=340418.8kbitsframe= 30 fps= 28 q=0.0 size= 49862kB time=00:00:01.20 bitrate=340389.5kbitsframe= 41 fps= 26 q=0.0 size= 68142kB time=00:00:01.64 bitrate=340379.2kbitsframe= 54 fps= 26 q=0.0 size= 89747kB time=00:00:02.16 bitrate=340372.5kbitsframe= 67 fps= 26 q=0.0 size= 111351kB time=00:00:02.68 bitrate=340368.4kbitsframe= 78 fps= 25 q=0.0 size= 129632kB time=00:00:03.12 bitrate=340365.9kbitsframe= 87 fps= 24 q=0.0 size= 144588kB time=00:00:03.48 bitrate=340364.4kbitsframe= 91 fps= 24 q=0.0 Lsize= 151237kB time=00:00:03.64 bitrate=340367.1kbits/s
video:151230kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.005079%
A seguir, a saída de uma compilação estática do ffmpeg, executada no Mac OS X 10.5. Nesse caso, o filme é gerado conforme o esperado.
ffmpeg version 1.1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Feb 7 2013 11:12:33 with gcc 4.0.1 (GCC) (Apple Inc. build 5493)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86 --enable-runtime-cpudetect
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.106 / 54. 59.106
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, image2, from 'Temp%02d.png':
Duration: 00:00:03.64, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, rgb24, 1440x1080, 25 fps, 25 tbr, 25 tbn, 25 tbc
[huffyuv @ 0x1809e20] using huffyuv 2.2.0 or newer interlacing flag
Output #0, avi, to 'output.avi':
Metadata:
ISFT : Lavf54.59.106
Stream #0:0: Video: huffyuv (HFYU / 0x55594648), rgb24, 1440x1080, q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png -> huffyuv)
Press [q] to stop, [?] for help
frame= 91 fps= 15 q=0.0 Lsize= 216506kB time=00:00:03.64 bitrate=487257.2kbits/s
video:216498kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.003548%