Open ywwg opened 2 years ago
For context, I got in contact with the azuracast dev and they are interested in a collaboration or at least knowledge-sharing
Hello everyone! AzuraCast lead dev and maintainer here!
For those of you unfamiliar with AzuraCast, basically we bundle a suite of open-source software together and then ensure everything is configured to speak to each other correctly and can be managed by our own web UI. It's effectively a web radio station "in a box".
For inbound DJ connections, we use our Liquidsoap AutoDJ to handle those connections. Right now, for Mixxx, that means just a standard Icecast connection. However, a lot of broadcasters like to be able to view the live metrics for their broadcasting endpoint, which isn't possible via this setup (as Liquidsoap doesn't itself know/report how many listeners are connected to the public-facing Icecast server). This could be possible by detecting that the installation you're connecting to is an AzuraCast one and instead using the public-facing Now Playing API endpoint for the corresponding station.
I'm not sure that this would offer too much of a value-add to users, but in general I like to keep communication channels open between us FOSS projects in the broadcasting/media space. :)
Thank you buster for making the project a success, I really appreciate your effort over the years. Love you from Nigeria.
How can I change my radio IP address to my register domain address? I need a practical tutorial.
I skimmed through the documents of Azuracast, but it is hard to see the building blocks of this project. @BusterNeece can you add some references and a short receipt what is needed to do here?
So, after thinking it through, I think we have one big area where our two projects could collaborate in a way that would be huge for the stations that use both of our software tools:
Right now, because of the limitations of Icecast/Shoutcast, the only metadata sent over by most DJ clients is "Artist - Title". We do our very best to extrapolate from this (using services like last.fm and MusicBrainz) but it's inaccurate at best, and really doesn't result in a rich experience.
Since Mixxx has much richer metadata available about the current playing tracks, it could send that rich metadata over to us via an API endpoint that authenticates with the same credentials as the DJ connection so streamers don't have to enter two separate credentials. It may even be possible for us, in the header response of the Liquidsoap Icecast harbor, to indicate that we're an AzuraCast server and provide our corresponding "update rich metadata" endpoint.
If using Mixxx with AzuraCast together meant that listeners got rich metadata even for live-streamed tracks, that would be basically a "killer app" in the open-source web radio ecosystem. No functionality of this sort exists anywhere in the FOSS ecosystem as far as I'm aware, and this kind of function rivals the kind of tight integration that paid commercial solutions often enjoy. We could work to standardize the API endpoints so other software could use them as well. I've reached out to the developer of BUTT (Broadcast Using This Tool) and the iziCast mobile client before, and if we had an API like this in our software it's possible we could get them on board as well.
Feature Description
Azuracast is an AGPL suite for managing a streaming radio station. They recommend using mixxx to integrate with their suite. It might be possible to provide better integration in the other direction by adding Azura-specific configuration options and code to the streaming section of mixxx. Currently they are compatible with icecast but the integration could be richer.