Files
ersatztv/ErsatzTV.Core/Domain/FFmpegProfile.cs
T
Jason DoveandGitHub 4097288fed normalize framerate (#122)
* normalize framerate

* simplify audio normalization settings
2021-03-31 09:34:52 +00:00

48 lines
1.7 KiB
C#

namespace ErsatzTV.Core.Domain
{
public record FFmpegProfile
{
public int Id { get; set; }
public string Name { get; set; }
public int ThreadCount { get; set; }
public bool Transcode { get; set; }
public HardwareAccelerationKind HardwareAcceleration { get; set; }
public int ResolutionId { get; set; }
public Resolution Resolution { get; set; }
public string VideoCodec { get; set; }
public bool NormalizeVideo { get; set; }
public int VideoBitrate { get; set; }
public int VideoBufferSize { get; set; }
public string FrameRate { get; set; }
public string AudioCodec { get; set; }
public int AudioBitrate { get; set; }
public int AudioBufferSize { get; set; }
public int AudioVolume { get; set; }
public int AudioChannels { get; set; }
public int AudioSampleRate { get; set; }
public bool NormalizeAudio { get; set; }
public static FFmpegProfile New(string name, Resolution resolution) =>
new()
{
Name = name,
ThreadCount = 0,
Transcode = true,
ResolutionId = resolution.Id,
Resolution = resolution,
VideoCodec = "libx264",
AudioCodec = "ac3",
VideoBitrate = 2000,
VideoBufferSize = 4000,
AudioBitrate = 192,
AudioBufferSize = 384,
AudioVolume = 100,
AudioChannels = 2,
AudioSampleRate = 48,
NormalizeVideo = true,
FrameRate = "24",
NormalizeAudio = true
};
}
}