kar*_*ice 15 gif ffmpeg animated-gif framerate
我最近一直在玩 FFmpeg 并且我正在尝试转换.avi,.gif因为到目前为止我尝试过的其他方法效果不佳。
我注意到的是,当我使用这个命令时:
ffmpeg -I filename.gif
Run Code Online (Sandbox Code Playgroud)
我可以看到一些文件信息,包括 FPS。
而且我看到,为了让您转换为 gif 的视频不会变慢,可能的最高 FPS 是 50 FPS。
现在是正确的吗?GIF 中可以拥有的最高 FPS 数量是不是 50 FPS 就不会变慢?
那么 60 FPS 的 GIF 不存在吗?
dir*_*rkt 25
该GIF98a规范说,在有关的部分图形控制扩展
vii) 延迟时间——如果不是 0,该字段指定在继续处理数据流之前等待的百分之一 (1/100) 秒。渲染图形后,时钟立即开始滴答作响。该字段可以与用户输入标志字段结合使用。
这意味着对于 100 FPS 的图像速率,最小值是 1(这在大多数显示器上很难渲染......),对于 50 FPS 的图像速率,下一个最小值是 2,下一个值为 3图像速率为 33.3 FPS。所以完全 60 FPS 是不可能的。
请注意,此扩展适用于具有几秒级延迟的少数帧(最大延迟约为 600 秒),因此 1/100 秒分辨率就足够了。它当然不适用于视频,这就是场编码延迟而不是帧速率的原因。
制作视频 GIF 确实是对规范的滥用(尽管现在它是如此普遍以至于大多数人可能没有意识到这一点,就像大多数人没有意识到 GIF 和 JPEG 使用不同类型的压缩一样,并且旨在使用在不同类型的图像上)。
Gya*_*yan 11
使用 ffmpeg,这是模拟 60 fps 滚动平均值的基本格式
ffmpeg -i video.mp4 -vf "settb=1/100,setpts='if(eq(N,0),0,if(not(mod(N,3)),PREV_OUTPTS+1,PREV_OUTPTS+2))'" -vsync vfr -r 100 out.gif
Run Code Online (Sandbox Code Playgroud)
要使用 ffmpeg 读取这些文件,同时保留这些时间,请使用
ffmpeg -min_delay 1 -i out.gif ...
Run Code Online (Sandbox Code Playgroud)
这将显示
Stream #0:0: Video: gif, bgra, 1280x720 [SAR 64:64 DAR 16:9], 60 fps, 100 tbr, 100 tbn, 100 tbc
Run Code Online (Sandbox Code Playgroud)
任何给定的球员是否满足这些时间要求是另一回事。
| 归档时间: |
|
| 查看次数: |
10220 次 |
| 最近记录: |