using System.IO; using System.Linq; namespace EmbyToolbox.Services; /// Единый список поддерживаемых расширений видео для очереди, объединения и анализа. public static class SupportedVideoFormats { private static readonly HashSet Extensions = new(StringComparer.OrdinalIgnoreCase) { ".mkv", ".mp4", ".avi", ".mov", ".wmv", ".flv", ".ts", ".m2ts", ".webm", ".mpeg", ".mpg", ".m4v", ".3gp", ".ogv", ".vob", ".rmvb", ".asf", ".divx", ".f4v", ".mts", ".m2v", ".mp2", ".mpv", ".qt", ".hevc", ".h265", ".h264", }; public static bool IsSupportedVideoFile(string path) { if (string.IsNullOrWhiteSpace(path)) { return false; } var extension = Path.GetExtension(path); return !string.IsNullOrWhiteSpace(extension) && Extensions.Contains(extension); } /// Фильтр для OpenFileDialog: только поддерживаемые видео. public static string BuildOpenFileDialogFilter() { var globs = string.Join(";", Extensions.OrderBy(e => e, StringComparer.Ordinal).Select(e => $"*{e}")); return $"Видеофайлы|{globs}|Все файлы|*.*"; } }