mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
45 lines
1.6 KiB
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 AudioCodec { get; set; } |
|
public int AudioBitrate { get; set; } |
|
public int AudioBufferSize { get; set; } |
|
public bool NormalizeLoudness { 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, |
|
NormalizeLoudness = true, |
|
AudioChannels = 2, |
|
AudioSampleRate = 48, |
|
NormalizeVideo = true, |
|
NormalizeAudio = true |
|
}; |
|
} |
|
}
|
|
|