43 lines
1.9 KiB
C#
43 lines
1.9 KiB
C#
namespace EmbyToolbox.Models;
|
|
|
|
/// <summary>Одна встроенная дорожка из ffprobe (streams[]).</summary>
|
|
public sealed class MediaStreamInfo
|
|
{
|
|
public int Index { get; init; }
|
|
public MediaStreamKind Kind { get; init; }
|
|
public string CodecName { get; init; } = string.Empty;
|
|
public string? Language { get; init; }
|
|
public string? Title { get; init; }
|
|
public bool IsDefault { get; init; }
|
|
public long? BitRateBps { get; init; }
|
|
public string? Profile { get; init; }
|
|
public string? Encoder { get; init; }
|
|
public int? Channels { get; init; }
|
|
public int? SampleRateHz { get; init; }
|
|
public int? Width { get; init; }
|
|
public int? Height { get; init; }
|
|
public double? AverageFrameRate { get; init; }
|
|
public double? FrameRate { get; init; }
|
|
public string? PixelFormat { get; init; }
|
|
/// <summary>Цветметаданные из ffprobe (video): color_space, color_primaries, color_transfer.</summary>
|
|
public string? ColorSpace { get; init; }
|
|
public string? ColorPrimaries { get; init; }
|
|
public string? ColorTransfer { get; init; }
|
|
public bool IsAttachedPicture { get; init; }
|
|
public string? SubtitleFormat { get; init; }
|
|
public string? FileNameTag { get; init; }
|
|
public bool IsForcedByDisposition { get; init; }
|
|
public bool IsForced { get; init; }
|
|
public string? ForcedDetectionReason { get; init; }
|
|
public int? SubtitleEventCount { get; init; }
|
|
public double? SubtitleCoverage { get; init; }
|
|
/// <summary>Длительность дорожки (сек) из ffprobe, если задана.</summary>
|
|
public double? DurationSeconds { get; init; }
|
|
|
|
/// <summary>Для потоков-вложений matroska: тег ffprobe tags.filename.</summary>
|
|
public string? AttachmentDeclaredFileName { get; init; }
|
|
|
|
/// <summary>Для потоков-вложений: tags.mimetype.</summary>
|
|
public string? AttachmentDeclaredMimeType { get; init; }
|
|
}
|