Azuracast api integration in discourse

azuracast api integration in discourse

azuracast Link

azuracast api Link Swagger UI

The AzuraCast software is an open source complete solution for operating a web radio. All functions are controlled via a browser, even a completely browser-based streaming client has been implemented. Radio automation is constantly being developed and some features still need to be improved, but the software can already be used productively.

The substructure of AzuraCast is based on tried-and-tested components, and nevertheless tries to correspond to the current state of the art. The Icecast streaming platform (Shoutcast optional) and the Liquidsoap script language are used to set up the streaming platform; the individual streams are managed using an extensive web application. In order to make installation on all systems as easy as possible, all components are virtualized with a Docker container. The setup is reduced to a few command line commands, the rest is done in the browser. AzuraCast should therefore run on all common Linux systems. ARM-based platforms such as the Raspberry Pi are currently not supported.

For more diversity on the radio
The basic principle of the platform is the possibility of offering several self-contained stations instead of just one radio station. In this way, not only can a complete hosting service be operated, but also a web radio that offers the right music color for every taste. Each station has its own profile and manages its own music files and playlists. Furthermore, users can be created who are allowed to send live broadcasts via the integrated web DJ or via traditional streaming software. Extensive settings, statistics and other administration tools round off the interface perfectly. We even thought of users of assistive technology, because the entire surface can be operated very well with screen readers.

Need for improvement in the broadcasting process
The rotation is designed using playlists. In the user interface, however, you do not initially see the files assigned to the lists, but only the settings and planning rules, which could make switching from other radio automation systems a bit confusing. When editing a playlist, it is determined whether it is a song-based or a URL playback, i.e. external content such as delivered messages or programs. Mixed playlists, however, are not yet possible. For example, a message container with a local opener file, messages delivered via URL and a local closer would only be possible indirectly. The playlists in the music files area are filled with content. Individual files or complete folders can be assigned to any number of playlists, so multiple uploading of files is not necessary. New content can be uploaded via the browser. With large amounts of data, a temporary FTP server can be set up in the Docker container, but this requires intervention via the command line.

The behavior of the Auto-DJ is defined in the administration area of ​​a station. This shows that the so-called crossfading, i.e. the transitions between individual files, also offers a smart option, which takes the volume of the tracks into account when mixing, but does not yet contain any silence detection, which sometimes makes the transitions between songs seem rather bumpy . There are also no separate fading settings for different types of files. While the transitions between pieces of music can be quite longer, you want to broadcast jingles or voice tracks with little or no fading. So there is still a lot to optimize here. After all, AzuraCast already offers experienced users the option of injecting their own code into the Liquidsoap configuration.

AzuraCast is in constant development and is currently being updated almost daily. Even if the software can already be used productively, experienced radio makers will still want to wait for one or the other feature. But for the fact that only a few main developers lead the project, AzuraCast can be seen and in some points even surpasses similar, commercial products. So it’s worth keeping an eye on. Thanks to the simple Docker installation, a test environment for monitoring progress can be set up quickly.

The development takes place on GitHub. The team also offers individual software components for use in their own projects, including a PHP-based title display for Icecast streams. The website with installation instructions and support options can be found on

One can only hope that AzuraCast does not fizzle out like the airtime presented here a few years ago and its

API integration with AzureCast is a pretty broad scope of work. I’m assuming the kind of integration you want with AzureCast in Discourse is a onebox that links to a radio station?

:arrow_up: Which doesn’t appear to be working. A onebox embed should be able to have a little audio player like this in a Discourse topic:


Looks like AzureCast has support for embedding:

Public Pages: AzuraCast includes embeddable public pages that you can integrate into your existing web page or use as the basis for your own customized player.

So something like this should be possible like we have for soundcloud: