使用v4l2loopback和GStreamer与MJPEG相机。

问题描述 投票:0回答:1

我有一台4k相机,有MJPEG和YUY2格式。目前,我可以运行

$ gst-launch-1.0 v4l2src device=/dev/video1 ! "video/x-raw,format=YUY2,width=640,height=480,framerate=30/1" ! tee name=t ! queue ! v4l2sink device=/dev/video20 t. ! queue ! v4l2sink device=/dev/video21
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

和流 video1 图像到两个不同的设备。

Q: 如何将MJPEG图像从 video1 对两个 video20video21,它们在 YUY2 格式。

gstreamer pipeline mjpeg
1个回答
1
投票

在MJPEG的情况下,你需要添加 image/jpeg 帽到v4l2src。帽后 v4l2src 你需要把它转换为原始视频。

Gstreamer有 jpegdecavdec_mjpeg 插件。在我目前的版本中 jpegdec 不支持 YUY2 输出,所以我会用 avdec_mjpeg. 另外,你可以使用 jpegdecvideoconvert (即。... ! jpegdec ! videoconvert ! ...).

下面一行应该就可以了。

gst-launch-1.0 v4l2src device=/dev/video1 ! "image/jpeg,width=3840,height=2160,framerate=30/1" ! avdec_mjpeg ! "video/x-raw,format=YUY2,width=3840,height=2160,framerate=30/1" ! tee name=t ! queue ! v4l2sink device=/dev/video20 t. ! queue ! v4l2sink device=/dev/video21
© www.soinside.com 2019 - 2024. All rights reserved.