使用命令行或Qt API使用gst-launch后清除/dev/fb0最后一个视频帧



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

命令是这样的:

gst-launch-1.0 imxg2dcompositor name=相机背景颜色=0x000000Sink_0::xpos=200 Sink_0::ypos=90 Sink_0::width=450 Sink_0::height=350! 视频/x-raw、宽= 800,高= 480 !imxg2dvideosinkFramebuffer =/dev/fb0 use-vsync=true imxv4l2videosrc device=/dev/video0输入= 4 !相机。sink_0 - e

我使用Qt框架(5.6)中的QProcess对象启动此命令,当我调用"kill","close"或"terminate"方法时,我总是以显示从相机拍摄的最后图像的屏幕结束,我想让屏幕清晰。是否有一种方法来清除/dev/fb0使用gst发射命令?

对于GStreamer命令行来说,这可能是不可能的,因为您正在使用帧缓冲区,并且在默认情况下,当您杀死或终止进程时,它将保持打开状态。您可以尝试运行一个系统命令与它一起尝试使用- echo 1 > /sys/class/graphics/fb0/blank将关闭它。

你可以"把它涂成黑色",而不是关闭它。0:

dd if=/dev/zero count=1000 bs=1024 > /dev/fb0 # adjust count for size of screen

相关内容

最新更新