hls3

1. Сводка
Упаковывает закодированные дорожки аудио и видео в плейлист HLS v3 с сегментами транспортного потока MPEG-2. Нацелен на максимально широкий охват приёмников — устаревшие iOS, старые умные телевизоры и приставки, появившиеся до поддержки фрагментированного MP4.
2. Когда использовать
- Доставляете в популяцию плееров, включающую устаревшие iOS или старые приставки, не поддерживающие HLS v5 / fMP4.
- Готовите запасной плейлист для адаптивной лестницы, чей основной выход — hls5 или dash, чтобы у старых приёмников оставался рабочий вариант.
- Собираете многорендерийную лестницу HLS, где каждая ступень — видео H.264 в паре с аудиодорожкой AAC, поскольку сегменты v3 — MPEG-TS.
3. Входы
Video—[]core.VideoTrack. Один или несколько закодированных видеорендериев для включения в плейлист как вариантные потоки. Обязателен.Совместимые узлы выше по потоку:
- avcintra — кодирует интра-only H.264 (AVC-Intra) для вещательных поставок.
- ni264 — аппаратно-ускоренный кодер H.264 на картах NetInt.
- qsv264 — аппаратно-ускоренный кодер H.264 через Intel Quick Sync.
- x264 — программный кодер H.264/AVC (libx264).
- x265 — программный кодер H.265/HEVC (libx265).
- copy — пропускает исходную видеодорожку без изменений.
Audio—[]core.AudioTrack. Одна или несколько закодированных аудиодорожек. Обязателен.Совместимые узлы выше по потоку:
4. Выходы
Package—core.Package. Плейлист HLS v3 (.m3u8) плюс его файлы сегментов MPEG-TS, готовые к публикации в CDN или хранилище.Совместимые узлы ниже по потоку:
5. Параметры

Форма «Настройки» — один столбец с тремя полями. Описаны в порядке следования в форме.
Node Label (
string, по умолчанию пусто)Произвольное имя, отображаемое на плитке узла на холсте.
- Что задаёт. Подпись над плиткой; на плейлист не влияет.
- Когда менять. Задавайте, когда в одном графе несколько упаковщиков — например, запасной HLS v3 рядом с HLS v5 и DASH, — чтобы каждый выход был узнаваем с одного взгляда.
Output Filename (
string, по умолчанию пусто; необязательно)Имя мастер-плейлиста верхнего уровня.
- Что задаёт. Имя файла
.m3u8, записываемое под выходным URL процесса, плюс префикс каталога, под которым размещаются сегменты, когда значение содержит компонент каталога. - Когда менять. Задавайте, чтобы держать плейлисты соседних упаковщиков в
разных каталогах — например,
hls3/index.m3u8рядом сhls5/index.m3u8в одном выходном бакете. Оставляйте пустым для значения платформы по умолчанию. - Переменные. поддерживает
$variables.
- Что задаёт. Имя файла
Segment Duration (
int, секунды, обязательно)Целевая длина сегмента в секундах.
- Что задаёт. Как часто упаковщик закрывает текущий сегмент MPEG-TS и
пишет следующий;
#EXT-X-TARGETDURATIONплейлиста размечается под это значение. - Когда менять. Более короткие сегменты режут задержку старта и переключения ценой большего числа запросов в минуту; более длинные дружественнее к кэшированию CDN и длинному VOD. Подгоняйте значение под ритм, который ожидает принимающий плеер, и держите его согласованным по рендериям, делящим плейлист.
- Обязательно. да.
- Что задаёт. Как часто упаковщик закрывает текущий сегмент MPEG-TS и
пишет следующий;
Соответствие JSON-ключей и названий полей
JSON-ключи opt, которые встречаются в файлах процессов, соответствуют
названиям полей формы так:
| JSON-ключ | Название поля |
|---|---|
name |
Output Filename |
segdur |
Segment Duration |
6. Пример

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в Adaptive streaming with HLS, DASH and captions.
7. Где используется
- Adaptive streaming with HLS, DASH and captions — упаковывает рендерии программного x264 и NetInt H.264 вместе с закодированным аудио AAC и субтитрированной ветвью ccinject в единый плейлист HLS v3 для покрытия устаревших приёмников.
8. Антипаттерны
- Выбор HLS v3, когда доступен v5. Когда целевая аудитория на современных iOS / tvOS / Safari, HLS v5 (fMP4) — лучший вариант по умолчанию: он поддерживает HEVC, многокодековое аудио и более богатое шифрование. Используйте hls3 только когда есть свидетельства, что заметная доля приёмников не читает сегменты fMP4.
- Длинные длительности сегмента для низколатентного стриминга. Ритм сегментов MPEG-TS задаёт пол задержки переключения; лестницы, нацеленные на near-live сценарии, нуждаются в коротких сегментах. Оставляйте более длинные сегменты для catch-up и VOD, где кэширование важнее задержки.
- Смешение видеокодеков между вариантами. HLS v3 ожидает, что каждый вариант в мастер-плейлисте — H.264. Попытка подмешать рендерии HEVC или AV1 молча сломает старые приёмники — держите их в параллельном выходе hls5 или dash.
9. Заметки
- Форма
Packageдля HLS v3 включает файлы сегментов MPEG-TS; если вы загружаете её через upload, целевой URL должен быть каталогом, а не путём к одному файлу. - HLS v3 не несёт сайдкар-наборы адаптации субтитров нативно, как hls5 / dash. Вжигайте субтитры в битовый поток H.264 выше по потоку узлом ccinject, когда v3 — единственный выход.