0

我正在使用 gst-launch 在嵌入式 linux 系统的 /dev/fb0 帧缓冲区中开始流式传输相机。我无权访问ioctl.hfb.h手动执行 memset。

命令是这样的:

gst-launch-1.0 imxg2dcompositor name=camera background-color=0x000000 sink_0::xpos=200 sink_0::ypos=90 sink_0::width=450 sink_0::height=350!视频/x-raw,宽度=800,高度=480!imxg2dvideosink framebuffer=/dev/fb0 use-vsync=true imxv4l2videosrc device=/dev/video0 input=4 !camera.sink_0 -e

我使用 Qt Framework (5.6) 中的 QProcess 对象启动此命令,当我调用“kill”、“close”或“terminate”方法时,我总是会看到屏幕显示从相机拍摄的最后一张图像,我会喜欢让屏幕清晰。有没有办法清除/dev/fb0使用 gst-launch 命令?

4

1 回答 1

1

GStreamer 命令行可能无法做到这一点,因为您使用的是帧缓冲区,并且默认情况下,当您终止或终止进程时它保持打开状态。您可以尝试运行系统命令并尝试使用 -echo 1 > /sys/class/graphics/fb0/blank将其关闭。

您可以用零“将其涂成黑色”,而不是将其关闭:

dd if=/dev/zero count=1000 bs=1024 > /dev/fb0 # adjust count for size of screen
于 2016-09-30T09:48:42.043 回答