I want to know how to handle more than 20k listeners concurrently on an Icecast server. I am using liquidsoap as the audio stream generator (Only one audio stream is distributed through the Icecast server ). The server is configured on AWS. Further, I want to know whether I need to use LB and CDN to handle this much traffic.
How to handle 20k concurrent listeners on an Icecast server
675 Views Asked by Dasith U Edirisinghe At
1
There are 1 best solutions below
Related Questions in CDN
- CDN Detector Extension / Script
- Vite Serving Libraries without CDN
- Use Next.js project as a script tag in html file
- Serve static site on S3 + CloudFlare with Apache retaining the source URL
- Sellapp integration with React
- Is a CDN service worth it for storing images or can I use the MongoDb and my server to serve them?
- Azure CDN and caching control show TCP_MISS
- Next.jS SSG on s3bucket doesn't work on refresh
- I want to cache cloud function data in to cdn. Whatever i tried is caching in browser only
- How to get statistics about uri in azure
- Can't import PrimeVue InputOpt in CDN project
- how to reduce the website image to 2-5kb per for an ecommerce website?
- CDN for asset delivery with auth, locally run and CI support
- Can't render DataTable using Vue and PrimeVue from CDN
- How can I publish a reusable react component into CDN?
Related Questions in AUDIO-STREAMING
- How to stream PCM audio to a speakers both on mac and linux in Node.js?
- Android OnCharacteristicChanged - Continuous stream of bytes from Bluetooth Stethoscope
- Is there a way to add audio select button in controls of react-player along with captions select button?
- Capturing Application Audio for Manipulation and Streaming
- LiveKit: Stream audio and video using python sdk
- Hotwords won't trigger on bumblebee-hotword-node
- Stream audio from Windows application over WebRTC connection
- Real-time Audio video Streaming app like BigoLive
- How to stream dynamically generated videos
- Audiostream generator to audiofile with Flutter
- Inconsistent Audio Chunk Sizes When Streaming Over Socket.IO from Expo App to Node.js Server
- Tagging M4A Files
- Sending microphone audio from client Flutter to server NodeJS
- Playing an audio in the front-end without storing any cache to avoid illegal downloading
- Encode microphone data and decode it to feed audio codec leads to white noise
Related Questions in ICECAST
- Running multiple streams using Icecast2 on Ubuntu
- Why can't I connect my Icecast server to a URL?
- How to send audio stream to an Icecast server in Python
- CORS Headers are not working with Icecast, despite sending the necessary headers
- Can't get Liquidsoap to connect to my Icecast server
- How do I connect to Icecast with Python?
- How to stream icecast to Voice Channel with discord.js?
- How to construct Gstreamer pipeline as HLS packager from MP3 sources?
- How to prevent crackle sound on mp3 playback in Liquidsoap/Icecast setup and jQuery?
- How do I get an Icecast stream metadata without frequent requests to the server?
- Determine current BPM of Icecast stream
- icecast server for icecast-metadata-player
- Installation of Icecast2 beta & dev versions on Ubuntu 16.04?
- python-shout *** buffer overflow detected ***: terminated
- Icecast2 make point to connect Rivendell
Related Questions in NETWORK-TRAFFIC
- Youtube usage calculation using TrafficStats
- Capture Live Video Statistics
- use of Scapy to generate network load on mininet
- Routing table and splitting traffic in Omnet++
- Android app produces a lot of network traffic
- tc command to enqueue TCP packets but randomly drop UDP packets
- Analyze Local Network Traffic, Update Quota with tshark and BASH
- EC2 instance types's exact network performance?
- Create a Linux packet splitter
- How-to setup a traffic control server
- Download file to null (Windows CLI)
- How to make receiving node to stop automatically after one connection in D-ITG Traffic Receiver
- Which Dynamic Management View exposes network traffic from/to one SPID?
- How do I monitor traffic between a Flash object and a server?
- Use Scapy as IPS for intercepting, selecting and forwarding packets
Related Questions in LIQUIDSOAP
- Can't get Liquidsoap to connect to my Icecast server
- Environment variables don't work in Liquidsoap
- Determine current BPM of Icecast stream
- icecast server for icecast-metadata-player
- interrupt stream and play single file on certain time (liquidsoap + icecast2)
- How to handle 20k concurrent listeners on an Icecast server
- Icecast and Liquidsoap - No such file or directory
- Liquidsoap with live ALSA audio in Docker not working (Stuttering and buffer underruns)
- Liquidsoap: How to iterate over list of strings
- Using with gstreamer to stream to nginx, liquidsoap fill up memory and crash
- How to Load Only One Track at a Time in Liquidsoap
- Problem Trying to Process Audio in Liquidsoap with StereoTool
- Liquidsoap Load Track Returned by Python Script
- LiquidSoap - random not working as expected
- How/Where to place the FFMPEG `-legacy_icecast 1` option to only affect one of two Icecast outputs? (using tee muxer option)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Your main concern is bandwidth. Nothing else, bandwidth. You always run out of bandwidth first. Really.
You'll likely want to spread the load across multiple servers and e.g. do simple DNS round-robin. Also because multiple servers means more bandwidth available.
Feeding in a Primary+Relays (master/slave) topology is typical and documented. For more details I'd recommend the Icecast documentation and searching the Icecast mailing list archives.
There are some minor things like making sure that your
ulimitfor file descriptors is high enough for the Icecast process.PS: In theory you can squeeze around 20k concurrent connections out of Icecast, but most of the time you won't have enough actual bandwidth to feed those anyway.