BrettRD / ros-gst-bridge

a bidirectional ros to gstreamer bridge and utilities for dynamic pipelines
Other
128 stars 30 forks source link

Streaming a rosimagesrc #60

Closed YairMobile19 closed 6 months ago

YairMobile19 commented 6 months ago

Hello, and thanks for your help in this wonderful project! I'm trying to stream a ros image by using the following pipeline ( NVidia jetson ):

gst-launch-1.0 rosimagesrc ros-topic=/testimage ! queue ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! nvv4l2h264enc bitrate=8000000 ! 'video/x-h264, stream-format=by te-stream' ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=211.222.1.1 port=5006 auto-multicast=true

And I am getting the following error:

No protocol specified No EGL Display nvbufsurftransform: Could not get EGL display connection Setting pipeline to PAUSED ... Opening in BLOCKING MODE Pipeline is live and does not need PREROLL ... [INFO] [1704115424.792004415] [gst_image_src_node]: getcaps with filter 'NULL' [INFO] [1704115424.792173825] [gst_image_src_node]: waiting for first message Setting pipeline to PLAYING ... [INFO] [1704115424.792580517] [gst_image_src_node]: stream_start at 1704115424792578565 New clock: GstSystemClock

(gst-launch-1.0:28171): GStreamer-CRITICAL **: 13:23:44.810: gst_mini_object_copy: assertion 'mini_object != NULL' failed

(gst-launch-1.0:28171): GStreamer-CRITICAL **: 13:23:44.811: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:28171): GStreamer-CRITICAL **: 13:23:44.811: gst_structure_copy: assertion 'structure != NULL' failed

(gst-launch-1.0:28171): GStreamer-CRITICAL **: 13:23:44.811: gst_caps_append_structure_full: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:28171): GStreamer-CRITICAL **: 13:23:44.811: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:28171): GStreamer-CRITICAL **: 13:23:44.811: gst_structure_copy: assertion 'structure != NULL' failed

(gst-launch-1.0:28171): GStreamer-CRITICAL **: 13:23:44.811: gst_caps_append_structure_full: assertion 'GST_IS_CAPS (caps)' failed ERROR: from element /GstPipeline:pipeline0/Rosimagesrc:rosimagesrc0: Internal data stream error. Additional debug info: gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/Rosimagesrc:rosimagesrc0: streaming stopped, reason not-negotiated (-4) Execution ended after 0:00:00.019131970 Setting pipeline to NULL ... Freeing pipeline ...

The same pipeline works fine for a videotestsrc. Can anyone help me with this?

Thanks

YairMobile19 commented 6 months ago

Okay, I think I got it. nvv4l2h264enc doesn't support the source format.