remove dynaudnorm filter (#1573)

This commit is contained in:
Jason Dove
2024-01-25 19:56:14 -06:00
committed by GitHub
parent 60b3bc92f4
commit 45c04366c9
12 changed files with 9897 additions and 10 deletions
+3
View File
@@ -48,6 +48,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- In schedule items, disambiguate seasons from shows with the same title by including show year - In schedule items, disambiguate seasons from shows with the same title by including show year
- Old format: `Show Title (Season Number)` - Old format: `Show Title (Season Number)`
- New format: `Show Title (Show Year) - Season Number` - New format: `Show Title (Show Year) - Season Number`
- Remove FFmpeg Profile `Normalize Loudness` option `dynaudnorm` as it often caused streams to fail to start
- Disable loudness normalization by default in new FFmpeg Profiles
- Use AAC audio format by default in new FFmpeg Profiles
## [0.8.4-beta] - 2023-12-02 ## [0.8.4-beta] - 2023-12-02
### Fixed ### Fixed
+2 -2
View File
@@ -35,12 +35,12 @@ public record FFmpegProfile
ResolutionId = resolution.Id, ResolutionId = resolution.Id,
Resolution = resolution, Resolution = resolution,
VideoFormat = FFmpegProfileVideoFormat.H264, VideoFormat = FFmpegProfileVideoFormat.H264,
AudioFormat = FFmpegProfileAudioFormat.Ac3, AudioFormat = FFmpegProfileAudioFormat.Aac,
VideoBitrate = 2000, VideoBitrate = 2000,
VideoBufferSize = 4000, VideoBufferSize = 4000,
AudioBitrate = 192, AudioBitrate = 192,
AudioBufferSize = 384, AudioBufferSize = 384,
NormalizeLoudnessMode = NormalizeLoudnessMode.DynAudNorm, NormalizeLoudnessMode = NormalizeLoudnessMode.Off,
AudioChannels = 2, AudioChannels = 2,
AudioSampleRate = 48, AudioSampleRate = 48,
DeinterlaceVideo = true, DeinterlaceVideo = true,
@@ -3,6 +3,5 @@ namespace ErsatzTV.Core.Domain;
public enum NormalizeLoudnessMode public enum NormalizeLoudnessMode
{ {
Off = 0, Off = 0,
LoudNorm = 1, LoudNorm = 1
DynAudNorm = 2
} }
@@ -153,7 +153,6 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
playbackSettings.NormalizeLoudnessMode switch playbackSettings.NormalizeLoudnessMode switch
{ {
NormalizeLoudnessMode.LoudNorm => AudioFilter.LoudNorm, NormalizeLoudnessMode.LoudNorm => AudioFilter.LoudNorm,
NormalizeLoudnessMode.DynAudNorm => AudioFilter.DynAudNorm,
_ => AudioFilter.None _ => AudioFilter.None
}); });
+1 -2
View File
@@ -3,6 +3,5 @@ namespace ErsatzTV.FFmpeg;
public enum AudioFilter public enum AudioFilter
{ {
None = 0, None = 0,
LoudNorm = 1, LoudNorm = 1
DynAudNorm = 2
} }
@@ -9,7 +9,6 @@ public class NormalizeLoudnessFilter : BaseFilter
public override string Filter => _loudnessFilter switch public override string Filter => _loudnessFilter switch
{ {
AudioFilter.LoudNorm => "loudnorm=I=-16:TP=-1.5:LRA=11", AudioFilter.LoudNorm => "loudnorm=I=-16:TP=-1.5:LRA=11",
AudioFilter.DynAudNorm => "dynaudnorm",
_ => string.Empty _ => string.Empty
}; };
@@ -635,7 +635,6 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
initialBurst = filter switch initialBurst = filter switch
{ {
AudioFilter.LoudNorm => 5, AudioFilter.LoudNorm => 5,
AudioFilter.DynAudNorm => 15,
_ => 0 _ => 0
}; };
} }
@@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ErsatzTV.Infrastructure.MySql.Migrations
{
/// <inheritdoc />
public partial class Remove_FFmpegProfileDynaudnorm : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql("UPDATE FFmpegProfile SET NormalizeLoudnessMode = 1 WHERE NormalizeLoudnessMode = 2");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}
@@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ErsatzTV.Infrastructure.Sqlite.Migrations
{
/// <inheritdoc />
public partial class Remove_FFmpegProfileDynaudnorm : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql("UPDATE FFmpegProfile SET NormalizeLoudnessMode = 1 WHERE NormalizeLoudnessMode = 2");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}
-1
View File
@@ -138,7 +138,6 @@
<MudSelect Label="Normalize Loudness" @bind-Value="_model.NormalizeLoudnessMode" For="@(() => _model.NormalizeLoudnessMode)"> <MudSelect Label="Normalize Loudness" @bind-Value="_model.NormalizeLoudnessMode" For="@(() => _model.NormalizeLoudnessMode)">
<MudSelectItem Value="@NormalizeLoudnessMode.Off">Off</MudSelectItem> <MudSelectItem Value="@NormalizeLoudnessMode.Off">Off</MudSelectItem>
<MudSelectItem Value="@NormalizeLoudnessMode.LoudNorm">loudnorm</MudSelectItem> <MudSelectItem Value="@NormalizeLoudnessMode.LoudNorm">loudnorm</MudSelectItem>
<MudSelectItem Value="@NormalizeLoudnessMode.DynAudNorm">dynaudnorm</MudSelectItem>
</MudSelect> </MudSelect>
</MudElement> </MudElement>
</MudItem> </MudItem>