Skip to content

Каталог VOD

Раздел VOD — кластерный каталог ассетов: файлы, которые лежат на стримерах и играются по запросу. В отличие от стримов, у ассета нет источника и размещения лейаутером; он просто лежит там, куда его залили, и раздаётся оттуда.

Вкладок четыре: Каталог, Загрузки, Стореджи и Upload-токены. Эта страница про каталог; заливка и хранилища — на странице Загрузка VOD.

Чтобы каталогу было где жить, у стримера должен быть хотя бы один VOD-root — он задаётся в настройках стримера.

Ассет, ключ и файлы

Единица каталога — ассет. У ассета есть:

  • Ключ — путь-подобное имя, по которому ассет находят: movies/2026/blade.mp4. Ключи образуют папки, и каталог показывает их деревом.
  • Asset id — неизменный идентификатор. Ключ можно переименовать, asset id — нет, поэтому ссылки по нему переживают переименование.
  • Ревизия — растёт при каждом изменении состава файлов.
  • Файлы — один ассет может состоять из нескольких файлов: например, видео и отдельные звуковые дорожки.

Каталог VOD: дерево ключей и колонки уровня

Колонки списка: Имя, Статус, Файлы, Размер, Asset id, Обновлён. Статус — доступен или недоступен: доступен ассет, у которого есть готовое размещение на доступном сторедже; пока файлы льются или сторедж отвалился, ассет недоступен.

Дерево показывает не больше 1000 папок на уровень — при более длинном списке подписано Показаны первые 1000 папок — уточните фильтром. Поле Фильтр этого уровня… фильтрует текущий уровень, кнопка Показать ещё догружает ассеты.

Где ассет лежит

Таблица Местоположение показывает каждый стример, где лежит ассет: Местоположение — сторедж и стример, Статус, Ревизия и Зрителей — сколько сессий этого ассета играет с него сейчас. Строк две и больше, когда у ассета есть копии:

  • оригинал — первичное размещение, туда ассет залили; сюда же ложатся выходы заданий.
  • копия — полный состав ассета на другом стримере; её делает шаблон ассета с числом копий, см. Копии VOD и балансировка.

Те же зрители входят в график Стримы и клиенты панели управления: двадцать четыре сессии в столбце Зрителей — это те же двадцать четыре на графике, и когда ни у одного стрима в эфире зрителей нет.

Карточка ассета: зрители по копиям

Рядом бывает пометка сторедж недоступен. Она означает ровно то, что подписано в подсказке: плейбек 503; удаление работает, очистка отложена. То есть каталог остаётся управляемым, даже когда машина с файлами лежит.

Файлы ассета

Таблица файлов: Файл, Размер, Media info, Hash, Действия. Файл, из которого медиаинформация не прочиталась, помечен media error и доступен как raw-файл.

Карточка ассета: placement, ревизия и файлы со ссылками воспроизведения

Над таблицей файлов стоит блок Шаблон ассета — какая лестница качеств закреплена за ассетом и кнопка Запустить задание…; файл, который сейчас обрабатывается, стоит в таблице первым и подсвечен, а его Удалить неактивна до конца задания. Подробно — в транскодировании VOD.

Скопировать hash копирует контрольную сумму файла. Кнопка Проиграть и кнопки HLS, DASH и RAW описаны ниже.

Проигрывание файла

Кнопка Проиграть в колонке Действия открывает плеер прямо в консоли — поверх карточки, не уходя из каталога. Закрывают его клавишей Esc или крестиком в углу.

Плеер файла поверх карточки ассета

Адрес страницы меняется вместе с открытым плеером, поэтому ссылку можно отправить коллеге: он попадёт сразу на этот файл.

Кнопки HLS, DASH и RAW копируют ссылку на воспроизведение соответствующего вида — её вставляют в свой плеер, приставку или анализатор. Скопированная ссылка уже несёт временный билет допуска и играет как есть: воспроизведение закрыто по умолчанию, а такой билет живёт несколько часов и рассчитан на один просмотр. Для витрины выписывайте собственные билеты — см. Билеты Catena.

Адреса складываются из asset id и имени файла:

Что Адрес
HLS /playback/vod/<asset id>/<файл>/index.m3u8
DASH /playback/vod/<asset id>/<файл>/Manifest.mpd
Файл как есть /playback/vod/<asset id>/<файл>
Страница плеера /playback/embed-vod/<asset id>/<файл>

В адресе стоит asset id, а не ключ, поэтому переименование такие ссылки не ломает. Стример, который отдаст файл, ссылка тоже не называет: если у ассета несколько местоположений, central направит плеер на наименее занятое — см. Копии VOD и балансировка.

Быстрее всего отдача проверяется плейлистом:

curl -s 'http://<адрес>/playback/vod/<asset id>/<файл>/index.m3u8?token=<билет>' | head
  • Плейлист с качествами (#EXT-X-STREAM-INF) — файл разобран и играется.
  • 403 — билета нет или он не покрывает этот ассет.
  • 404 — нет такого ассета или файла в нём.

Файл, из которого медиаинформация не прочиталась, играть не предлагается: у него есть только RAW.

Переименование ключа

Переименовать ключ меняет только метаданные: файлы остаются на месте; ссылки по AssetId продолжают работать. Переименование папки меняет префиксы всех вложенных ключей разом. Если новый ключ занят, операция отклоняется — Такой ключ уже занят.

Удаление

Удалять можно на трёх уровнях:

  • Удалить файл — из ассета убирается один файл, ревизия ассета увеличится. Если он был последним, ассет удаляется вместе с ним.
  • Удалить ассет — с подтверждением, в котором указано число файлов.
  • Удалить папку — все ассеты под этим префиксом. Консоль сначала собирает список (Сбор ассетов: N), затем ставит их в очередь и показывает ход: Удаление ассетов: N/N, с ошибкой: N, Удалено ассетов: N.

Удаление всегда работает по каталогу, а не по диску: сообщение Удалено из каталога — очистка на ноде отложена означает, что запись убрана сразу, а файлы стример уберёт, когда сможет. Именно поэтому удаление доступно и при недоступном стередже.

Что дальше