* rework television media * refactor poster saving * television and movie views are working again * remove dead code * use paper styling for all cards * add show poster, plot to seasons page * remove missing shows; cleanup interfaces * fix split show display (same show in different folders/sources) * add placeholder "add to schedule" button * no more duplicate television shows, even with the same show split across sources * stop releasing CLI for now * use season number as season placeholder * add television shows to collections * add television seasons to collections * add television episodes to collections * add movies to collections * remove movies, shows, seasons, episodes from collections * fix page width and menus * fix buffer size defaults * fix chronological episode ordering * allow deleting media collections * don't get stuck building a playout with an empty collection * schedule editing and playouts work again * minor cleanup * remove dead code * fix bugs with viewing movies as they are loading * add scanner tests; support nested movie folders * update collections docs * rearrange order of schedule items * add show and season to schedule * delete schedules that use legacy collections, reset all posters * move cleanup to new migration * load fallback metadata when nfo fails; don't require metadata in ui * update readme and screenshots
49 lines
1.8 KiB
C#
49 lines
1.8 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 int ResolutionId { get; set; }
|
|
public Resolution Resolution { get; set; }
|
|
public bool NormalizeResolution { get; set; }
|
|
public string VideoCodec { get; set; }
|
|
public bool NormalizeVideoCodec { get; set; }
|
|
public int VideoBitrate { get; set; }
|
|
public int VideoBufferSize { get; set; }
|
|
public string AudioCodec { get; set; }
|
|
public bool NormalizeAudioCodec { 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 = 4,
|
|
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,
|
|
NormalizeResolution = true,
|
|
NormalizeVideoCodec = true,
|
|
NormalizeAudioCodec = true,
|
|
NormalizeAudio = true
|
|
};
|
|
}
|
|
}
|