Please provide complete information as applicable to your setup.
• Hardware Platform == GPU
• DeepStream Version == 6.2
• TensorRT Version == 8.5.2-1+cuda11.8
• NVIDIA GPU Driver Version == 525.105.17
• Issue Type == Question
I have a pipeline (see attached graph) that takes in 2 RTSP input streams does some processing and then should output the processed feeds with detections/tracks to 2 separate RTSP output streams.
To generate the output streams I use the following method for each stream (1 factory per output stream):
# PREPARE RTSP OUTPUT SERVER
rtspfactory = RtspServerFactory()
_, _, rtsplinkout = rtspfactory.create_and_launch_server(index=ix, rtspport=rtsp_sink_port,
sinkport=udp_sink_port,
compression=output_compression,
mountname=f'ds')
# PREPARE RTSP OUTPUT SERVER
The code runs successfully and outputs the following information:
Creating RTSPServer with
rtspport: 8554
udpport: 5400
Launching factory with parameters:
(udpsrc name=pay0 port=5400 buffer-size=524288 caps="application/x-rtp, media=video, clock-rate=90000, encoding-name=H264, payload=96" )
*** DeepStream: Launched RTSP Streaming at rtsp://127.0.0.1:8554/ds ***
Creating RTSPServer with
rtspport: 8555
udpport: 5401
Launching factory with parameters:
(udpsrc name=pay1 port=5401 buffer-size=524288 caps="application/x-rtp, media=video, clock-rate=90000, encoding-name=H264, payload=96" )
*** DeepStream: Launched RTSP Streaming at rtsp://127.0.0.1:8555/ds ***
I am able to view the stream at rtsp://127.0.0.1:8554/ds, however, I am unable to open the stream running on rtsp://127.0.0.1:8555/ds .
Can anyone help me figure out what I am doing wrong/missing?
Edit: Here is the code for my RtspServerFactory
class RtspServerFactory:
@classmethod
def create_and_launch_server(cls, index: int, rtspport: int, sinkport: int, compression: str, mountname: str):
# PREPARE RTSP OUTPUT SERVER
# rtspport = 8554, 8555, ...
# sinkport = 5400, 5401, ...
# compression should be "H265" or "H264"
# mountname = unique string
print(f'Creating RTSPServer with\nrtspport: {rtspport}\nudpport: {sinkport}')
name = f'pay{index}'
server = GstRtspServer.RTSPServer.new()
server.props.service = "%d" % rtspport
server.attach(None)
factory = GstRtspServer.RTSPMediaFactory.new()
launch_params = f'(udpsrc name={name} port={sinkport} buffer-size=524288 caps="application/x-rtp, media=video, clock-rate=90000, encoding-name={compression}, payload=96" )'
print(f'Launching factory with parameters:\n{launch_params}')
factory.set_launch(launch_params)
factory.set_shared(True)
server.get_mount_points().add_factory(f"/{mountname}", factory)
rtspoutlink = f'rtsp://127.0.0.1:{rtspport}/{mountname}'
print(f"\n *** DeepStream: Launched RTSP Streaming at {rtspoutlink} ***\n\n")
# PREPARE RTSP OUTPUT SERVER
return server, factory, rtspoutlink
pipeline_graph_DEMUX.pdf (41.9 KB)