Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust transcoding bitrate #121

Closed
amitjethani opened this issue Feb 17, 2021 · 5 comments
Closed

Adjust transcoding bitrate #121

amitjethani opened this issue Feb 17, 2021 · 5 comments

Comments

@amitjethani
Copy link

Love the ability to set a transcode profile based on client. However, I request a further enhancement where the server admin can specify the bitrate as well as 128 kbps is on the lower side of what I would prefer. Ideally this is a configuration variable that can be specified as a Docker environment variable or can be adjusted directly on the management page.

@sentriz
Copy link
Owner

sentriz commented May 12, 2021

thats a cool idea. the meantime though, maybe it could be nice to just provide more presets, other than the 4 we have now? what sort of bitrates etc would you want to see?

@amitjethani
Copy link
Author

That would work just as well! I'm drawing some inspiration from a popular music app's settings panel, but here is one idea for presets:

  • 64 kbps (for bandwidth constrained/audiobooks)
  • 160 kbps
  • 320 kbps
  • lossless (no transcoding)

@spijet
Copy link
Contributor

spijet commented Jun 29, 2021

Unfortunately, Subsonic API doesn't provide a way to "say" the server that you want to stream something without transcoding, IIRC. It does provide a /download endpoint though (which will give you the requested track exactly as it's stored on the server), but I'm not sure if it's supposed to send the data the same way as /stream in terms of suitability for (near) real-time streaming.

As for custom bitrates: current transcoding implementation allows you (the client) to specify your desired bitrate. See the this iSub screenshot for example.
image

If your client app sends the desired bitrate as a request parameter, and if it's lower than source track's bitrate, it'll be transcoded to the bitrate your app requested:

	case opts.PreferredBitrate != 0 && opts.PreferredBitrate < opts.TrackBitrate:
		profile.Bitrate = opts.PreferredBitrate
		log.Printf("transcoding according to client request of %dk \n", profile.Bitrate)

@scrufulufugus
Copy link

scrufulufugus commented Jul 25, 2021

Airsonic (and I would assume Subsonic) seems to support clients specifying format=raw to get and un-transcoded stream. The play:Sub client uses it if you specify an unlimited bitrate.

In the API documentation:
2021-07-25 16-40-45-1

@sentriz
Copy link
Owner

sentriz commented May 6, 2023

gonna close in favour of #244

@sentriz sentriz closed this as completed May 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants