Ask any cook and they will tell you than serving multiple dishes at the same meal, is a different problem than getting a meal cooked quickly. It might take 10 minutes to throw everything together for a salad, but if the roast chicken (or another large entree of your choice) takes an hour to cook,… Continue reading Red5 Pro vs NetInsight: Latency vs Synchronicity
Ask any cook and they will tell you than serving multiple dishes at the same meal, is a different problem than getting a meal cooked quickly. It might take 10 minutes to throw everything together for a salad, but if the roast chicken (or another large entree of your choice) takes an hour to cook, you’re not eating for at least… you guessed it: an hour.
Thus the difference between a solution like Red5 Pro that prioritizes low latency and one that prioritizes synchronization, like NetInsight.
Specific to video streaming, creating a solution with high synchronicity is not always equivalent to having low latency. Everything on screen can be shown as happening at the same time, but they could be recordings that are all playing at the same time. Like when my Grandmother would "mistakenly" start cheering during replays watching her beloved Boston Red5 Sox playing a baseball game.
With a low latency solution, the risk of running out of synch is minimized by the very speed at which video frames can be sent. For the most part, Red5 Pro’s sub 500 ms latency is fast enough to address most concerns as it is essentially synchronized by default.
Not only are the stream frames being sent very quickly with minimal latency, but WebRTC itself is also designed to keep a stream in real-time. As such, it will maintain a buffer time of 0 and drop frames to keep the stream updated. If everything is happening in real-time there is no need to synchronize as it is all being displayed at the same (or nearly) the same time.
Some use cases like first responders watching live drone feeds, live auctions, gambling, etc. can’t rely on high latency synced streams, they need actual low latency (from the live event) in order to function for their use cases.
However, there are certain times that synchronicity has to take priority over latency. Here we find that solutions like NetInsight are extending beyond events simply happening very near in time to each other. For example: making sure everyone sees the same sports play at the same time. Applications where everything needs to be viewed at the same time benefit from this approach.
Going back to our cooking analogy, Red5 Pro is like a microwave where the food is cooked as quickly as possible so it can all be done at almost the same time, while NetInsight is like the master chef, coordinating everything until its final unveiling. However, there is a major flaw in this analogy: unlike microwave food, Red5 Pro doesn’t have to sacrifice quality for speed. So you would get the same video with the same quality, it’s just a matter of the difference in delivery time.
Furthermore, an arbitrary delay could have been added to allow the video to process all the frames so they can be sent at the same time regardless of the delivery protocol being used. As an example sometimes delays are intentionally added to streams to allow for the monitoring and censorship of broadcasts.
It should be mentioned here, that this may not be a necessity for too much longer. As AI abilities eventually improve the censorship delay will in all probability be phased out as AI algorithms scan the broadcasts for banned content.
Regardless, if you are deciding between Red5 Pro and NetInsight, the question is how concerned are you with getting all your streams out as soon as you can, or getting them all at the same time.