【发布时间】:2017-03-17 22:51:22
【问题描述】:
当我对动画 gif 使用 ffprobe 时,除其他外,我得到:
> ffprobe.exe foo.gif
. . .
Stream #0:0: Video: gif, bgra, 500x372, 6.67 fps, 6.67 tbr, 100 tbn, 100 tbc
太棒了;这告诉我帧速率是每秒 6.67 帧。但我将在程序中使用它并希望它以解析的格式。 ffprobe 做 json,但是当我使用它时:
> ffprobe.exe -show_streams -of json foo.gif
json显示:
"r_frame_rate": "20/3",
"avg_frame_rate": "20/3",
但我想要十进制形式 6.67 而不是 20/3。有没有办法让 FFProbe 以十进制生成其 JSON 输出?我似乎在文档中找不到它。
我的平台是 Windows; FFProbe 版本为 N-68482-g92a596f。
我确实考虑过使用 ImageMagick,但有问题的 GIF 文件已损坏(我正在开发一个简单的修复程序); IM 的“识别”命令停止,而 FFMpeg 和 FFProbe 处理得很好。
补充:现在这有点学术;我刚刚使用(在 Python 中):
framerate_as_decimal = "%4.2f" % (float(fractions.Fraction(framerate_as_fraction)))
但我还是有点好奇是否有答案。
【问题讨论】:
标签: json ffmpeg animated-gif frame-rate ffprobe