Functional Requirements of the System
- Latency or delay time should be the minimum possible, to keep the sync between the live event and stream(maximum of 60 seconds – for better user experience).
- Video conversion to different resolutions and codecs(compression and decompression of media file), to automatically convert to higher or lower resolutions according to the bandwidth of the user.
- Should be scalable to a large number of concurrent users. As the audience expands, the system must be able to manage a growing number of viewers.
- System should be fault-tolerant, and availability should be high.
- The system must be safe from unauthorized access or harmful attacks.
- In order to reach the broadest potential audience, the system must be compatible with a wide range of devices and operating systems.
How to design a Live Video Streaming System Like ESPN