Browse Source

remove dynaudnorm filter (#1573)

pull/1575/head
Jason Dove 2 years ago committed by GitHub
parent
commit
45c04366c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      CHANGELOG.md
  2. 4
      ErsatzTV.Core/Domain/FFmpegProfile.cs
  3. 3
      ErsatzTV.Core/Domain/NormalizeLoudnessMode.cs
  4. 1
      ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs
  5. 3
      ErsatzTV.FFmpeg/AudioFilter.cs
  6. 1
      ErsatzTV.FFmpeg/Filter/NormalizeLoudnessFilter.cs
  7. 1
      ErsatzTV.FFmpeg/Pipeline/PipelineBuilderBase.cs
  8. 4925
      ErsatzTV.Infrastructure.MySql/Migrations/20240126015002_Remove_FFmpegProfileDynaudnorm.Designer.cs
  9. 21
      ErsatzTV.Infrastructure.MySql/Migrations/20240126015002_Remove_FFmpegProfileDynaudnorm.cs
  10. 4923
      ErsatzTV.Infrastructure.Sqlite/Migrations/20240126014819_Remove_FFmpegProfileDynaudnorm.Designer.cs
  11. 21
      ErsatzTV.Infrastructure.Sqlite/Migrations/20240126014819_Remove_FFmpegProfileDynaudnorm.cs
  12. 1
      ErsatzTV/Pages/FFmpegEditor.razor

3
CHANGELOG.md

@ -48,6 +48,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). @@ -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
- Old format: `Show Title (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
### Fixed

4
ErsatzTV.Core/Domain/FFmpegProfile.cs

@ -35,12 +35,12 @@ public record FFmpegProfile @@ -35,12 +35,12 @@ public record FFmpegProfile
ResolutionId = resolution.Id,
Resolution = resolution,
VideoFormat = FFmpegProfileVideoFormat.H264,
AudioFormat = FFmpegProfileAudioFormat.Ac3,
AudioFormat = FFmpegProfileAudioFormat.Aac,
VideoBitrate = 2000,
VideoBufferSize = 4000,
AudioBitrate = 192,
AudioBufferSize = 384,
NormalizeLoudnessMode = NormalizeLoudnessMode.DynAudNorm,
NormalizeLoudnessMode = NormalizeLoudnessMode.Off,
AudioChannels = 2,
AudioSampleRate = 48,
DeinterlaceVideo = true,

3
ErsatzTV.Core/Domain/NormalizeLoudnessMode.cs

@ -3,6 +3,5 @@ namespace ErsatzTV.Core.Domain; @@ -3,6 +3,5 @@ namespace ErsatzTV.Core.Domain;
public enum NormalizeLoudnessMode
{
Off = 0,
LoudNorm = 1,
DynAudNorm = 2
LoudNorm = 1
}

1
ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs

@ -153,7 +153,6 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService @@ -153,7 +153,6 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
playbackSettings.NormalizeLoudnessMode switch
{
NormalizeLoudnessMode.LoudNorm => AudioFilter.LoudNorm,
NormalizeLoudnessMode.DynAudNorm => AudioFilter.DynAudNorm,
_ => AudioFilter.None
});

3
ErsatzTV.FFmpeg/AudioFilter.cs

@ -3,6 +3,5 @@ namespace ErsatzTV.FFmpeg; @@ -3,6 +3,5 @@ namespace ErsatzTV.FFmpeg;
public enum AudioFilter
{
None = 0,
LoudNorm = 1,
DynAudNorm = 2
LoudNorm = 1
}

1
ErsatzTV.FFmpeg/Filter/NormalizeLoudnessFilter.cs

@ -9,7 +9,6 @@ public class NormalizeLoudnessFilter : BaseFilter @@ -9,7 +9,6 @@ public class NormalizeLoudnessFilter : BaseFilter
public override string Filter => _loudnessFilter switch
{
AudioFilter.LoudNorm => "loudnorm=I=-16:TP=-1.5:LRA=11",
AudioFilter.DynAudNorm => "dynaudnorm",
_ => string.Empty
};

1
ErsatzTV.FFmpeg/Pipeline/PipelineBuilderBase.cs

@ -635,7 +635,6 @@ public abstract class PipelineBuilderBase : IPipelineBuilder @@ -635,7 +635,6 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
initialBurst = filter switch
{
AudioFilter.LoudNorm => 5,
AudioFilter.DynAudNorm => 15,
_ => 0
};
}

4925
ErsatzTV.Infrastructure.MySql/Migrations/20240126015002_Remove_FFmpegProfileDynaudnorm.Designer.cs generated

File diff suppressed because it is too large Load Diff

21
ErsatzTV.Infrastructure.MySql/Migrations/20240126015002_Remove_FFmpegProfileDynaudnorm.cs

@ -0,0 +1,21 @@ @@ -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)
{
}
}
}

4923
ErsatzTV.Infrastructure.Sqlite/Migrations/20240126014819_Remove_FFmpegProfileDynaudnorm.Designer.cs generated

File diff suppressed because it is too large Load Diff

21
ErsatzTV.Infrastructure.Sqlite/Migrations/20240126014819_Remove_FFmpegProfileDynaudnorm.cs

@ -0,0 +1,21 @@ @@ -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
ErsatzTV/Pages/FFmpegEditor.razor

@ -138,7 +138,6 @@ @@ -138,7 +138,6 @@
<MudSelect Label="Normalize Loudness" @bind-Value="_model.NormalizeLoudnessMode" For="@(() => _model.NormalizeLoudnessMode)">
<MudSelectItem Value="@NormalizeLoudnessMode.Off">Off</MudSelectItem>
<MudSelectItem Value="@NormalizeLoudnessMode.LoudNorm">loudnorm</MudSelectItem>
<MudSelectItem Value="@NormalizeLoudnessMode.DynAudNorm">dynaudnorm</MudSelectItem>
</MudSelect>
</MudElement>
</MudItem>

Loading…
Cancel
Save