I know that Opus is not supported on Sonos but is there any way to enforce transcoding Opus to FLAC instead of MP3 when casting to Sonos?
Currently an Opus 128kbps file is transcoded (server side, on navidrome) to an MP3 128kbps file (which is lower quality). Knowing that the initial file is already compressed, that my Subsonic Server is local and so are my Sonos devices and I don’t care about bandwidth, can I enforce transcoding to FLAC instead of MP3?
This is not really possible with the way the API was built, Symfonium says transcode to FLAC or to MP3 for SONOS, but Navidrome logically transcoding lossy to lossy.
Well, you could set the SONOS profile to only transcode to FLAC. Besides that, Navidrome won’t try to transcode if the max bitrate supported by the profile is higher than the file’s bitrate.
Actually I’m wrong, my memory failed: Navidrome does not allow lossy → lossless as well. But should this be supported if the client profile only specifies a lossless format? My gut feeling says it should.
Before this issue I would have said no, but in this specific case opus → mp3 at the same bitrate it’s actually a real quality downgrade so it eventually make sense.
The problem of the current API is that there’s ordering of the codecs, so if FLAC is first anything lossy would now be transcoded to FLAC when it does not really make sense in many cases.
And if I only put FLAC and no MP3 but add a bitrate limit then it will fail as not transcode target, this bring back a lot more things to handle client side than currently.