我使用ffmpeg将高质量视频转换为gif,大多数视频都是60fps以上720p,但是当我使用下面的代码时,将视频转换为gif,我的gif输出得到的fps非常低,
#!/usr/bin/env
palette=/tmp/pallete.png
filter="fps=50,scale=480:-1:flags=lanczos"
ffmpeg -y -i test.mov -vf $filter,palettegen=stats_mode=diff $palette
ffmpeg -y -i test.mov -i $palette -lavfi "$filter [x]; [x][1:v] paletteuse" test.gif
Run Code Online (Sandbox Code Playgroud)
我注意到的另一个问题是 - 随着宽度增加,720而不是480我得到甚至更低的fps.
这里是输出日志示例,输出fps低于分配的 50fps
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/201631203815.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.36.100
Duration: 00:00:05.48, start: 0.016000, bitrate: 1579 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1334x1334, 1576 kb/s, 60.18 fps, 60 tbr, 1000k tbn, 50 tbc (default) …Run Code Online (Sandbox Code Playgroud)