Hi all,
I'm trying to stream my Pi Camera 3 from Pi4B (Bookworm) over network using python and gstreamer.
When I use this launch string it works fine:
However, it's a software encoder, and I want to use HW acceleration.
So, I've changed encoder to v4l2h264enc:And it doesn't work with ffplay:Just hanging in this state and doesn't output anything.
From the GStreamer side I see this:
So, obviously, I'm doing something wrong. But what?
I'm trying to stream my Pi Camera 3 from Pi4B (Bookworm) over network using python and gstreamer.
When I use this launch string it works fine:
Code:
'appsrc name=source is-live=true block=true format=GST_FORMAT_TIME ' \ 'caps=video/x-raw,format=RGB,width=1152,height=648,framerate=10/1 ' \ '! videoconvert ! video/x-raw,format=I420 ' \ '! ! x264enc speed-preset=ultrafast ' \ '! queue ' \ '! rtph264pay config-interval=1 name=pay0 pt=96'
So, I've changed encoder to v4l2h264enc:
Code:
'appsrc name=source is-live=true block=true format=GST_FORMAT_TIME ' \ 'caps=video/x-raw,format=RGB,width=1152,height=648,framerate=10/1 ' \ '! videoconvert ! video/x-raw,format=I420 ' \ '! v4l2h264enc ' \ '! video/x-h264,level=(string)3.2,h264_profile=(string)0 ' \ '! queue ' \ '! rtph264pay config-interval=1 name=pay0 pt=96'
Code:
Initialized metal renderer.[tcp @ 0x600003bbca20] Starting connection attempt to 192.168.1.101 port 8554[tcp @ 0x600003bbca20] Successfully connected to 192.168.1.101 port 8554[rtsp @ 0x14b90e9c0] SDP:v=0o=- 6442520168582316089 1 IN IP4 192.168.1.101s=Session streamed with GStreameri=rtsp-servert=0 0a=tool:GStreamera=type:broadcasta=control:*a=range:npt=now-m=video 0 RTP/AVP 96c=IN IP4 0.0.0.0a=rtpmap:96 H264/90000a=framerate:10a=fmtp:96 packetization-mode=1;sprop-parameter-sets=J0LAIJWgEgFP5YQAAAMABAAAAwBTkoAAmJYAATEtve4B4kTU,KM4fIA==a=control:stream=0a=ts-refclk:locala=mediaclk:sendera=ssrc:1308863005 cname:user85086346@host-af0de8eb[rtsp @ 0x14b90e9c0] setting jitter buffer size to 500[h264 @ 0x14b90ec30] Reinit context to 1152x656, pix_fmt: yuv420p nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
From the GStreamer side I see this:
Code:
0:00:05.779852413 1879 0x7f3801e300 WARN v4l2 gstv4l2object.c:4675:gst_v4l2_object_probe_caps:<v4l2h264enc0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument0:00:05.782307877 1879 0x7f38003180 FIXME default gstutils.c:4031:gst_pad_create_stream_id_internal:<source:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id0:00:05.786869644 1879 0x7f38003180 WARN v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2h264enc0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument0:00:05.788147069 1879 0x7f38003180 WARN v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2h264enc0:sink> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument0:00:05.827748693 1879 0x7f38003180 WARN v4l2bufferpool gstv4l2bufferpool.c:848:gst_v4l2_buffer_pool_start:<v4l2h264enc0:pool0:src> Uncertain or not enough buffers, enabling copy threshold0:00:05.847805973 1879 0x7f380032a0 WARN rtpsession gstrtpsession.c:2435:gst_rtp_session_chain_send_rtp_common:<rtpsession0> Can't determine running time for this packet without knowing configured latency0:00:05.848742237 1879 0x7f64005460 FIXME rtspmedia rtsp-media.c:4624:gst_rtsp_media_suspend: suspend for dynamic pipelines needs fixing0:00:05.853349170 1879 0x7f64005460 FIXME rtspmedia rtsp-media.c:4624:gst_rtsp_media_suspend: suspend for dynamic pipelines needs fixing0:00:05.853407558 1879 0x7f64005460 WARN rtspmedia rtsp-media.c:4663:gst_rtsp_media_suspend: media 0x7f380601c0 was not prepared
Statistics: Posted by integer_32 — Fri Mar 08, 2024 12:55 pm