Question/Help High latency in streaming over RTSP from multiple sources

obsjug

New Member
I have been trying to consume multiple TP-Link indoor IP camera feeds as input media sources and displaying them using OBS Studio. It's after an exhaustive trial & error that am now posting on the forum. Each of these cameras streams over RTSP. I have created a few scenes so that I can switch between different layouts using the added cameras. But all cameras start streaming out of sync with considerable output latency after a few seconds. Ideally, I would like to achieve sub-second latency using OBS as a rendering solution. Note that I'm only looking to stream the multicam output for now, not record it.

Screenshot 2025-06-02 133320.png


Here's the list of steps I have tried:

+ Relevant settings for OBS Studio:
+ Advanced Settings -> Enable Browser Source Hardware Acceleration

+ Relevant settings for each input media source:
+ Network Buffering: 0MB
+ Reconnect Delay: 1s
+ Use hardware decoding when available: true
+ ffmpeg options: -avioflags direct -fflags nobuffer discardcorrupt -preset ultrafast -tune zerolatency -r 10 -async 1 -noaudio -nocache -vf setpts=0
+ In addition, as recommended in some previous relevant posts, I've also installed DistroAV on NDI runtime, but this didn't help in reducing the delay either.

Here are system details:
Processor: 13th Gen Intel(R) Core(TM) i7-1355U 1.70 GHz
Installed RAM: 40 GB
System type 64-bit operating system, x64-based processor
OS: Windows 11 Pro
OBS Studio version: 31.0.3

Network details:
All cameras are connected via wired LAN to the same system which is using OBS. I've also tried reducing latency using WiFi first, but got no good results.

Log details:

Log File Analysis: https://obsproject.com/tools/analyzer?log_url=https://obsproject.com/logs/ZB3Lq3Yp3sE5IX75

Log File Analysis: https://obsproject.com/tools/analyzer?log_url=https://obsproject.com/logs/bCo0gC8U84lRGAuc

One of the log analysis items complains no output session, but I only want to project the output to a monitor, not stream or record it.

Please recommend any solution(s)/suggestion(s) if you have already faced & overcome this issue, I'd be truly grateful for any pointers. Here are some potential pathways:

1. Playing with ffmpeg options
2. A python script to first process the video stream, then to stdout
3. Can I compose the stream using ffplay & then add just the composed stream to OBS studio? How may I go about implementing this?

Here are some threads & links which I've already referred & tried the solutions therein, to no avail:
The most relevant was this one:







Attached: Screenshot of the test and log file with one camera setup instead of the 4.

Sorry for the long post, many thanks in advance!
 
Top