将图像写入 linux 帧缓冲区会扭曲图像 C++

时间:2021-04-08 13:41:15

标签: c++ image ffmpeg framebuffer

我正在尝试从 teledyne Dalsa Genie Nano 相机设置 rtsp 视频流。对于抓取图像,我使用的是这家公司提供的框架。 对于 rtsp 流,我将使用 ffmpeg tool that can stream video directly from linux frame buffer
所以我试图通过 memcpy 函数写这个图像,此时图像没有正确记录。因为当我尝试在输出中使用 ffmpeg 从 Facebook 截取屏幕截图时,我的图像已损坏。
以下是一些信息: image from camera 在框架中,我有一个图像对象,其中包含:

  1. void *address(一帧的地址)
  2. 整数宽度 (1280)
  3. 整数高度 (1024)
  4. 整数深度 (1)

于是我写了一个函数: my function

它工作正常,没有任何错误,但是当我从 帧缓冲区 (fb) 打印图像时,我有

this

我认为这是因为 fb 设备深度为 32 而帧深度为 1。

我说得对吗?

我尝试使用 fbset 工具更改 fb 设备深度,但它返回错误 - console error output

我用于从 fb 获取图像的命令:sudo ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 screenAA3.jpeg

谁能告诉我我做错了什么?

0 个答案:

没有答案
相关问题