0

I am designing a system where 2 computers will be on the same local wired network (so <1ms latency and 100Mbps bandwidth) and I need to transmit high quality 1080p 30fps live generated video on one computer to the next computer. I was looking at RTSP over TCP as the video needs to be reliable and not have artifacting but skipped frames would be acceptable. I have read some sources that the RTSP would add in multiple seconds of latency that would be unacceptable. Another option I considered was sending 30 JPEG images each second.

In the end, I plan to integrate each side of the system into an application, with the the receiver most likely using SDL and FFMPEG but if there is a better system, I would be open to it.

Would RTSP be able to handle this with close to real time transmission and no artifacting? Would there be a better protocol as this is only a point to point system?

Eric Johnson
  • 205
  • 2
  • 14
  • 1
    RTP isn't going to add several seconds of latency. Sending 30 individual images per second is crazy inefficient... if you really wanted to use JPEG, you might as well use MJPEG. RTP is perfectly acceptable for low latency use. What really matters here is your choice of codec, and its configuration. You also need to understand the tradeoffs... "needs to be reliable" fights with "needs to be low latency" a bit. – Brad Dec 31 '17 at 22:41
  • What are your actual latency and video quality requirements? – Brad Dec 31 '17 at 22:41
  • We are still in development so we don't have formal requirements, but I would say no more than 100ms delay, but 30ms would be preferred, for video quality we would be looking for no artifacts (like where part of the image goes grey for a few frames because of dropped packets). For the actual quality, the better it is the better up to 100Mbp/s. – Eric Johnson Dec 31 '17 at 23:32
  • 1
    Frankly, I think you should re-evaluate your choice of technology. You realize that a single frame at 30 FPS is shown longer than 30ms, right? Besides, my TV has a delay of about 70 ms. My computer monitor, probably half that. In both of those cases, we're talking lossless video. Run SDI cables, or at least deploy a dedicated AVB network. If you're not willing or are unable to do that, then you have to explicitly choose tradeoffs. You cannot demand ultra low latency, super high video quality, reliable transport, over a shared network all at the same time. You have to choose sacrifices. – Brad Dec 31 '17 at 23:39
  • Quality is what I am able to sacrifice, but it can not look "ugly" from dropped packets. The 30ms-100ms I gave was the transmission latency in the RTSP stream. I already considered source and destination latency. So for the total latency could be up to 200ms. AVB networks are interesting, I will have to research them more. – Eric Johnson Jan 01 '18 at 01:02

1 Answers1

0

After doing more research, I found a protocol called NDI that appears to meet the needs of multiple video streams over ethernet in a reliable system. It has a SDK that can be used for development.

Eric Johnson
  • 205
  • 2
  • 14