Цель - прямое воспроизведение всех медиа. Это означает, что контейнер, видео, аудио и субтитры поддерживаются клиентом. Если носитель несовместим по какой-либо причине, Jellyfin будет использовать FFmpeg для преобразования носителя. Прямой поток будет производиться, если аудио, контейнер или субтитры не поддерживаются. Если видеокодек не поддерживается, это приведет к транскодированию видео. Субтитры могут быть хитрыми, потому что они могут вызвать прямой поток (субтитры должны быть повторно микшированы) или транскодирование видео (запись субтитров). Это наиболее интенсивный процессорный компонент транскодирования. Декодирование менее интенсивно, чем кодирование.
Разбивка видео кодеков.
1 Поддержка HEVC потенциально доступна при загрузке в операционную систему, но это не было проверено.
2 Воспроизведение Android в данный момент не работает. Клиент сообщает, что HEVC поддерживается и пытается выполнить потоковую передачу напрямую.
Отформатируйте контрольный лист:
1MPEG-4 Part-2 против Part-10
2MPEG-4 Часть 17: Субтитры MP4TT
Если аудиокодек не поддерживается или несовместим (например, при воспроизведении 5.1-канального потока на стереофоническом устройстве), аудиокодек необходимо перекодировать. Это не так интенсивно, как кодирование видео.
ChromeFirefoxSafariAndroidAndroidTViOSRokuKodiMPV ShimFLAC✅✅✅✅✅✅MP3 1 ✅✅✅✅✅AAC✅✅✅✅✅✅AC3✅❌✅✅✅EAC32✅✅✅✅✅✅VORBIS3✅✅✅✅✅✅✅✅✅DTS4❌❌❌❌ ❌✅✅✅✅✅
Отформатируйте контрольный лист:
1MP3 Mono неправильно указывается как неподдерживаемый и будет транскодирован в AAC.
2 Только EAC3 2.0 был протестирован.
Контейнеры 3OGG несовместимы и приведут к конвертации VORBIS.
4Только DTS Mono был протестирован.
Стандарт ATSC для AC-3 и EAC-3.
Субтили могут быть тонкой проблемой для транскодирования. Контейнеры имеют ограниченное количество совместимых субтитров. Если необходимо перекодировать субтитры, это произойдет одним из двух способов. Их можно преобразовать в другой совместимый формат (текстовые субтитры) или записать на видео (на основе изображений / без потерь и на основе ASS), поскольку транскодирование субтитров не поддерживается. Это самый интенсивный метод транскодирования, потому что два транскодирования происходят одновременно; применяя слой субтитров к слою видео. Вот разбивка наиболее распространенных форматов субтитров.
Формат TSMP41MKVAVISubRip Text (SRT) Text❌ ✅ WebVTT (VTT) 2Text❌❌✅ ASS / SSA3Форматированный текст❌❌✅ VobSub4Picture✅✅✅✅ MP4TT / TXTTXML❌✅❌❌PGSSUBPicture❌❌❌✅❌
Контейнеры 1MP4 могут поддерживать только поток встроенных субтитров. Это не влияет на внешние субтитры.
2VTT поддерживаются в потоке HLS.
Субтитры 3ASS совместимы только с файлами MKV. Файлы MKV не поддерживаются Firefox. Они всегда будут записаны в видео.
4DVB-SUB (SUB + IDX) - это другое имя для файлов VobSub.
Принудительные субтитры
«Принудительные субтитры распространены в фильмах и предоставляют субтитры только тогда, когда персонажи говорят на иностранном или инопланетном языке, или знак, флаг или другой текст в сцене не переводятся в процесс определения местоположения и дублирования. В некоторых случаях иностранные диалоги могут быть оставлены непереведенными, если фильм предназначен для просмотра с точки зрения конкретного персонажа, который не говорит на данном языке ». - Википедия
Если контейнер не поддерживается, это приведет к повторной отправке. Видео и аудио кодек останутся нетронутыми, но обернуты в контейнер с поддержкой. Это наименее интенсивный процесс. Большинство видеоконтейнеров будут смешаны с использованием протокола потоковой передачи HLS и контейнеров TS. Ремуксинг не должен быть проблемой даже для RPi3.
ChromeFirefoxSafariAndroidAndroidTVKodiRokuMP41✅✅✅✅✅✅✅✅MKV2, 3✅❌✅✅✅✅TS4✅✅✅✅✅✅✅OGG❌❌❌❌❌❌❌❌❌
Контейнеры 1MP4 являются одними из немногих контейнеров, которые не смешиваются снова.
Контейнеры 2MKV могут содержать практически любой кодек, но они не поддерживают потоковую передачу в Firefox и перепаковываются.
Контейнеры 3MKV неправильно помечены как WebM в Firefox во время воспроизведения.
4TS является одним из основных контейнеров для передачи медуз.