FFmpeg - 如何将原始屏幕缓冲区(帧数组)编码为比特流?

FFmpeg - How to encode raw screen buffers (frame arrays) into a bitstream?

我有数千个形状为 (3, 225, 400) 的帧数组 (NumPy),它们是从游戏屏幕中获取的。

这些帧缓冲区中的每一个都有一个标签(屏幕 class 和时间戳)。我想从这些数组创建一个比特流,用于使用 RNN 或类似的 ML 技术进行分析。

我可以使用 FFmpeg 创建比特流(例如,y 轴上的比特率,x 轴上的时间戳)吗?

感谢任何帮助,谢谢!

我使用一个名为 plotbitrate 的便捷工具解决了我的问题,该工具是在 FFmpeg 上开发的。使用 plotbitrate 很容易从视频中获取比特流数据的 CSV/XML 文件。

将帧缓冲区数组保存为 PNG 图像后,我使用 FFmpeg 从这些图像创建了一个视频。下面的 bash 命令分别根据输入视频生成 CSV 和 XML 比特流数据。

plotbitrate -f csv_raw -o frames.csv input.mp4
plotbitrate -f xml_raw -o frames.xml input.mp4