可以使用gstreamer播放YUYV 4:2:2格式封装的RAW视频吗?

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

我有基于 Infineon CX3 控制器的定制 USB UVC 相机。 我发送以 YUYV 4:2:2 格式封装的 RAW10(两个字节中的 1 个像素,LSB 在前,RGGB Bayer 模式)数据帧。

可以使用 gst-launch-1.0 应用程序播放格式吗?

现在,我可以使用下一个管道播放相机流:

gst-launch-1.0.exe -v autovideosrc ! video/x-raw,width=1280,height=720,format=YUY2 ! videoconvert ! fpsdisplaysink

capture

但是如果我尝试添加 debyer:

gst-launch-1.0.exe -v autovideosrc ! video/x-raw,width=1280,height=720,format=YUY2 ! videoconvert ! video/x-bayer,format=rggb,width=1280,height=720 ! bayer2rgb ! videoconvert ! fpsdisplaysink

我明白了:

WARNING: erroneous pipeline: could not link videoconvert0 to videoconvert1, neither element can handle caps video/x-bayer, width=(int)1280, height=(int)720, format=(string)rggb

我可以使用 v4l2 和 opencv 进行彩色去马赛克,但我想知道这是否可以使用 gstreamer 完成?

gstreamer yuv raw uvc
1个回答
0
投票

您可以通过检查元素的功能来检查元素的兼容性:

gst-inspect-1.0 bayer2rgb
gst-inspect-1.0 videoconvert

虽然我没有找到任何直接将 YUV 转换为 Bayer 的 gstreamer 元素,但您可以再添加一步:

使用 videoconvert YUV->RGB
RGB->Bayer 使用 rgb2bayer

我在示例管道上进行了测试,使用 videotestsrc 模拟您的输入:

gst-launch-1.0 videotestsrc ! video/x-raw, width=1280, height=720, format=YUY2 ! videoconvert ! rgb2bayer ! video/x-bayer,format=rggb, width=1280, height=720 ! bayer2rgb ! videoconvert ! fpsdisplaysink
© www.soinside.com 2019 - 2024. All rights reserved.