Термин
Multi-variant playlist
Верхнеуровневый HLS-плейлист, перечисляющий все доступные rendition-ы, кодеки и аудио/субтитровые треки. В 2020 году Apple переименовал его из «master playlist», чтобы отказаться от термина «master».
Multi-variant playlist – это `.m3u8`-файл, не содержащий медиасегментов. Вместо них он перечисляет URL-ы media playlists по каждому доступному rendition-у. Каждый rendition описан тегом `#EXT-X-STREAM-INF` с его bandwidth, разрешением, frame rate, codec string и ссылками на группы аудио/субтитров. Плеер сначала забирает multi-variant playlist, выбирает стартовый rendition по начальной оценке полосы и дальше работает с media playlist выбранного rendition-а.
Типичный multi-variant playlist для VOD может перечислять 6 видео-rendition-ов (360p, 480p, 720p, 1080p H.264 и 1080p, 4K HEVC), одну аудио-группу с 3 языками и одну субтитровую группу с 5 языками. Плеер собирает итоговый поток, выбирая по одному видео-rendition-у, одной аудиодорожке и опционально одной субтитровой. ABR-переключения происходят между видео-rendition-ами на границах сегментов – аудио и субтитры остаются неизменными.
Переименование в 2020 году отражает общий сдвиг индустрии от терминов «master» и «slave». HLS Authoring Specification c ревизии 2020 года последовательно использует «multi-variant»; за ним подтянулись Shaka Packager и Bento4. Упоминания «master playlist» ещё встречаются в старом коде, постах и документации, но в актуальных гайдах Apple помечены как deprecated.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.