tl;dr
You simply cannot, and anyone saying the opposite is probably lying
Can I get both low latency and high-quality video for live streaming ?
Low latency and high-quality video can both be achieved for live streaming, but they may be inversely proportional, meaning that as one increases, the other decreases. Achieving low latency requires less processing and compression, which can result in lower video quality. Conversely, achieving high-quality video requires more processing and compression, which can result in higher latency.
However, there are many techniques and technologies that can help to minimize latency while maintaining high video quality for live streaming, such as adaptive bitrate streaming, using a content delivery network (CDN), and using video codecs optimized for low latency. It is also important to have a strong internet connection to minimize latency.
As an OTT provider, what are the strategies to get both ?
The only way to get both low latency and high video quality is to control the delivery end-to-end between your streaming servers and your viewers.
So it's easy to understand it's not achievable for a worldwide scale live streaming over the Internet.
What is multicast and how can it help for low latency streaming?
Multicast is a method of sending data packets to a group of destination devices on a network, rather than to a single device. In the context of live streaming, multicast can be used to reduce latency by allowing multiple viewers to receive the video stream from a single source, rather than requiring a separate stream for each viewer.
Multicast works by sending the video stream to a specific multicast IP address, which is then received by any device on the network that has joined that multicast group. This eliminates the need for the streaming server to send multiple copies of the same stream to different viewers, which can significantly reduce network congestion and improve streaming performance.
Another advantage of multicast is that, it reduces the load on the streaming server, which can be beneficial in high-traffic situations, such as large-scale live events. Because the server only needs to send one copy of the stream, the bandwidth and processing requirements of the server are reduced, which can help to minimize latency.
However, multicast is not supported by all networks, and it requires specific configuration on routers and switches in order for it to work properly. Additionally, multicast is not supported by all streaming protocols, such as HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH).
How can I use multicast for public live streaming over the Internet ?
Multicast is a method of sending data packets to a group of destination devices on a network, rather than to a single device. In the context of live streaming, multicast can be used to reduce latency by allowing multiple viewers to receive the video stream from a single source, rather than requiring a separate stream for each viewer.
Multicast works by sending the video stream to a specific multicast IP address, which is then received by any device on the network that has joined that multicast group. This eliminates the need for the streaming server to send multiple copies of the same stream to different viewers, which can significantly reduce network congestion and improve streaming performance.
nanoCDN allows operators to offload the delivery of live video from their origin server to a network of edge servers, which reduces the load on the origin server and improves the overall performance of the live streaming.
You have to understand that as a broadcaster, you need to reach an agreement with ISPs to make them use nanoCDN or similar solutions. This is mainly used for broadcast-grade TV channels.
What is the method to implement unicast-to-multicast within a company network to lower the network usage from live streaming?
Companies' LANs can suffer from streaming activities, especially from large-scale live-streaming events.
To implement unicast-to-multicast within a company network to lower the network usage from live streaming, the following steps can be taken:
- Identify the devices on the network that will be used to receive the live stream.
- Configure those devices to join a multicast group by assigning them a multicast IP address.
- Set up a multicast server that will send the live stream to the multicast IP address.
- On the devices that will be sending the live stream (e.g. encoders), configure them to send the stream to the multicast IP address.
- Monitor the network usage to ensure that the implementation of unicast-to-multicast has reduced the overall network load from live streaming.
Please note that not all network devices support multicast, and some network infrastructures such as routers, switches, etc may require specific configuration in order to forward multicast packets, so it's recommended to have a network administrator help set it up. Also, it's a good practice to have sufficient bandwidth to support the live streaming and to prioritize the multicast traffic over other network traffic to ensure that it does not get congested.