使用ffmpeg提取h.26x视频各个帧的量化参数

时间:2019-12-06 12:09:07

标签: ffmpeg h.264 ffprobe

如果我执行这样的命令:

$ ffmpeg -i video.mp4 -qphist -vf codecview=qp=true video_qp.mp4

我得到了跨帧类型的平均值的QP直方图,如下所示:

[libx264 @ 0x7f8386803c00] frame I:5     Avg QP:21.65  size:  5960
[libx264 @ 0x7f8386803c00] frame P:172   Avg QP:23.90  size:  3449
[libx264 @ 0x7f8386803c00] frame B:204   Avg QP:26.77  size:  1168

我想提取视频中每个单独帧的QP,而不是获取总体平均值。

是否可以使用ffmpeg或相关工具(例如ffprobe)来执行此操作?

1 个答案:

答案 0 :(得分:0)

ffmpeg似乎无法做到这一点。

如何:此处的此工具:https://github.com/slhck/ffmpeg-debug-qp非常有用。

您可以请求按宏块打印:

./ffmpeg_debug_qp video.mp4 2> qp-values.txt

然后转换为更友好的json:

./parse-qp-output.py -o qp-values.json -f qp-values.txt

或要求每一帧的平均值:

./parse-qp-output.py -o qp-values-avg.json -a -f qp-values.txt