Option not to transcode lossy music

Feature description:

A basic implementation would be: if the source file is already encoded in a lossy format, ignore transcoding setting and serve the file as is.

Problem solved:

I use Navidrome as backend. My library is a mix of lossless (FLAC) and lossy (mp3, ogg, aac) music. If I enable transcoding, I’m served an encoded file regardless of the source format.

This causes two problems:

  1. if source bitrate is lower than the setting, the served file is larger than source.
  2. Transcoding across lossy formats (e.g. mp3 to ogg) causes - admittedly very minor - artifacts in the audio.

Brought benefits:

Data saving for problem 1). Peace to the dozens of audiophiles bothered by 2) :slightly_smiling_face:

Mockup:

From a data saving point of view, default behaviour should be that if source bitrate is lower than quality setting, the file should be served as-is.

For quality, options could be added in the ‘Playback’ section of the settings:

  1. Never transcode from lossy format/only transcode lossless formats
  2. only transcode if source bitrate is greater than…

Those are stuff for the server side normally, all other servers than Subsonic have the proper API to handle those cases.

For 1) this is a ffmpeg command line issue on Navidrome side
For 2) I’m sorry but you don’t say audiophile and mp3 in the same sentence :wink:

There’s plans to improve and extend Subsonic API with the servers, but it will take time.

Until then no solution for 2 and for 1 you need to see with Navidrome.

1 Like

Sometimes, all that you can find is a 128kbps MP3, and make do with it :sweat_smile:

Thanks for the reply. I’ll have a look at the other backend options.

Did you find a solution to this? I love the flac to opus transcoding, but when I’m served with an opus file when the source is an mp3 it makes me anxious about the lossy transcoding :rofl: