Skip to content

Video RTSP streaming #133

Open
Open
@mvp-cwlin

Description

@mvp-cwlin

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions