Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4557

Graphics, sound and multimedia • IP h264 Network camera to MJPEG file

$
0
0
I'm attempting to stream a video from a network camera to a JPEG file using hardware accelerated gstreamer on the Raspberry Pi 4 (CM4), but I have issues with the JPEG quality.

At least the first frame is OK, but, after a short while, I start getting low quality JPEG. See attached files.

My gstreamer pipeline:
GST_DEBUG=3 gst-launch-1.0 rtspsrc location=rtsp://192.168.0.171 ! rtph264depay ! h264parse ! v4l2h264dec ! v4l2convert ! v4l2jpegenc ! multifilesink location=/tmp/uvc-gadget-input1.jpg sync=false

Pipeline output:
Setting pipeline to PAUSED ...
0:00:00.070034037 1331 0x55bace5da0 WARN v4l2 gstv4l2object.c:4735:gst_v4l2_object_probe_caps:<v4l2jpegenc0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
0:00:00.072231961 1331 0x55bace5da0 WARN v4l2 gstv4l2object.c:4735:gst_v4l2_object_probe_caps:<v4l2convert0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Pipeline is PREROLLED ...
Prerolled, waiting for progress to finish...
Progress: (connect) Connecting to rtsp://192.168.0.171
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 1
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Redistribute latency...
0:00:00.112468359 1331 0x7f78000d20 FIXME default gstutils.c:4036:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Redistribute latency...
Redistribute latency...
0:00:00.112862800 1331 0x7f78000ed0 FIXME default gstutils.c:4036:gst_pad_create_stream_id_internal:<fakesrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Progress: (request) Sending PLAY request
Redistribute latency...
Progress: (request) Sent PLAY request
Redistribute latency...
Redistribute latency...
Redistribute latency...
0:00:02.130771039 1331 0x7f78001590 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<udpsrc3> error: Internal data stream error.
0:00:02.130820224 1331 0x7f78001590 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<udpsrc3> error: streaming stopped, reason not-linked (-1)
Redistribute latency...
0:00:02.188078486 1331 0x7f780018f0 WARN GST_CAPS gstpad.c:5813:pre_eventfunc_check:<v4l2h264dec0:sink> caps video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true not accepted
0:00:02.188165078 1331 0x7f780018f0 WARN GST_CAPS gstpad.c:5813:pre_eventfunc_check:<v4l2h264dec0:sink> caps video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true not accepted
0:00:02.188186208 1331 0x7f780018f0 WARN GST_PADS gstpad.c:4387:gst_pad_peer_query:<h264parse0:src> could not send sticky events
Redistribute latency...
0:00:02.214899875 1331 0x7f780018f0 WARN v4l2 gstv4l2object.c:3278:gst_v4l2_object_reset_compose_region:<v4l2h264dec0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:02.222109569 1331 0x7f78001aa0 WARN v4l2 gstv4l2object.c:2305:gst_v4l2_object_get_streamparm:<v4l2h264dec0:src> VIDIOC_G_PARM failed
0:00:02.226648362 1331 0x7f78001aa0 WARN v4l2 gstv4l2object.c:3278:gst_v4l2_object_reset_compose_region:<v4l2convert0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:02.227568502 1331 0x7f78001aa0 WARN v4l2 gstv4l2object.c:3278:gst_v4l2_object_reset_compose_region:<v4l2jpegenc0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
0:00:02.227887314 1331 0x7f78001aa0 WARN v4l2 gstv4l2object.c:3278:gst_v4l2_object_reset_compose_region:<v4l2jpegenc0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument
Redistribute latency...
Redistribute latency...
0:00:28.849663878 1331 0x55bad150a0 WARN rtspsrc gstrtspsrc.c:3703:on_timeout_common:<rtspsrc0> source 86cf9a28, stream 86cf9a28 in session 1 timed out
0:00:44.510302850 1331 0x7f78001aa0 WARN v4l2 gstv4l2object.c:2305:gst_v4l2_object_get_streamparm:<v4l2h264dec0:src> VIDIOC_G_PARM failed
0:00:44.519447157 1331 0x7f78001aa0 WARN v4l2 gstv4l2object.c:3278:gst_v4l2_object_reset_compose_region:<v4l2convert0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument

** (gst-launch-1.0:1331): WARNING **: 13:19:02.125: v4l2h264dec0: 1246 initial frames were not dequeued: bug in decoder -- please file a bug
0:00:44.647317340 1331 0x7f78001aa0 WARN v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_start:<v4l2jpegenc0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
Redistribute latency...
0:00:47.147275413 1331 0x7f78001aa0 WARN videodecoder gstvideodecoder.c:3151:gst_video_decoder_prepare_finish_frame:<v4l2h264dec0> decreasing timestamp (0:00:43.968762430 < 0:00:44.934930207)
0:00:47.176107135 1331 0x7f78001aa0 WARN videodecoder gstvideodecoder.c:3151:gst_video_decoder_prepare_finish_frame:<v4l2h264dec0> decreasing timestamp (0:00:44.900629816 < 0:00:44.934930207)
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:01:20.990418476
Setting pipeline to NULL ...
Freeing pipeline ...

Also, sometimes I get the following warning after a while:
** (gst-launch-1.0:546): WARNING **: 14:27:41.799: v4l2jpegenc0: Too old frames, bug in encoder -- please file a bug
I have tried with the latest kernel (6.6.30-v8) and with (6.6.22-v8); same result.

My gstreamer version:
root@raspberrypi4-64:~# gst-launch-1.0 --version
gst-launch-1.0 version 1.22.11
GStreamer 1.22.11
Unknown package origin
How can I fix this issue?

Anybody with a similar gstreamer pipeline?
test_other.jpg

test_first.jpg

Statistics: Posted by lpdoyon — Thu May 09, 2024 2:45 pm — Replies 0 — Views 2



Viewing all articles
Browse latest Browse all 4557

Trending Articles