On 2018-01-07 00:16, Gyan Doshi wrote:
GIFs have a dedicated demuxer and don't work via the image2 demuxer.
Thank you for your reply, Gyan.
Oh wow, this seems like a pretty significant limitation on the image2
demuxer, and a deficiency in the documentation that this isn't
mentioned. I've filed a ticket about deficiencies in the image2
documentation.[1]
It seems this is a restriction on the input format. GIF inputs don't
work even to a non-GIF output.[2]
Try the concat demuxer, or ingest the two GIFs separately and use the
concat filter.
Well, the easiest workaround seems to be, convert the input images from
GIF to PNG format, then `ffmpeg -f image2` to combine them to a video.[3]
But I was also able to make the `concat` filter work.[4]
Thank you for your help, Gyan! Best regards,
—Jim DeLaHunt, Vancouver, Canada
[1] https://trac.ffmpeg.org/ticket/6950#ticket
[2] GIF inputs don't work even to a non-GIF output.
% ffmpeg -f image2 -i blue_%d.gif animated_blue_12.mp4
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter
--enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus
--enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug
--enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass
--enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig
--enable-libfreetype --enable-libfribidi --disable-indev=jack --enable-opencl
--disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2
--mandir=/opt/local/share/man --enable-shared --enable-pthreads
--cc=/usr/bin/clang --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl
--enable-postproc --enable-libx264 --enable-libxvid
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
[image2 @ 0x7f9ba4808000] Could not find codec parameters for stream 0 (Video:
none, none): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, image2, from 'blue_%d.gif':
Duration: 00:00:00.08, start: 0.000000, bitrate: N/A
Stream #0:0: Video: none, none, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (? (?) -> h264 (libx264))
Decoder (codec none) not found for input stream #0:0
[3] The image2 demuxer is effective at combining non-GIF inputs (here,
PNG) into an animated GIF video output
% ffmpeg -f image2 -i blue_%d.png animated_blue_12_from_png.gif
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter
--enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus
--enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug
--enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass
--enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig
--enable-libfreetype --enable-libfribidi --disable-indev=jack --enable-opencl
--disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2
--mandir=/opt/local/share/man --enable-shared --enable-pthreads
--cc=/usr/bin/clang --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl
--enable-postproc --enable-libx264 --enable-libxvid
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, image2, from 'blue_%d.png':
Duration: 00:00:00.08, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, pal8(pc), 212x318, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png (native) -> gif (native))
Press [q] to stop, [?] for help
Output #0, gif, to 'animated_blue_12_from_png.gif':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: gif, pal8, 212x318, q=2-31, 200 kb/s, 25 fps, 100 tbn,
25 tbc
Metadata:
encoder : Lavc57.107.100 gif
frame= 2 fps=0.0 q=-0.0 Lsize= 3kB time=00:00:00.05 bitrate=
423.8kbits/s speed=9.25x
video:2kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 44.596069%
[4] The concat filter is effective in combining GIF inputs into a video
output, here animated GIF output.
% ffmpeg -i blue_1.gif -i blue_2.gif -filter_complex "[0:v][1:v]
concat=n=2:v=1:a=0" -y animated_blue_12.gif
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter
--enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus
--enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug
--enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass
--enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig
--enable-libfreetype --enable-libfribidi --disable-indev=jack --enable-opencl
--disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2
--mandir=/opt/local/share/man --enable-shared --enable-pthreads
--cc=/usr/bin/clang --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl
--enable-postproc --enable-libx264 --enable-libxvid
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, gif, from 'blue_1.gif':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: gif, bgra, 212x318, 10 tbr, 100 tbn, 100 tbc
Input #1, gif, from 'blue_2.gif':
Duration: N/A, bitrate: N/A
Stream #1:0: Video: gif, bgra, 212x318, 10 tbr, 100 tbn, 100 tbc
Stream mapping:
Stream #0:0 (gif) -> concat:in0:v0
Stream #1:0 (gif) -> concat:in1:v0
concat -> Stream #0:0 (gif)
Press [q] to stop, [?] for help
Output #0, gif, to 'animated_blue_12.gif':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: gif, bgr8, 212x318, q=2-31, 200 kb/s, 10 fps, 100 tbn,
10 tbc (default)
Metadata:
encoder : Lavc57.107.100 gif
frame= 2 fps=0.0 q=-0.0 Lsize= 1kB time=00:00:00.11 bitrate=
102.7kbits/s speed=24.9x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 137.310928%
--
--Jim DeLaHunt, [email protected] http://blog.jdlh.com/ (http://jdlh.com/)
multilingual websites consultant
355-1027 Davie St, Vancouver BC V6E 4L2, Canada
Canada mobile +1-604-376-8953
_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".