Title: StreamSera – Live Radio Player &amp; Station Manager
Author: WPSera
Published: <strong>November 7, 2026</strong>
Last modified: November 7, 2026

---

Search plugins

![](https://ps.w.org/streamsera/assets/banner-772x250.gif?rev=3790224)

![](https://ps.w.org/streamsera/assets/icon-256x256.gif?rev=3790224)

# StreamSera – Live Radio Player & Station Manager

 By [WPSera](https://profiles.wordpress.org/wpsera/)

[Download](https://downloads.wordpress.org/plugin/streamsera.0.1.0.zip)

 * [Details](https://wordpress.org/plugins/streamsera/#description)
 * [Reviews](https://wordpress.org/plugins/streamsera/#reviews)
 *  [Installation](https://wordpress.org/plugins/streamsera/#installation)
 * [Development](https://wordpress.org/plugins/streamsera/#developers)

 [Support](https://wordpress.org/support/plugin/streamsera/)

## Description

**StreamSera puts your radio station on your own website.** Add your stream, design
a player in your colors and place it anywhere – no code needed. Listeners see the
song that’s playing, and you manage every station from one screen in your WordPress
admin.

It works with the stream you already have: Icecast, Shoutcast, HLS and MPEG-DASH,
from hosts such as AzuraCast, Radio.co, Zeno.FM or your own server.

#### Quick tour

#### Station manager

Run one station or a whole network from one place.

 * **Every station at a glance.** See what each station is playing, how many people
   are listening (when your server reports it), which streams are on air and which
   need attention.
 * **Find and tidy up fast.** Search by name, genre or city, filter by on air, needs
   attention or drafts, and publish, duplicate, move to draft or delete several 
   stations at once.
 * **Backup streams.** Give a station extra stream addresses; players switch over
   when the main one drops. Check any stream from the editor with one click.
 * **Song titles from the right place.** StreamSera detects your server type and
   reads now playing from Icecast and Shoutcast status pages, or from inside the
   stream itself for hosts without a status page.
 * **Live status your way.** Mark a station live or off air by hand, with a message
   for listeners.
 * **See where it’s used.** Each station shows which players use it, and its page,
   card and now-playing shortcodes are ready to copy.

#### A player that looks like your station

 * **5 layouts** – card, hero, compact, a single “Listen live” button and a station
   shelf – and 5 styles in light, dark or following the visitor’s device.
 * **Your brand** – colors, logo, font and rounded corners, with only the parts 
   you want shown. You hear your real stream while you design it.
 * **Station switcher** – let listeners change channel inside one player.
 * **Off-air fallback** – loop a standby track or show a message like “Back on Monday
   at 8” until the live stream returns.
 * **Phone friendly** – lock-screen and headset media controls where supported, 
   and the player remembers each listener’s volume.
 * **Accessible** – keyboard controls, screen-reader labels, dark mode and right-
   to-left language support.

#### Pages your listeners can bookmark

 * **Listen page** – a full-screen player with share buttons and a station switcher.
   It opens in its own tab, so the music keeps playing while visitors browse your
   site.
 * **Station pages and directory** – every station gets its own page, and a directory
   lists them all with search and genre filters.
 * **External players** – playlist links (.m3u and .pls) for apps such as VLC.
 * **On-air graphics** – a transparent now-playing overlay for OBS and vMix, and
   a plain-text feed for studio screens and signage.
 * **Share anywhere** – paste a station page link into another WordPress site and
   it shows the player.

#### Works with your site

 * **Block editor** – Player, Now playing, Listen button, Station and Station list
   blocks, plus ready-made patterns for a hero player, a sidebar box and a station
   landing page.
 * **Page builders** – native widgets and modules for Elementor, Divi 4 and Divi
   5; a Player element for Beaver Builder and Bricks; shortcodes for Breakdance,
   Oxygen and any other builder.
 * **Shortcodes and classic widgets** – `[streamsera id="12"]`, `[streamsera_now_playing]`,`[
   streamsera_listen_button]`, `[streamsera_station]` and `[streamsera_stations]`.
 * **Any theme**, classic or block, on single sites and multisite networks.

#### Easy to run

 * **Setup wizard** – paste your stream link and get a working station and player
   in a few minutes.
 * **Dashboard** – which stations are on air, what’s playing and what to set up 
   next, with notices when something needs attention (for example a stream that 
   won’t play on a secure site).
 * **Light on your stream server** – your website checks what’s playing on a timer(
   every 15 seconds by default) and shares it with every listener, instead of every
   visitor asking your server.
 * **Export and import** – move stations, players and settings to another site.
 * **Private by default** – no WPSera analytics, no listener tracking, no cookies
   of its own. See External services and Privacy below.

#### Who it’s for

Internet and community radio, college and student stations, station networks with
several channels, DJs and live shows, churches, mosques and community groups broadcasting
live, and venues or event organizers with an audio stream.

#### Need more?

[StreamSera Pro](https://wpsera.com/streamsera/) adds a show schedule with hosts,
song requests and shout-outs, private listening statistics, a sticky player that
can keep playing across pages, playlists and podcasts, recently played tracks, artwork
lookup and more. Everything described above is free.

For developers: WP-CLI commands (`wp streamsera`), a REST API, PHP filters and a
JavaScript API. See the FAQ for details.

### External services

StreamSera does not call any service run by WPSera. It connects only to the services
listed below.

**1. Your stream server (the radio station’s streaming host)**

 * What it is and why: the Icecast, Shoutcast, HLS or DASH server whose stream addresses
   you enter for each station. It is needed to play the stream and to show the current
   song and listener count.
 * When and what is sent:
    - When a visitor presses play, the visitor’s browser requests the stream (and,
      for HLS/DASH, the media segments and timing address named in the stream’s 
      manifest). The stream server receives the visitor’s IP address, browser user
      agent and normal request headers.
    - About once a minute for each published station (while **Keep it fresh when
      nobody listens** is on, the default), while listeners are playing a station,
      and when you press “Detect” in the station editor, your WordPress server requests
      the stream’s status page or reads the first few kilobytes of the stream to
      get the song title. With **Keep it fresh when nobody listens** turned off,
      this only happens while someone is listening. The stream server receives your
      website server’s IP address and normal request headers. No visitor data is
      sent.
 * Terms and privacy: the stream server is chosen by you and run by you or your 
   streaming provider (for example AzuraCast, Radio.co, Zeno.FM or your own Icecast
   server), so its own terms of service and privacy policy apply. Check them with
   your provider.

**2. Share buttons (X, Facebook, WhatsApp)**

 * What it is and why: the listen page and station pages show plain links that let
   a visitor share the page.
 * When and what is sent: nothing is loaded from these sites when the page loads.
   Only when a visitor clicks a share link does their browser open the service, 
   which receives the shared page address and title and the visitor’s normal browser
   data.
 * X: [terms of service](https://x.com/en/tos), [privacy policy](https://x.com/en/privacy).
 * Facebook (Meta): [terms of service](https://www.facebook.com/terms.php), [privacy policy](https://www.facebook.com/privacy/policy/).
 * WhatsApp: [terms of service](https://www.whatsapp.com/legal/terms-of-service),
   [privacy policy](https://www.whatsapp.com/legal/privacy-policy).

All plugin scripts, styles and icons are served from your own site. The bundled 
hls.js and dash.js libraries contain web addresses such as XML namespace identifiers(
for example `http://schemas.xmlsoap.org/soap/envelope/`); these are names inside
the code and are never requested. dash.js’s default time server (`time.akamai.com`)
is turned off; clock sync uses the stream’s own manifest or server.

The optional “Powered by StreamSera” link on players is off by default and only 
appears if you turn it on in Settings.

### Privacy

StreamSera does not record listeners: it stores no IP addresses, user names or cookies
of its own, and keeps no listening statistics. To show what’s playing, your site
caches metadata reported by your stream server. Stream providers and your hosting
server may independently keep request logs.

StreamSera keeps a few listener preferences in the browser’s local storage, such
as the volume. None of it is sent to your server or anyone else.

### Credits

StreamSera bundles these open-source libraries:

 * [hls.js](https://github.com/video-dev/hls.js) 1.7.3 – Apache License 2.0 (`build/
   hls.js`, loaded only for HLS streams; license in `build/hls.js.LICENSE.txt`).
 * [dash.js](https://github.com/Dash-Industry-Forum/dash.js) 4.7.4 – BSD 3-Clause
   License (`build/dash.js`, loaded only for MPEG-DASH streams; license in `build/
   dash.js.LICENSE.txt`).

## Screenshots

[⌊Design your player in the visual builder and hear your stream as you go.⌉⌊Design
your player in the visual builder and hear your stream as you go.⌉[

Design your player in the visual builder and hear your stream as you go.

[⌊The station manager: what every station is playing, who's listening and which 
stream needs attention.⌉⌊The station manager: what every station is playing, who's
listening and which stream needs attention.⌉[

The station manager: what every station is playing, who’s listening and which stream
needs attention.

[⌊Card, hero and compact players in light and dark mode, in your own colors.⌉⌊Card,
hero and compact players in light and dark mode, in your own colors.⌉[

Card, hero and compact players in light and dark mode, in your own colors.

[⌊Add a station: its stream address, backup streams and where "now playing" comes
from.⌉⌊Add a station: its stream address, backup streams and where "now playing"
comes from.⌉[

Add a station: its stream address, backup streams and where “now playing” comes 
from.

[⌊Choose what listeners get while you're off air.⌉⌊Choose what listeners get while
you're off air.⌉[

Choose what listeners get while you’re off air.

[⌊The dashboard: which stations are on air and what to set up next.⌉⌊The dashboard:
which stations are on air and what to set up next.⌉[

The dashboard: which stations are on air and what to set up next.

[⌊The listen page, with a station switcher and share buttons.⌉⌊The listen page, 
with a station switcher and share buttons.⌉[

The listen page, with a station switcher and share buttons.

[⌊A searchable directory of your stations, each with its own page.⌉⌊A searchable
directory of your stations, each with its own page.⌉[

A searchable directory of your stations, each with its own page.

[⌊Player, Now playing and other blocks in the block editor.⌉⌊Player, Now playing
and other blocks in the block editor.⌉[

Player, Now playing and other blocks in the block editor.

[⌊Shortcodes with the options you pick, now-playing feeds and the OBS overlay.⌉⌊
Shortcodes with the options you pick, now-playing feeds and the OBS overlay.⌉[

Shortcodes with the options you pick, now-playing feeds and the OBS overlay.

## Blocks

This plugin provides 3 blocks.

 *   Listen Button A call-to-action that opens the listen page or plays the player
   on the page.
 *   StreamSera Player Embed a StreamSera radio player.
 *   Now Playing The current track with artwork, refreshing live.

## Installation

 1. In your WordPress admin go to **Plugins  Add New Plugin**, search for “StreamSera”
    and click **Install Now**, then **Activate**. Or upload the `streamsera` folder
    to `/wp-content/plugins/` and activate it on the **Plugins** screen.
 2. After activation the setup wizard opens. Paste your stream URL: StreamSera checks
    it, detects the server type and creates your first station and player.
 3. To do it by hand: go to **StreamSera  Stations**, add a station with its stream
    URL, then **StreamSera  Players** to design a player in the builder.
 4. Add the player to a page with the **StreamSera Player** block, a page-builder widget
    or the shortcode shown in the builder (for example `[streamsera id="12"]`), or 
    turn on the listen page under **StreamSera  Settings  General**.

#### Requirements

 * WordPress 6.6 or newer, PHP 7.4 or newer.
 * A stream URL from an Icecast, Shoutcast, HLS or DASH server. If your site runs
   on HTTPS, the stream should be HTTPS too, otherwise browsers block it.

## FAQ

### Can I run several stations?

Yes, as many as you like. Each station has its own streams, logo, now-playing source
and page. The station manager lists them all, a single player can switch between
them, and the station directory shows them to your listeners.

### Does it work with AzuraCast, Radio.co, Zeno.FM or Shoutcast hosting?

Yes. Paste the stream address your host gives you. StreamSera detects Icecast and
Shoutcast servers for song titles, and reads the title from inside the stream for
hosts that have no status page.

### Which streaming servers are supported?

Supported formats depend on the listener’s browser and codecs: MP3, AAC and Ogg/
Opus over HTTP(S), plus HLS (`.m3u8`) and MPEG-DASH (`.mpd`), which load extra support
only when a station uses them. If the connection drops, the player reconnects on
its own. Now-playing information (song, artist, listener count) is read from Icecast
2 and Shoutcast 1/2 servers, and the song title from inside the stream itself for
hosts without a status page (Zeno, SurferNetwork and many others).

### The player shows “Can’t play this stream” on my HTTPS site.

Browsers refuse to play an `http://` stream on an `https://` page (mixed content).
Ask your host for the HTTPS address of the stream (often port 443 or a `/stream`
path on the same host). The dashboard shows a notice for every station with an insecure
stream.

### Why does now playing take a few seconds to update?

To protect your stream server, metadata is fetched by your WordPress site in the
background, cached and shared by every listener. The interval is set under **StreamSera
Settings  Streams & now playing  Track info refresh** (15 seconds by default). While
at least one station is published, a light WP-Cron job runs every minute and only
contacts stream servers whose cached data has expired; turn off **Keep it fresh 
when nobody listens** on the same screen to fetch only while someone is listening.

### Will the music stop when a listener clicks a link?

The listen page opens in its own tab, so it keeps playing while the visitor browses.

### Does StreamSera work with my theme and page builder?

The player and blocks work with classic and block themes. StreamSera includes native
elements for Elementor, Divi 4 and Divi 5, a Player element for Beaver Builder and
Bricks, and its shortcodes work in Breakdance, Oxygen and any other page builder.

### Does StreamSera track listeners?

StreamSera does not collect listening statistics or send analytics to WPSera. Player
scripts and fonts are served locally. Your configured stream provider receives network
information when a listener connects, and may have its own logging practices. StreamSera
adds suggested privacy-policy text to **Settings  Privacy  Policy Guide**. See External
services and Privacy below.

### How do I remove all data when I delete the plugin?

Turn on **StreamSera  Settings  Access & data  Danger zone  Remove all data when
the plugin is deleted**. When the plugin is deleted, stations, players, saved skins
and settings are removed. With the setting off, your content stays so you can reinstall
without losing it.

### Where is the source code, and how do I build it?

The complete, human-readable source of everything in `build/` ships with the plugin:

 * `assets/src/` – the TypeScript/TSX source of the admin app, player, blocks and
   page-builder elements, and the SCSS source of every stylesheet.
 * `package.json`, `package-lock.json`, `webpack.config.js` and `tsconfig.json` –
   the build configuration. The build uses [@wordpress/scripts](https://www.npmjs.com/package/@wordpress/scripts)(
   webpack).

To rebuild `build/` from the source, install Node.js 20.19 or newer, open the plugin
folder in a terminal and run:

    ```
    npm ci
    npm run build

    npm run start rebuilds automatically while you edit. The stylesheets and scripts of the stand-alone pages (`assets/css/`, `assets/js/`), the Divi 5 Visual Builder script (`assets/divi5/visual-builder.js`) and the Divi module definitions (`divi5/`) are not compiled; they are their own source.
    ```

The streaming libraries [hls.js](https://github.com/video-dev/hls.js) and [dash.js](https://github.com/Dash-Industry-Forum/dash.js)
are installed from npm (`hls.js` and `dashjs` in `package.json`) and bundled into`
build/hls.js` and `build/dash.js` by the same build. Their source code is in the
linked repositories; versions and licenses are listed under Credits.

### Is there a Pro version?

Yes. [StreamSera Pro](https://wpsera.com/streamsera/) is a separate add-on with 
schedules, requests, statistics, a sticky player, playlists and more. The free plugin
works fully on its own and is not limited in time or in the number of stations.

### Is there a command line or an API?

Yes. WP-CLI: `wp streamsera station` (including `import-csv` for a CSV with `title`
and `stream_url` columns, optionally `slogan`, `website`, `genre` and `logo` as 
a Media Library ID), `wp streamsera player`, `wp streamsera cache`, `wp streamsera
health check`, `wp streamsera export` and `wp streamsera settings`. There is also
a `streamsera/v1` REST API, PHP filters for layouts, skins, page elements and metadata
sources, and a `window.StreamSera` JavaScript API.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“StreamSera – Live Radio Player & Station Manager” is open source software. The 
following people have contributed to this plugin.

Contributors

 *   [ WPSera ](https://profiles.wordpress.org/wpsera/)

[Translate “StreamSera – Live Radio Player & Station Manager” into your language.](https://translate.wordpress.org/projects/wp-plugins/streamsera)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/streamsera/), check
out the [SVN repository](https://plugins.svn.wordpress.org/streamsera/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/streamsera/) by 
[RSS](https://plugins.trac.wordpress.org/log/streamsera/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.0

 * Initial release.

## Meta

 *  Version **0.1.0**
 *  Last updated **18 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [icecast](https://wordpress.org/plugins/tags/icecast/)[Live Stream](https://wordpress.org/plugins/tags/live-stream/)
   [radio](https://wordpress.org/plugins/tags/radio/)[Radio station](https://wordpress.org/plugins/tags/radio-station/)
   [shoutcast](https://wordpress.org/plugins/tags/shoutcast/)
 *  [Advanced View](https://wordpress.org/plugins/streamsera/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/streamsera/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/streamsera/reviews/)

## Contributors

 *   [ WPSera ](https://profiles.wordpress.org/wpsera/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/streamsera/)