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

[FR] Volume normalisation / night mode #1434

Closed
mrx23dot opened this issue Feb 10, 2022 · 6 comments
Closed

[FR] Volume normalisation / night mode #1434

mrx23dot opened this issue Feb 10, 2022 · 6 comments
Labels
enhancement New feature or request

Comments

@mrx23dot
Copy link

Describe the feature you'd like

Is anyone else annoyed by explosions in movies at night while family is asleep?

Expensive audio receivers have movie mode, where it compresses the dynamic range and applies volume normalization, so whispering would be almost the same level as shouting in an explosion.

Same goes for intro in series.

A feature like this in settings would be great.
Please vote up.

@mrx23dot mrx23dot added the enhancement New feature or request label Feb 10, 2022
@mrx23dot mrx23dot changed the title Volume normalisation / night mode [FR] Volume normalisation / night mode Feb 10, 2022
@Goblinlordx
Copy link

I would really love this but I do think this would probably be best implemented on the server? I expect this could be implemented using ffmpeg and audio transcoding. I think the more complicated part would be settling on reasonable settings which would accomplish this appropriately. Either way, would really like to see this no matter how it is done 👍 .

@mrx23dot
Copy link
Author

Server side would require transcoding to be always enabled I guess, but it's better than nothing.
ffmpeg has already built in modules:

loudnorm: loudness normalization according to EBU R128. You can set an integrated loudness target, a loudness range target, or maximum true peak. This is recommended for publishing audio and video and it is used by broadcasters all over the world.
single pass for livestreams

looks great
ffmpeg -i file_example_MP3_5MG.mp3 -filter:a loudnorm=i=-24:tp=-2:lra=7,volume=5dB file_example_MP3_5MG_proc0.mp3
comp

@Goblinlordx
Copy link

Goblinlordx commented Feb 23, 2022

Well I don't think it would necessarily need to be on 100%. Though, if it is used often then it essentially would be. Either way, I don't think that is necessarily problematic but something that the person running the server should probably be aware of and maybe optionally allow users to use or not.

I expect a combination of both acompressor and loudnorm might be best but this is definitely out of my area of expertise. The wave form changes you show above definitely look pretty good to me so maybe just loudnorm is sufficient 👍 .

I do think it would take a lot more effort to implement on a client-side basis though anyways. Doing it server-side would allow it to be enabled regardless of client. There are also already transcoding support for the stream implemented on the server-side. Maybe we can open up this issue on the jellyfin/jellyfin project. I would love to see this implemented and will help where I can (I am not a C# dev so the codebase is a bit foreign to me though).

@mrx23dot
Copy link
Author

Sure, it should be an option in server config.
loudnorm should be enough, this is what's being used in broadcast TV, as a standard.
Do you have rights to transfer this ticket over to jellyfin/jellyfin?
Cheers

@Goblinlordx
Copy link

Goblinlordx commented Feb 23, 2022

I don't, but you can file an issue on the project same as this one. Reference this one in it (just paste the URL for this one somewhere in the description).

jellyfin/jellyfin feature request: URL

Edit: They don't want requests directly on github. The link above is for where to file the request.

@Goblinlordx
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants