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

标签 ffmpeg framebuffer bitstream

我有数千个形状为 (3, 225, 400) 的帧数组 (NumPy),它们是从游戏屏幕获得的。
这些帧缓冲区中的每一个都有一个标签(屏幕类和时间戳)。我想从这些数组中创建一个比特流,用于使用 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

关于FFmpeg - 如何将原始屏幕缓冲区(帧数组)编码为比特流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65340127/

相关文章:

video - 使用 ffmpeg 转换适合支持 MPEG-4/DivX 的 DVD 播放器的 mkv 或 mp4

c++ - 具有渲染到纹理 iOS : nothing shown 的 OpenGL ES 2.0 帧缓冲区

ffmpeg - 使用ffmpeg垂直或水平堆叠(马赛克)几个视频?

audio - ffmpeg 修改音频长度/大小(拉伸(stretch)或收缩)

Android读取fb0总是给我黑屏

opengl - 使用 GLSL 帧缓冲区渲染时出错

haskell - Haskell 中的高效比特流

c - 如何编写比特流

c - 用C将比特流写入文件

ffmpeg - 稳定 ffmpeg rtsp 到 hls 转复用