Icecast
Parse metadata from any Icecast Station (streams) to use for scrobbling.
There is no standard format for presenting track information in an Icecast stream and the majority of streams that do include metadata only use a single string (StreamTitle) from which metadata can be parsed.
Multi-scrobbler will do its best to parse Artist/Album/Track information from this data but the quality and consistency for this is solely based on how the Icecast broadcaster chooses to format their tracks.
Multi-scrobbler cannot automatically determine if you are listening to a Station. Therefore, automatic scrobbling for Icecast Sources is off by default. Use Should Scrobble Behavior to initiate scrobbling or configure automatic scrobble.
Should Scrobble Behavior
This Source supports toggling scrobbling on or off manually. This action can be taken on the Web Dashboard by clicking the link next to Should Scrobble found in each Source's status card.
Additionally, the default behavior for scrobbling can be explicitly set by adding the following value to a Source's options in file or aio config:
{
"data": {
// ...
},
"options": {
// set to true to always scrobble automatically
// set to false to never scrobble automatically
"systemScrobble": true
}
}}
Icecast does not report track lengths so multi-scrobbler cannot determine if it should scrobble based on percent played. You should instead set a shorter "listened to" duration using Scrobble Thresholds.
URL and Sources
The URL should be the URL you would use to stream audio.
Additional sources are supported based on those found in icecast-metadata-stats. To use these with automatic parsing based on the regular URL include a sources array in your config the same way as shown in icecast-metadata-stats:
Example
[
{
"name": "myIcy",
"enable": true,
"data": {
"url": "http://myIcecast.com/radio",
"sources": ["icy", "ogg", "sevenhtml"]
}
}
]
To manually set these sources include the same *Endpoint options found in icecast-metadata-stats.
If no sources are configured for multi-scrobbler it will automatically try to use icy and ogg.
Configuration
- ENV
- File
- AIO
This is configuration for the ENV Config Type.
| Environmental Variable | Required? | Default | Description |
|---|---|---|---|
ICECAST_URL | Yes | Icecast URL |
Config Structure
This displays the structure of the File Configuration for a icecast type Source with all possible properties, their shape, and descriptions/types. Use this to understand how to write a valid config.
Config Example
This displays an example config file of a icecast Source File Configuration that adheres to the shown Config Structure.
- text mode lets you edit the JSON directly.
- tree mode gives you a guided point-and-click editing experience that always keeps the JSON syntax valid.
Both modes validate that the configuraion is correct. Any errors show up as squiggly lines.
After you finish editing, switch to text and then copy all text to get a completed config.
Config Example Mobile Experience
This displays an example config file of a icecast Source File Configuration that adheres to the shown Config Structure.
The example config file editor is meant for a larger screen experience so only the read-only example is shown. Please use this site on a tablet/laptop/desktop to enable file editor features.
[
{
"name": "myIcy",
"enable": true,
"data": {
"url": "http://myIcecast.com/radio"
}
}
]
Config Structure
This displays the structure of the all-in-one (config.json) configuration with all possible properties, their shape, and descriptions/types. Use this to understand how to write a valid config.
Select the icecast type from the respective sources node below, then expand it.
Config Example
This displays an example config file of a all-in-one (config.json) configuration that includes a icecast Source that adheres to the shown Config Structure.
- text mode lets you edit the JSON directly.
- tree mode gives you a guided point-and-click editing experience that always keeps the JSON syntax valid.
Both modes validate that the configuraion is correct. Any errors show up as squiggly lines.
After you finish editing, switch to text and then copy all text to get a completed config.
Config Example Mobile Experience
This displays an example config file of a all-in-one (config.json) configuration that includes a icecast Source that adheres to the shown Config Structure.
The example config file editor is meant for a larger screen experience so only the read-only example is shown. Please use this site on a tablet/laptop/desktop to enable file editor features.
{
"sources": [
{
"name": "myIcy",
"enable": true,
"data": {
"url": "http://myIcecast.com/radio"
},
"type": "icecast"
}
]
}