Hi,
I'm working on MX6 solo / Yocto-4.1, and trying to streaming H264 encoded stream with clock overlay.
But lots of ERRORS are reported and no video stream is output.
Here is my sender pipeline:
export GST_DEBUG=*:1
gst-launch-1.0 -v rtpbin name=rtpbin \
imxv4l2src device=/dev/video0 ! 'video/x-raw, format=UYVY, width=640, height=480, framerate=60/1' ! tee name=vsrc vsrc. ! queue2 ! clockoverlay xpad=25 ypad=25 time-format="%Y/%m/%d %H:%M:%S" silent=false ! 'video/x-raw, format=UYVY, width=640, height=480, framerate=60/1' ! imxvideoconvert_ipu ! 'video/x-raw, format=I420, width=640, height=480, framerate=60/1' ! vpuenc_h264 bitrate=6000 gop-size=15 ! 'video/x-h264, stream-format=avc, alignment=au' ! rtph264pay mtu=1024 ! rtpbin.send_rtp_sink_0 \
rtpbin.send_rtp_src_0 ! udpsink host=192.168.1.111 port=5004 \
rtpbin.send_rtcp_src_0 ! udpsink host=192.168.1.111 port=5005 sync=false async=false \
udpsrc port=5007 ! rtpbin.recv_rtcp_sink_0 \
vsrc. ! appsink sync=false async=false max-buffers=1 emit-signals=false drop=true
Error outputs as follows:
0:00:01.343995000 1417 0x6d9e60 ERROR default video-frame.c:147:gst_video_frame_map_id: failed to map video frame plane 0
0:00:01.354008000 1417 0x6d9e60 ERROR default video-frame.c:147:gst_video_frame_map_id: failed to map video frame plane 0
0:00:01.370623000 1417 0x6d9e60 ERROR default video-frame.c:147:gst_video_frame_map_id: failed to map video frame plane 0
0:00:01.387276334 1417 0x6d9e60 ERROR default video-frame.c:147:gst_video_frame_map_id: failed to map video frame plane 0
.......
.......
However, if I set clockoverlay's property "silent=true"(which means do not render text string), the pipeline runs well and no errors are reported.
Also note that, with videotestsrc, even with "silent=false", the pipeline still runs well.
export GST_DEBUG=*:1
gst-launch-1.0 -v rtpbin name=rtpbin \
videotestsrc is-live=true ! 'video/x-raw, format=UYVY, width=640, height=480, framerate=60/1' ! tee name=vsrc vsrc. ! queue2 ! clockoverlay xpad=25 ypad=25 time-format="%Y/%m/%d %H:%M:%S" silent=false ! 'video/x-raw, format=UYVY, width=640, height=480, framerate=60/1' ! imxvideoconvert_ipu ! 'video/x-raw, format=I420, width=640, height=480, framerate=60/1' ! vpuenc_h264 bitrate=6000 gop-size=15 ! 'video/x-h264, stream-format=avc, alignment=au' ! rtph264pay mtu=1024 ! rtpbin.send_rtp_sink_0 \
rtpbin.send_rtp_src_0 ! udpsink host=192.168.1.111 port=5004 \
rtpbin.send_rtcp_src_0 ! udpsink host=192.168.1.111 port=5005 sync=false async=false \
udpsrc port=5007 ! rtpbin.recv_rtcp_sink_0 \
vsrc. ! appsink sync=false async=false max-buffers=1 emit-signals=false drop=true
So it seems that the 'imxv4l2src' plugin from Yocto-4.1 can not work with clockoverlay when text string is rendered.
How to fix it?
Thanks!
Robbie
it seems yocto 4.1 uses v4l2src of opensrc, not imxv4l2src, pls try to use v4l2src instead of imxv4l2src