1

I am trying to resize a transparent gif using ffmpeg. link here

This is the command I am using to resize the GIF

ffmpeg -i default.gif -filter_complex "[0:v] scale=320:-1:flags=lanczos,split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse" resize.gif

The problem is with the output. I am not sure the best way to describe it, but lets say the output GIF has huge "banding/ trailing" effect ( not desired ).

Sample output of the file is here Output here

I am not sure what is it that I am doing wrong and how can I fix this banding/ trailing effect.

I am using FFMPEG on macOS Mojave, ffmpeg version is 4.1.1. Below is the output of the command

ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, gif, from 'ear_s_01.gif':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: gif, bgra, 640x480, 12.50 fps, 12.50 tbr, 100 tbn, 100 tbc
Stream mapping:
  Stream #0:0 (gif) -> scale
  paletteuse -> Stream #0:0 (gif)
Press [q] to stop, [?] for help
Output #0, gif, to 'resize.gif':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: gif, pal8, 320x240, q=2-31, 200 kb/s, 12.50 fps, 100 tbn, 12.50 tbc
    Metadata:
      encoder         : Lavc58.35.100 gif
[Parsed_palettegen_2 @ 0x7f7f19001180] 255(+1) colors generated out of 91324 colors; ratio=0.002792
[Parsed_palettegen_2 @ 0x7f7f19001180] Dupped color: FF100C0A
frame=   37 fps=0.0 q=-0.0 Lsize=     453kB time=00:00:02.89 bitrate=1283.8kbits/s speed=7.33x    
video:452kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.237091%
1

There was a bug in the GIF encoder, with transparency. Fixed on 13 Dec 2018. Get a newer build from https://ffmpeg.zeranoe.com/builds/.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.