Open
Description
I am trying to use the video-output node to stream an image topic to QGroundControl using RTSP, but keep getting error messages like "streaming stopped, reason not-linked (-1)". I have also tried using rtp and save directly to file, it all worked, but I really want to use rtsp. Anything I am missing?
ros2 launch ros_deep_learning video_output.ros2.launch output:=rtsp://192.168.220.169:8554/stream output_codec:=h264 output_bitrate:=4000000 topic:=/zed/zed_node/right/image_rect_color
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-01-31-17-16-37-637263-ubuntu-7284
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [video_output-1]: process started with pid [7285]
[video_output-1] [INFO] [1706721397.845796977] [video_output]: opening video output: rtsp://192.168.220.169:8554/stream
[video_output-1] [gstreamer] initialized gstreamer, version 1.20.3.0
[video_output-1] failed to find/open file /proc/device-tree/model
[video_output-1] [gstreamer] gstEncoder -- detected board 'NVIDIA Jetson AGX Orin Developer Kit'
[video_output-1] [gstreamer] gstEncoder -- pipeline launch string:
[video_output-1] [gstreamer] appsrc name=mysource is-live=true do-timestamp=true format=3 ! nvvidconv name=vidconv ! video/x-raw(memory:NVMM) ! nvv4l2h264enc name=encoder bitrate=4000000 insert-sps-pps=1 insert-vui=1 idrinterval=30 maxperf-enable=1 ! video/x-h264 ! rtph264pay config-interval=1 name=pay0
[video_output-1] [rtsp] waiting for RTSP server to start...
[video_output-1] [rtsp] RTSP server started @ rtsp://ubuntu:8554
[video_output-1] [rtsp] RTSP route added /stream @ rtsp://ubuntu:8554
[video_output-1] [video] created gstEncoder from rtsp://192.168.220.169:8554/stream
[video_output-1] ------------------------------------------------
[video_output-1] gstEncoder video options:
[video_output-1] ------------------------------------------------
[video_output-1] -- URI: rtsp://192.168.220.169:8554/stream
[video_output-1] - protocol: rtsp
[video_output-1] - location: 192.168.220.169
[video_output-1] - port: 8554
[video_output-1] -- deviceType: ip
[video_output-1] -- ioType: output
[video_output-1] -- codec: H264
[video_output-1] -- codecType: v4l2
[video_output-1] -- frameRate: 30
[video_output-1] -- bitRate: 4000000
[video_output-1] -- numBuffers: 4
[video_output-1] -- zeroCopy: true
[video_output-1] -- latency 10
[video_output-1] ------------------------------------------------
[video_output-1] [OpenGL] failed to open X11 server connection.
[video_output-1] [OpenGL] failed to create X11 Window.
[video_output-1] [gstreamer] gstEncoder -- starting pipeline, transitioning to GST_STATE_PLAYING
[video_output-1] Opening in BLOCKING MODE
[video_output-1] [gstreamer] gstreamer changed state from NULL to READY ==> pay0
[video_output-1] [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[video_output-1] [gstreamer] gstreamer changed state from NULL to READY ==> encoder
[video_output-1] [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[video_output-1] [gstreamer] gstreamer changed state from NULL to READY ==> vidconv
[video_output-1] [gstreamer] gstreamer changed state from NULL to READY ==> mysource
[video_output-1] [gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[video_output-1] [gstreamer] gstreamer changed state from READY to PAUSED ==> pay0
[video_output-1] [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[video_output-1] [gstreamer] gstreamer changed state from READY to PAUSED ==> encoder
[video_output-1] [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[video_output-1] [gstreamer] gstreamer changed state from READY to PAUSED ==> vidconv
[video_output-1] [gstreamer] gstreamer stream status CREATE ==> src
[video_output-1] [gstreamer] gstreamer changed state from READY to PAUSED ==> mysource
[video_output-1] [gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[video_output-1] [gstreamer] gstreamer message new-clock ==> pipeline0
[video_output-1] [gstreamer] gstreamer stream status ENTER ==> src
[video_output-1] [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pay0
[video_output-1] [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[video_output-1] [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> encoder
[video_output-1] [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[video_output-1] [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> vidconv
[video_output-1] [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysource
[video_output-1] [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
[video_output-1] [INFO] [1706721398.642189712] [video_output]: video_output node initialized, waiting for messages
[video_output-1] [INFO] [1706721398.731179354] [video_output]: allocated CUDA memory for 640x360 image conversion
[video_output-1] [cuda] allocated 2 ring buffers (345600 bytes each, 691200 bytes total)
[video_output-1] [gstreamer] gstEncoder -- new caps: video/x-raw, width=640, height=360, format=(string)I420, framerate=30/1
[video_output-1] NvMMLiteOpen : Block : BlockType = 4
[video_output-1] ===== NvVideo: NVENC =====
[video_output-1] NvMMLiteBlockCreate : Block : BlockType = 4
[video_output-1] H264: Profile = 66, Level = 0
[video_output-1] NVMEDIA: Need to set EMC bandwidth : 126000
[video_output-1] NvVideo: bBlitMode is set to TRUE
[video_output-1] [gstreamer] gstreamer message latency ==> encoder
[video_output-1] [gstreamer] gstreamer stream status CREATE ==> src
[video_output-1] [gstreamer] gstreamer stream status ENTER ==> src
[video_output-1] [gstreamer] gstreamer message qos ==> encoder
[video_output-1] [gstreamer] gstreamer mysource ERROR Internal data stream error.
[video_output-1] [gstreamer] gstreamer Debugging info: ../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstAppSrc:mysource:
[video_output-1] streaming stopped, reason not-linked (-1)
[video_output-1] [gstreamer] gstEncoder -- pipeline full, skipping frame 25 (640x360, 345600 bytes)
[video_output-1] [gstreamer] gstEncoder -- pipeline full, skipping frame 50 (640x360, 345600 bytes)
Metadata
Metadata
Assignees
Labels
No labels