Yocto gst-launch-1.0 v4l2src video capture with v4l2h264enc codec issue with video capturing

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Yocto gst-launch-1.0 v4l2src video capture with v4l2h264enc codec issue with video capturing

Jump to solution
2,964 Views
Anton_K
Contributor III

Hello community!

Target machine:
SOM: IMX8QXP
OS: Linux yocto Kirkstone kernel 5.15.60

I'm trying to force H264 encoder to the v4l2src. For simple case I want to capture video and then play on screen, and I got some noise output with colored lines but with no target image. But it looks like depends on capture from camera (I see it via dynamic noise on output when moves on camera capture).
My pipeline looks like this:

XDG_RUNTIME_DIR=/run/user/0 GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video1 io-mode=dmabuf ! "video/x-raw,framerate=15/1,width=640,height=480" ! queue ! v4l2h264enc output-io-mode=dmabuf-import ! "video/x-h264,level=(string)3,profile=baseline" ! h264parse ! v4l2h264dec ! queue ! waylandsink sync=false


On the logs I can see the scope of warning, but can't resolve them by using google (leak of information) and also can't know does them the reason of that behavior:

XDG_RUNTIME_DIR=/run/user/0 GST_DEBUG=3,v4l2src*:3 gst-launch-1.0 v4l2src device=/dev/video1 io-mode=dmabuf ! "video/x-raw,framerate=15/1,width=640,height=480" ! queue ! v4l2h264enc output-io-mode=dmabuf-import ! "video/x-h264,level=(string)3,profile=baseline" ! h264parse ! v4l2h264dec ! queue ! waylandsink sync=false
Setting pipeline to PAUSED ...

====== V4L2DEC: 1.20.0 build on Apr 24 2022 09:19:42. ======
0:00:01.585080553   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:01.585389432   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:sink> Unsupported field type for H264@1x1: 0
0:00:01.585510184   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:sink> Unable to try format: Inappropriate ioctl for device
0:00:01.585569685   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:3047:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:sink> Could not probe minimum capture size for pixelformat H264
0:00:01.585617435   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:01.585678311   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:sink> Unsupported field type for H264@32768x32768: 0
0:00:01.585723187   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:sink> Unable to try format: Inappropriate ioctl for device
0:00:01.585773937   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:3053:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:sink> Could not probe maximum capture size for pixelformat H264

====== V4L2ENC: 1.20.0 build on Apr 24 2022 09:19:42. ======
0:00:01.587474710   498 0xaaaac346dc70 WARN                    v4l2 gstv4l2object.c:4623:gst_v4l2_object_probe_caps:<v4l2h264enc0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
Pipeline is live and does not need PREROLL ...
0:00:01.591065884   498 0xaaaac36d5400 WARN                    v4l2 gstv4l2object.c:4623:gst_v4l2_object_probe_caps:<v4l2src0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:01.598264981   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:4623:gst_v4l2_object_probe_caps:<v4l2h264dec0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
0:00:01.598429108   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:01.598495484   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NT12@1x1: 0
0:00:01.598544485   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:01.598594735   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3047:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe minimum capture size for pixelformat NT12
0:00:01.598638986   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:01.598708362   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NT12@32768x32768: 0
0:00:01.598754487   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:01.598803863   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3053:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe maximum capture size for pixelformat NT12
0:00:01.599053242   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:01.599118492   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NV12@1x1: 0
0:00:01.599163868   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:01.599216619   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3047:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe minimum capture size for pixelformat NV12
0:00:01.599259744   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:01.599325620   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NV12@32768x32768: 0
0:00:01.599371371   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:01.599420246   498 0xaaaac36d5360 WARN                    v4l2 gstv4l2object.c:3053:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe maximum capture size for pixelformat NV12
Redistribute latency...
0:00:02.263237321   498 0xaaaac36d5360 WARN          v4l2bufferpool gstv4l2bufferpool.c:848:gst_v4l2_buffer_pool_start:<v4l2h264enc0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
0:00:02.287934279   498 0xaaaac36d5860 WARN          v4l2bufferpool gstv4l2bufferpool.c:1383:gst_v4l2_buffer_pool_dqbuf:<v4l2h264enc0:pool0:src> Driver should never set v4l2_buffer.field to ANY
0:00:02.298411420   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.308505306   498 0xaaaac36d5400 WARN                 v4l2src gstv4l2src.c:1123:gst_v4l2src_create:<v4l2src0> lost frames detected: count = 1 - ts: 0:00:00.716157632
0:00:02.311054841   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:4623:gst_v4l2_object_probe_caps:<v4l2h264dec0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
0:00:02.311230093   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:02.311326969   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NT12@1x1: 0
0:00:02.311389470   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:02.311456346   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3047:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe minimum capture size for pixelformat NT12
0:00:02.311513472   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:02.311587473   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NT12@32768x32768: 0
0:00:02.311646099   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:02.311712850   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3053:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe maximum capture size for pixelformat NT12
0:00:02.312133105   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:02.312223232   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NV12@1x1: 0
0:00:02.312285232   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:02.312350983   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3047:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe minimum capture size for pixelformat NV12
0:00:02.312408234   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:02.312482110   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NV12@32768x32768: 0
0:00:02.312536861   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:02.312600112   498 0xaaaac36d5860 WARN                    v4l2 gstv4l2object.c:3053:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe maximum capture size for pixelformat NV12
0:00:02.316744292   498 0xaaaac36d5860 WARN            v4l2videodec gstv4l2videodec.c:1072:gst_v4l2_video_dec_decide_allocation:<v4l2h264dec0> Duration invalid, not setting latency
0:00:02.334777536   498 0xaaaac36d5860 WARN            v4l2videodec gstv4l2videodec.c:557:get_hdr10_meta:<v4l2h264dec0:src> Failed to get hdr10 meta

0:00:02.381999672   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.386606983   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.387784999   498 0xffff88013b00 WARN            v4l2videodec gstv4l2videodec.c:783:gst_v4l2_video_dec_loop:<v4l2h264dec0> Received resolution change
0:00:02.390482036   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:4623:gst_v4l2_object_probe_caps:<v4l2h264dec0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
0:00:02.390743414   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:02.390829040   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NV12@1x1: 0
0:00:02.390878416   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:02.390930042   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:3047:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe minimum capture size for pixelformat NV12
0:00:02.390973167   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:2128:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:02.391030043   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:3165:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unsupported field type for NV12@32768x32768: 0
0:00:02.391074419   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:3175:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:src> Unable to try format: Inappropriate ioctl for device
0:00:02.391125044   498 0xffff88013b00 WARN                    v4l2 gstv4l2object.c:3053:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:src> Could not probe maximum capture size for pixelformat NV12
Redistribute latency...
0:00:02.408167523   498 0xffff88013b00 WARN            v4l2videodec gstv4l2videodec.c:557:get_hdr10_meta:<v4l2h264dec0:src> Failed to get hdr10 meta

0:00:02.452447369   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.456435548   498 0xaaaac36d51e0 WARN             waylandsink wlwindow.c:439:gst_wl_window_new_internal: init surface_state fail, fallback to scale=1 fullscreen (1280x768)
Redistribute latency...
0:00:02.516563606   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.583238003   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.650966289   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.717270055   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.783840951   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.850362970   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.916903490   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared
0:00:02.983520011   498 0xaaaac36d5860 FIXME           videoencoder gstvideoencoder.c:2412:gst_video_encoder_transform_meta_unlocked:<v4l2h264enc0> Can't copy metadata because input frame disappeared


Generally I'm trying to use H264 in webrtcbin, but testing encoder on simpler case.
Can't someone help me? What am I doing wrong?
Thanks in advance, Anton

0 Kudos
Reply
1 Solution
2,795 Views
Anton_K
Contributor III
Looks like something wrong with my hardware. Sorry for disturbing

View solution in original post

0 Kudos
Reply
2 Replies
2,887 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

 

Is probably that you are not in the correct linux version and this provoque that the plugins don't work according to. you better download the proper version from:

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Regards

0 Kudos
Reply
2,796 Views
Anton_K
Contributor III
Looks like something wrong with my hardware. Sorry for disturbing
0 Kudos
Reply