使用qt的qcamera采集rk_hdmirx输入的视频流报错

固件类型:自行编译的固件
SDK包名称:rk3588_linux_release_20230114_v1.0.6c
SDK修改内容:使用buildroot编译,qt运行环境wayland
Log日志:log.zip

本帖最后由 drinker 于 2023-10-8 17:10 编辑

通过hdmi输入接口的设备为/dev/video40,信息如下

root@rk3588:/# v4l2-ctl -d /dev/video40  -V -D
Driver Info:
        Driver name      : rk_hdmirx
        Card type        : rk_hdmirx
        Bus info         : fdee0000.hdmirx-controller
        Driver version   : 5.10.160
        Capabilities     : 0x84201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format
Format Video Capture Multiplanar:
        Width/Height      : 1920/1080
        Pixel Format      : 'BGR3' (24-bit BGR 8-8-8)
        Field             : None
        Number of planes  : 1
        Flags             : premultiplied-alpha, 0x000000fe
        Colorspace        : sRGB
        Transfer Function : Unknown (0x000000b8)
        YCbCr/HSV Encoding: Unknown (0x000000ff)
        Quantization      : Full Range
        Plane 0           :
           Bytes per Line : 5760
           Size Image     : 6220800

使用gstreamer可以正常采集并通过hdmi输出到显示器,命令如下:

 gst-launch-1.0 v4l2src device=/dev/video40 ! video/x-raw, width=1920, height=1080,framerate=60/1 ! queue max-size-bytes=0 ! kmssink connector-id=205 plane-id=54 fullscreen=1

使用qt的 qcamera和QCameraViewfinder采集视频并显示报以下错误:

root@rk3588:/opt/padview/bin# ./padview
QStandardPaths: runtime directory '/var/run' is not a directory, but a symbolic link to a directory permissions 0755 owned by UID 0 GID 0
arm_release_ver: g13p0-01eac0, rk_so_ver: 3
0:00:00.016594085  3305   0x7f7c004d60 WARN                 default descriptions.c:825:format_info_get_desc: Missing mpegversion field in mpeg video caps video/mpeg, systemstream=(boolean)false
CaptureMode Supported CaptureVideo.
Using mplane plugin for capture
0:00:03.233958575  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3159:gst_v4l2_object_get_nearest_size:<camera_source:src> Unable to try format: Invalid argument
0:00:03.234863908  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3031:gst_v4l2_object_probe_caps_for_format:<camera_source:src> Could not probe minimum capture size for pixelformat NV12
0:00:03.236401284  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3159:gst_v4l2_object_get_nearest_size:<camera_source:src> Unable to try format: Invalid argument
0:00:03.237765409  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3037:gst_v4l2_object_probe_caps_for_format:<camera_source:src> Could not probe maximum capture size for pixelformat NV12
0:00:03.239355284  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3159:gst_v4l2_object_get_nearest_size:<camera_source:src> Unable to try format: Invalid argument
0:00:03.240678867  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3031:gst_v4l2_object_probe_caps_for_format:<camera_source:src> Could not probe minimum capture size for pixelformat NV16
0:00:03.242223534  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3159:gst_v4l2_object_get_nearest_size:<camera_source:src> Unable to try format: Invalid argument
0:00:03.243586493  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3037:gst_v4l2_object_probe_caps_for_format:<camera_source:src> Could not probe maximum capture size for pixelformat NV16
0:00:03.245185701  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3159:gst_v4l2_object_get_nearest_size:<camera_source:src> Unable to try format: Invalid argument
0:00:03.246496743  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3031:gst_v4l2_object_probe_caps_for_format:<camera_source:src> Could not probe minimum capture size for pixelformat NV24
0:00:03.248046368  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3159:gst_v4l2_object_get_nearest_size:<camera_source:src> Unable to try format: Invalid argument
0:00:03.249413243  3305   0x7f7c004d60 WARN                    v4l2 gstv4l2object.c:3037:gst_v4l2_object_probe_caps_for_format:<camera_source:src> Could not probe maximum capture size for pixelformat NV24
Using mplane plugin for capture
Unable to query the parameter info: QCameraImageProcessingControl::WhiteBalancePreset : "Invalid argument"
Unable to query the parameter info: QCameraImageProcessingControl::ColorTemperature : "Invalid argument"
Unable to query the parameter info: QCameraImageProcessingControl::ContrastAdjustment : "Invalid argument"
Unable to query the parameter info: QCameraImageProcessingControl::SaturationAdjustment : "Invalid argument"
Unable to query the parameter info: QCameraImageProcessingControl::BrightnessAdjustment : "Invalid argument"
Unable to query the parameter info: QCameraImageProcessingControl::SharpeningAdjustment : "Invalid argument"
0:00:03.285435080  3305   0x7f7c004d60 WARN            videoencoder gstvideoencoder.c:1797:gst_video_encoder_change_state:<mppvp8enc1> error: Failed to start encoder
CameraBin error: "Could not initialize supporting library."

通过各种网络查询大概是说没有找到正确的gstreamer插件,需要配置GST_PLUGIN_PATH环境变量,尝试了也没有解决,请问需要怎么处理呢,谢谢!

tchip_askquestions
log.zip (36.9 KB)