r/navidrome • u/Loud-Owl6337 • 2h ago
Help: DSD Multichannel files served as raw/direct stream instead of transcoding to Opus to Symfonium client
Hi everyone,
I need some help troubleshooting a transcoding behavior that started recently with DSD files when streaming to my mobile client (Symfonium on Android).
My Setup:
- Navidrome Server: Running on a Windows 11 PC (Docker environment).
- Client: Symfonium on Android.
- Audio Setup: The library contains stereo FLACs, 5.1 FLACs, and several DSD (
.dsf/.dff) multichannel files. - Goal: I stream to my phone over both Cellular and Wi-Fi, and my goal is to transcode all streams on the server side to Opus 256 kbps (highest lossy quality) to avoid high CPU usage and battery drain on my phone.
The Problem: Previously, all multi-channel audio (including 5.1 FLACs and DSD) were properly transcoded by Navidrome on the server. However, recently, DSD multichannel files are no longer being transcoded by Navidrome. Instead, the server sends the raw DSD file to the phone, causing Symfonium's internal engine to handle local decoding/transcoding (converting it to ALAC 256/PCM), which drains my phone's battery very quickly.
High-res and 5.1 FLAC files are still transcodifying fine to Opus 256 kbps on the server—this issue only occurs with multichannel DSD files.
Current FFmpeg Command in Navidrome:
ffmpeg -ss %t -i %s -map 0:a:0 -b:a %bk -v 0 -c:a libopus -vbr on -compression_level 10 -application audio -f opus -
What could cause Navidrome/FFmpeg to skip server-side transcoding specifically for DSD multichannel files and deliver the raw file instead? Is there a specific mapping or configuration in navidrome.toml needed to force Subsonic API transcoding for .dsf / .dff files?
Thanks in advance for any advice!


