MP4 H264 VBR,如何获取每一秒视频的比特率?

MP4 H264 VBR, How to get the bitrate for each second of video?

我有一些用 H264 编码的 MP4 视频显示在我的网站上。

我担心的是带宽消耗。我正在尝试限制带宽以不发送超过某个时间间隔所需的 MP4 视频数据。

例如,假设视频的第一秒比特率为 100KB。在这种情况下,我只需要在第一秒内向浏览器发送 100KB 的视频数据。

我的问题是每一秒都获得这样的价值。有没有办法在视频编码后获得这些信息?有没有办法通过从 ffmpeg 编码控制台抓取数据来获取此类信息?或者是否有任何低级 API (C,C++,...) 来做这样的工作?

谢谢!

除了实际处理 MP4 格式数据之外,我无法想象可能的方法。

VBR 表示质量约束编码而不是带宽。没有关于比特率统计的信息。

阅读 MP4 格式并不是那么困难的工作(当然不是微不足道的)。基本上我们只需要样本大小信息和帧率(如果是固定帧率)。

对于读取和解析 MP4 格式,这看起来很有希望:https://code.google.com/p/mp4v2/