Live Streaming Infrastructure
An Icecast and SHOUTcast compatible stream server, an HTML5 player and automatic reconnection. When a listener drops out, the stream resumes where it left off.
The digital centre of your radio station. The live stream, the programme archive, the presenter roster, playlists, podcasts and a news module in one panel. Recording retention, masthead and logo duties come ready in the infrastructure; the listener counter, the mobile app and ad-break management come out of the box.
No separate plugins, no separate licences. From the schedule to the listener report, every module runs on the same core.
An Icecast and SHOUTcast compatible stream server, an HTML5 player and automatic reconnection. When a listener drops out, the stream resumes where it left off.
Build the weekly schedule in time blocks. Programmes, presenters and repeat times are reflected on the site and in the mobile app at once, and the “now playing” information updates automatically.
The live broadcast is recorded automatically, split programme by programme and archived. Recordings are kept with a timestamp and can be restricted to management only.
Every presenter gets a biography, a photograph and a programme list; every programme gets a description, an episode archive and a listener message box. The pages are built for search engines.
An app published under your station brand for iOS and Android. Background playback, notifications, alarms and car-screen support, with in-app listener messages.
Audio ad breaks, sponsorship announcements and on-site banner slots are planned from one place. Break length, repeat count and broadcast days are all recorded.
A fully equipped news entry for stations doing radio journalism: the lead story, categories, reporter permissions, a Google News feed and structured data.
Live and cumulative listener numbers, average listening time, and a breakdown by device and city. Reports can be exported in a form you can hand to an advertiser.
A daily automatic backup, a second stream server and automatic failover. When the main server stops responding, the broadcast continues uninterrupted from the backup source.
The sound that reaches the listener passes through four stops. Knowing which stop a problem is at cuts the fix down to minutes.
1. The encoder. The output of the studio mixer is compressed by encoder software. The encoder setting determines two things: sound quality and bandwidth cost. At a speech-heavy station 64 kbps AAC+ is usually enough; on a music-heavy broadcast 128 kbps MP3 or 96 kbps AAC+ is preferred. In the panel you can publish two streams at once: AAC+ for low bandwidth and MP3 for compatibility with older devices.
2. The stream server. The single stream coming from the encoder is replicated on the stream server and distributed to each listener as a separate connection. The number of simultaneous listeners is limited here; capacity is the listener count multiplied by the bit rate. A thousand simultaneous listeners on a 128 kbps stream means roughly 128 Mbps of sustained output. That is the real figure to look at when choosing a package.
3. Distribution. If your listeners are in a single city, the stream server alone is enough. If you are also listened to from abroad, a distribution layer comes in between; the connection is made from the nearest point, and latency and dropouts fall. The panel supports both scenarios and reports how many listeners connect from which point.
4. The player. The player on the site and in the mobile app reconnects by itself when the connection drops and refills the buffer. So that the broadcast does not stop when the page is refreshed, the player runs in a separate layer; the sound does not cut out while the user is browsing the site.
The whole of that chain is managed on the KEYDAL side. The encoder setting is made by the person in your studio; the remaining three stops are included in the package price and are monitored. When the stream drops, the panel raises an alert, the second server takes over and an incident record is kept.
The biggest problem for stations with small teams is the hours when no presenter is live. Automation fills that gap.
You build a playlist in the panel and say between which hours it will run. The tracks play in order or shuffled, and you can place station jingles, top-of-the-hour announcements and ad breaks in between. When a live presenter goes on air, automation steps aside by itself, and it returns when the presenter leaves.
Repeat broadcasts are planned from the same place. The overnight repeat of a programme aired in the morning is taken automatically from the archive recording, and it is flagged as a repeat both in the schedule and on the site. That way listeners do not confuse the live show with the repeat, and repeats are counted separately in the advertising report.
Automation includes silence detection. If no sound comes from the stream for a set period, the panel raises an alert and switches to the backup playlist. It is one of those simple features that prove most useful: it stops the broadcast sitting silent for hours when a cable comes loose in the studio.
The software is built on components that will be supported for a long time and behave predictably under load.
| Component | Technology used | Note |
|---|---|---|
| Stream server | Icecast 2 / SHOUTcast | AAC+ and MP3 at the same time |
| Player | HTML5 with HLS fallback | Background support in mobile browsers |
| Application layer | PHP 8.3 | OPcache and JIT enabled |
| Database | MariaDB 11 | Daily automatic backup |
| Cache | Redis + LiteSpeed Cache | Full-page caching |
| Recording archive | Object storage | The retention period is set from the panel |
| Audio processing | FFmpeg | Automatic levelling and format conversion |
| Podcasts | RSS 2.0 with iTunes tags | Compatible with Spotify and Apple Podcasts |
| Integrations | REST API + Webhook | For agency and automation feeds |
| Mobile | iOS and Android | Store publication included |
Radio broadcasting is subject to Law No. 6112, and the part that publishes as an internet news site to Press Law No. 5187. Some of the duties are supported by the technical infrastructure; others are matters of staffing, licensing and law, and no software can discharge them on the broadcaster’s behalf. We set the distinction out plainly here.
These items are defined in the panel as fields, archives and timestamps. Filling them in correctly is the responsibility of the broadcasting organisation.
These are institutional and legal duties. We provide reminders and record fields in the panel; discharging them is for the publisher.
A radio station’s revenue does not come from a single source. The panel gathers all three revenue lines in the same report.
Audio advertising. Breaks are placed into time blocks; the length of each break, the number of spots in it and the days on which it will play are defined in advance. The post-broadcast report shows how many times and at what hours the spot played. That report can be exported in a form you can hand to the advertiser; at stations working with agencies it is very often exactly the document requested with the invoice.
Sponsorship. Programme sponsorship is subject to a different regime from audio advertising and has to be announced. In the panel the sponsored programme is flagged, the sponsor’s name and the announcement text are attached to it, and the opening and closing announcements are added to the schedule automatically. We covered what the legislation says about the sponsorship announcement in the sponsorship article.
On-site advertising. The radio website is a revenue area independent of the broadcast itself. Banner slots, sponsored content and automatic ad network codes are managed from the panel. The duty to make advertising distinguishable from content applies here too, and the panel forces sponsored content to be flagged.
Podcasts. A programme heard once on the live broadcast gains a second life when it is split into episodes and published as a podcast. The panel trims the recording from the archive, adds an episode description and cover art, and drops it into the RSS feed. The same content is heard both on the site and on Spotify and Apple Podcasts, and the play counts for both appear in a single report.
Radio is the medium that exchanges the most messages with its audience. Every piece of data collected is also a responsibility.
The request line, competition entries, newsletter subscriptions and app notifications all collect personal data. The panel keeps that data in one place, records what it was collected for and raises an alert for deletion when the retention period expires. There are ready fields for the privacy notice, the record of explicit consent and data subject requests.
Listener reports are aggregate and anonymous: how many people, for how long, from which city and on which device. The report given to the advertiser is that same anonymous data; the identity of individual listeners is not shared. For stations doing journalism, we covered the framework for using reader and listener data in the guide to copyright, data protection and access to information.
Listener messages read out on air are a separate matter. Messages pass through moderation in the panel, and those taken to air are recorded with a timestamp. If a message later becomes the subject of a complaint, the record shows which message went to air and when.
A visitor arriving at a radio site wants one thing first: to start listening. Every extra second is a lost listener.
The player loads without waiting for the rest of the page. Images are converted to WebP and AVIF and resized versions are produced for each screen size, so that only the visible area is downloaded on first load. Full-page caching cuts the number of requests reaching the server, leaving the stream server’s capacity for listeners.
On mobile the player keeps running in the background. When the user switches to another app or locks the screen the sound does not stop, and the station name, the programme and the current track appear on the lock screen. The same behaviour applies in the mobile app and comes with car-screen support.
On the search engine side, programme and episode pages are marked up with structured data. Separate markup is used for podcast episodes, so the episode length, the publication date and the description appear in the search result. The station itself is also described as an organisation, so a knowledge panel forms on brand searches.
The average setup takes five working days. If you are moving from an existing station, transferring the archive is included in that time.
| Step | What happens | Time |
|---|---|---|
| 1. The call | We discuss your type of broadcast, your stream server needs and your listener volume, and the package is set accordingly. | 1 day |
| 2. Installation | The domain, SSL, stream server and panel are installed and a test broadcast is opened. | 1 day |
| 3. Migration | Your programme archive, presenter pages and any news content are moved, and the old addresses are redirected with a 301. | 1-2 gün |
| 4. Design | The theme is chosen and the colours and typography are set to your station identity. | 1 day |
| 5. Training | Panel training is given and the schedule, archive and advertising modules are worked through with the team. | Half a day |
| 6. Go live | The DNS is switched, the mobile app is submitted to the stores and the live broadcast is opened. | The same day |
If you are coming from an existing station, gathering the following in advance cuts the migration down to a day.
The two products complement each other but are not the same thing. The distinction below makes clear which one you need.
| Question | Radio hosting | Radio software |
|---|---|---|
| What does it give you? | The stream server, bandwidth and listener capacity | The site and the panel itself: schedule management, archive, news, advertising |
| Does it include a website? | No, only the broadcasting infrastructure | Yes, including the theme and mobile app |
| Legal fields | None | The masthead, content dates and recording archive come ready |
| Who is it for? | A station that already has a site and needs only broadcasting capacity | A station that wants the site, the panel and the infrastructure from one place |
| Can they be taken together? | Yes, hosting is included in the price of the software packages | Yes, you do not need to buy hosting separately |
Positioning the product correctly prevents disappointment later. We are writing it plainly.
If you fall into the list below, the software will meet the whole of your need.
If you are in this position another solution is more appropriate, and we say so up front.
What the terms you will meet at the quotation and contract stage actually mean.
| Term | What it means |
|---|---|
| Bit rate | The audio data transferred per second. As it rises, both quality and bandwidth cost rise with it. |
| Simultaneous listeners | The number of connections attached to the stream at the same time. Package capacity is set according to this figure. |
| Buffer | The portion of audio the player downloads in advance. It stops the sound cutting out when the connection fluctuates. |
| Failover | The broadcast continuing from a backup source when the main server stops responding. |
| Ad break | The time slot in which advertising spots are broadcast one after another. |
| Announcement | A short announcement read at the start or end of a programme; compulsory in sponsorship. |
| Now playing | The track information read from the stream, reflected live on the site and in the app. |
| Broadcast recording | The recorded form of the broadcast; the legislation requires it to be kept for a certain period. |
Let us open your demo account and walk through the panel in 20 minutes. If you decide to move, we will handle the archive transfer.