Influence of Internal Codecs
When a GIF is decoded, ffmpeg uses different decoders depending on the platform. Windows may use an internal wrapper that retains duplicate frames, while Xubuntu uses an optimized decoder that eliminates duplicates.Visible Results
Thus, on Windows, you will observe that 3 out of 4 frames are retained because the system rounds and keeps extra images. On Xubuntu, only 1 out of 4 frames remains because the interpretation is stricter and conforms to the filter.Practical Solutions
To standardize the behavior, you can:
Use -vsync 0 to disable resynchronization.
Replace setpts=N/FRAME_RATE/TB with setpts=PTS-STARTPTS for a more stable calculation.
Try -skip_frame nokey or -skip_frame noref to force identical logic.
This allows for a consistent rendering between Windows and Xubuntu.