Skip to content

Google Cast (Chromecast)

If your media device can be Cast to using this button Chromecast Icon on your phone/computer then multi-scrobbler can monitor it in order to scrobble music you play.

Cast devices can be manually configured using file-based configuration OR automatically discovered using mDNS.

The host machine running multi-scrobbler must be configured to allow mDNS traffic on port 5353/UDP.

OS Specific Instructions

Docker

The host machine must have avahi-daemon running to circumvent limitations with DNS resolution due to musl in Alpine. Most major linux distributions package avahi and many have it built-in. Once avahi is running you must pass D-Bus and the avahi daemon socket to your container like so:

Terminal window
docker run ... -v /var/run/dbus:/var/run/dbus -v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket ... foxxmd/multi-scrobbler

Flatpak/Nodejs

No additional steps are required.

Cast devices report what type of media the current activity is (see metadata property here). The reported type is dependent on the application playing the media to correctly report it, the cast device does not magically know what the media is. If an application does not report a type it is always classified as unknown.

By default, MS will only track media that is reported as MusicTrack.

Media with an Unknown (Generic) media type can be explicitly allowed by setting "allowUnknownMedia": true in the file-based configuration. This can also be configured to only allow unknown media types for specific applications by using a list of application names.

Example
chromecast.json
[
{
"name": "MyCast",
"type": "chromecast",
"data": {
"allowUnknownMedia": ["smarttube", "default media receiver"]1
},
}
]
  1. 1.only allow unknown if app name contains any of these phrases

MS can be forced to track media from an application regardless of media type. This is useful if an application incorrectly reports a media type you are sure should be music. Set "forceMediaRecognitionOn" in the file-based configuration to a list of application names that should always be tracked.

Example
chromecast.json
[
{
"name": "MyCast",
"type": "chromecast",
"data": {
"forceMediaRecognitionOn": ["smarttube", "default media receiver"]1
},
}
]
  1. 1.media from applications that contains these phrases will always be tracked, regardless of media type reported

Please include any/all logs with raw output if there are any errors encountered as this is critical to diagnosing issues.

To diagnose bad/incomplete track information or strange MS player behavior please turn on payload logging and include log output of the source running to help diagnose this issue. Either enable in config using the below example OR enable Debug Mode.

Example
chromecast.json
[
{
"name": "MyCast",
"type": "chromecast",
"data": {
//...
},
"options": {
"logPayload": true
}
}
]

Configuration Type

This is configuration for the ENV Config Type.

Environmental Variable Type Default Description
CC_ID string A globally unique ID EX myComponentId
CC_NAME string Value of CC_ID A vanity name EX My Cool Component
CC_ENABLE boolean true Should this component be used?
CC_BLACKLIST_DEVICES string DO NOT scrobble from any cast devices on this comma-delimited list that START WITH these values
CC_WHITELIST_DEVICES string ONLY scrobble from any cast device on this comma-delimited list that START WITH these values
CC_BLACKLIST_APPS string DO NOT scrobble from any application on this comma-delimited list that START WITH these values
CC_WHITELIST_APPS string ONLY scrobble from any application on this comma-delimited list that START WITH these values

Bold/Italic = Required