--- title: Icecast toc_min_heading_level: 2 toc_max_heading_level: 5 description: Icecast Source Configuration --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import CodeBlock from '@theme/CodeBlock'; import IcecastConfig from '!!raw-loader!@site/../config/icecast.json.example'; import ENVConfig from "@site/docs/configuration/sources/_env_configs/_icecast.md" import ShouldScrobble from "@site/src/components/snippets/_should-scrobble-details.mdx" Parse metadata from any Icecast Station (streams) to use for scrobbling. :::note 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 monitoring for Icecast Sources is off by default.** Use **Monitoring Behavior** to initiate scrobbling or configure automatic scrobble. :::tip[Scrobbling Threshold] 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.](/configuration/sources#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`](https://github.com/eshaz/icecast-metadata-js/tree/main/src/icecast-metadata-stats#supported-status-apis). To use these with automatic parsing [based on the regular URL](https://github.com/eshaz/icecast-metadata-js/tree/main/src/icecast-metadata-stats#options) include a `sources` array in your config the same way as shown in `icecast-metadata-stats`:
Example ```json5 title="config.json" [ { "name": "myIcy", "enable": true, "data": { "url": "http://myIcecast.com/radio", "sources": ["icy", "ogg", "sevenhtml"] } } ] ```
To manually set these sources include the same [`*Endpoint` options](https://github.com/eshaz/icecast-metadata-js/tree/main/src/icecast-metadata-stats#options) found in `icecast-metadata-stats`. If no `sources` are configured for multi-scrobbler it will automatically try to use `icy` and `ogg`. ## Configuration