我有一台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
对两个 video20
和 video21
,它们在 YUY2
格式。
在MJPEG的情况下,你需要添加 image/jpeg
帽到v4l2src。帽后 v4l2src
你需要把它转换为原始视频。
Gstreamer有 jpegdec
和 avdec_mjpeg
插件。在我目前的版本中 jpegdec
不支持 YUY2
输出,所以我会用 avdec_mjpeg
. 另外,你可以使用 jpegdec
与 videoconvert
(即。... ! 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