You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ffmpeg或ffprobe获取H.264视频每帧的参考帧列表?

H.264视频参考帧列表获取方法

用ffmpeg/ffprobe实现的方案

ffmpeg/ffprobe本身支持输出解码器调试信息,可以直接提取到每帧对应的参考帧列表,不需要额外开发:

  • 执行以下命令即可同时输出帧序号、帧类型和对应参考帧列表:
ffprobe -v trace -show_entries frame=key_frame,pkt_pts,pict_type -of csv 你的视频文件路径 2>&1 | grep -E '(List of reference frames|frame,'
  • 输出结果中,frame,开头的行按顺序对应每帧的基础信息,紧接其后的List of reference frames开头的行就是当前帧的参考帧编号,逐行对应整理后就能得到你需要的格式:

    帧0:参考帧0
    帧1:参考帧0
    帧2:参考帧1、3
    帧3:参考帧0
    如果是Windows系统没有grep工具,可以把命令中2>&1 | grep -E '(List of reference frames|frame,'部分去掉,直接把所有输出导出到文本文件后手动筛选相关行即可

其他可实现该需求的工具

  • Elecard StreamEye:专业的视频码流分析工具,支持可视化查看H.264每帧的参考关系,也支持批量导出所有帧的参考帧列表,适合需要同时分析码流其他参数的场景。
  • 开源h264bitstream库:可以解析裸H.264码流的所有头部字段,自行编写简单脚本提取slice头部的参考帧列表字段,即可自定义输出格式。

内容的提问来源于stack exchange,提问作者Reasno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:15:04