jellyfin-chromecast
jellyfin-chromecast copied to clipboard
No audio when casting to Chromecast
Describe the bug When casting to Chromecast, I get no audio. If I try to adjust the volume, it says "Surround sound enabled." (I'm not sure if this is related, but I figured I'd mention it for clarity). However, my device does not support surround sound (it only has a stereo output). It is very well possible that my device falsely reports that it does support surround sound since it is a Chinese projector. Other applications such as YouTube and Spotify work just fine and play audio correctly.
System (please complete the following information):
- OS: Xubuntu
- Virtualization: Docker
- Clients: Chromecast 2.1.0
- Browser: N/A
- Jellyfin Version: 10.6.2
- Playback: both transcode & direct stream
- Installed Plugins: nothing relevant (defaults & Trakt)
- Reverse Proxy: Traefik 2
- Base URL: none
- Networking: bridge
- Storage: local
To Reproduce
- Cast anything to Chromecast
- See video, hear no audio
Expected behavior I expected to hear audio.
Logs The logs do not report any errors, not in the main log and not in the directstream/transcode log. When transcoding a file with 5.1 audio (e.g. for video/subtitle reasons), it copies the 5.1 stream.
Additional context Direct streaming stereo & 5.1 does not work, and neither does transcoding stereo & 5.1. I have no clue why it's not working. If I cast my screen to the Chromecast on Android and then play the media in the Jellyfin Android app, everything works as expected (I get both video and audio).
If any additional information is required, please let me know.
Update: I installed Plex to see if this would resolve my issue, and it did. However, this was only because the default setting was an abysmally low 720p@4Mbps for streaming to the Chromecast, which also lead to transcoding the audio to a suitable format (unsure what exactly this is, but I assume a widely supported codec and stereo audio). I upped the quality because the image was blurry and bad, and lo and behold, in Plex the audio stopped working too.
After Googling around a bit, it seems like this is a Chromecast issue. The Chromecast will happily accept surround sound, even if the device it's outputting to does not support this. There is no way to disable this behavior from what I've found on the internet. The suggested solution I've found everywhere is to change your TV settings - however, my projector does not have such a setting, so I can't.
Could an option be added to Jellyfin to force audio transcoding (ideally, only to specific devices such as Chromecasts, preferably configurable so that any other audio related issues with different setups can be resolved)? This would solve my issue (and future issues - after Googling, I've seen many people having problems with this with different applications). I am not sure if this is hard to implement, but it seems like the solution. I'd prefer not to buy a physical HDMI audio splitter to solve this problem.
Chromecasts can be quite tricky with audio, I've experienced many an issue myself. A temporary solution to your problem could be to re-encode your media to have a stereo track as well as a surround sound track. Jellyfin doesn't support forced audio transcoding to certain devices as far as I can tell, but using something like mp4_automator would let you add a stereo track to whatever media you want, circumnavigating the need for forced transcoding. This may not be an ideal long term solution, maybe open a feature request?
Is this still an issue on the unstable receiver? I've tweaked the device profiles to remove support for the codecs supported via passthrough only @Pegasystem
Do you see a setting in the google home app for it called "surround mode" and can you set it to "stereo only"?
When AC-3 starts working on CAF, we will have to try using passthrough if the chromecast says it can handle it. This will be disabled if either the chromecast doesn't detect AC-3 hardware, or it's set to stereo only in the google home app.
If you see this setting, please set it and then check again with the stable receiver :)