mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 11:34:57 +02:00
switch to audio filter for volume
This commit is contained in:
parent
63e16a4d99
commit
cb3089791e
2 changed files with 39 additions and 32 deletions
|
@ -72,12 +72,6 @@ namespace MediaBrowser.Api.Playback.Hls
|
|||
if (channels.HasValue)
|
||||
{
|
||||
args += " -ac " + channels.Value;
|
||||
|
||||
// Boost volume to 200% when downsampling from 6ch to 2ch
|
||||
if (channels.Value <= 2 && state.AudioStream.Channels.HasValue && state.AudioStream.Channels.Value > 5)
|
||||
{
|
||||
args += " -vol 512";
|
||||
}
|
||||
}
|
||||
|
||||
if (state.Request.AudioSampleRate.HasValue)
|
||||
|
@ -90,7 +84,15 @@ namespace MediaBrowser.Api.Playback.Hls
|
|||
args += " -ab " + state.Request.AudioBitRate.Value;
|
||||
}
|
||||
|
||||
args += " -af \"aresample=async=1000\"";
|
||||
var volParam = string.Empty;
|
||||
|
||||
// Boost volume to 200% when downsampling from 6ch to 2ch
|
||||
if (channels.HasValue && channels.Value <= 2 && state.AudioStream.Channels.HasValue && state.AudioStream.Channels.Value > 5)
|
||||
{
|
||||
volParam = ",volume=2.000000";
|
||||
}
|
||||
|
||||
args += string.Format(" -af \"aresample=async=1000,{0}\"", volParam);
|
||||
|
||||
return args;
|
||||
}
|
||||
|
|
|
@ -184,36 +184,41 @@ namespace MediaBrowser.Api.Playback.Progressive
|
|||
// Get the output codec name
|
||||
var codec = GetAudioCodec(request);
|
||||
|
||||
if (codec.Equals("copy", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return "-acodec copy";
|
||||
}
|
||||
|
||||
var args = "-acodec " + codec;
|
||||
|
||||
// If we're encoding audio, add additional params
|
||||
if (!codec.Equals("copy", StringComparison.OrdinalIgnoreCase))
|
||||
// Add the number of audio channels
|
||||
var channels = GetNumAudioChannelsParam(request, state.AudioStream);
|
||||
|
||||
if (channels.HasValue)
|
||||
{
|
||||
// Add the number of audio channels
|
||||
var channels = GetNumAudioChannelsParam(request, state.AudioStream);
|
||||
|
||||
if (channels.HasValue)
|
||||
{
|
||||
args += " -ac " + channels.Value;
|
||||
|
||||
// Boost volume to 200% when downsampling from 6ch to 2ch
|
||||
if (channels.Value <= 2 && state.AudioStream.Channels.HasValue && state.AudioStream.Channels.Value > 5)
|
||||
{
|
||||
args += " -vol 512";
|
||||
}
|
||||
}
|
||||
|
||||
if (request.AudioSampleRate.HasValue)
|
||||
{
|
||||
args += " -ar " + request.AudioSampleRate.Value;
|
||||
}
|
||||
|
||||
if (request.AudioBitRate.HasValue)
|
||||
{
|
||||
args += " -ab " + request.AudioBitRate.Value;
|
||||
}
|
||||
args += " -ac " + channels.Value;
|
||||
}
|
||||
|
||||
if (request.AudioSampleRate.HasValue)
|
||||
{
|
||||
args += " -ar " + request.AudioSampleRate.Value;
|
||||
}
|
||||
|
||||
if (request.AudioBitRate.HasValue)
|
||||
{
|
||||
args += " -ab " + request.AudioBitRate.Value;
|
||||
}
|
||||
|
||||
var volParam = string.Empty;
|
||||
|
||||
// Boost volume to 200% when downsampling from 6ch to 2ch
|
||||
if (channels.HasValue && channels.Value <= 2 && state.AudioStream.Channels.HasValue && state.AudioStream.Channels.Value > 5)
|
||||
{
|
||||
volParam = ",volume=2.000000";
|
||||
}
|
||||
|
||||
args += string.Format(" -af \"aresample=async=1000,{0}\"", volParam);
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue