Mat*_*att 5 video ffmpeg video-processing
最终目标是处理视频的RGB数据.
我试图读取我使用ffmpeg创建的文件的字节.
ffmpeg -video_size 100x100 -framerate 20 -f x11grab -i :0.0 \
-c:v rawvideo -pix_fmt rgb24 -video.nut
Run Code Online (Sandbox Code Playgroud)
我写了一个节点脚本,以便在需要时更容易读取二进制数据.我当前文件的输出是:
Hex Binary Row
47 01000111 0
40 01000000 1
11 00010001 2
10 00010000 3
03 00000011 4
00 00000000 5
00 00000000 6
00 00000000 7
68 01101000 8
Run Code Online (Sandbox Code Playgroud)
我看到了.nut的规格,但我无法弄明白.我希望能够解析每帧的RGB数据,以便为视频流中的每个"图像"留下RGB矩阵.谢谢!
如果您可以解析原始视频,则使用
ffmpeg -video_size 100x100 -framerate 20 -f x11grab -i :0.0
-c:v rawvideo -pix_fmt rgb24 -f rawvideo video.rgb
Run Code Online (Sandbox Code Playgroud)
输出的结构将是
R G B R G B R G B ...
Run Code Online (Sandbox Code Playgroud)
因此,每个三字节三元组代表一个按从左到右、从上到下的扫描顺序的像素。因此,对于一100x100帧,第 301 个字节是第 2 行第一个像素的 R 值。第 30000 个字节是右下角像素的 B 值。然后接下来的 30K 字节代表下一帧,依此类推。
这是原始视频流,因此不存在容器元数据或帧封装。只是一个无差别的像素通道值流。
| 归档时间: |
|
| 查看次数: |
891 次 |
| 最近记录: |