Получение превью MP4 из архива через API
Когда в настройках Хранилища включена опция Save Preview, Alta сохраняет короткие превью-клипы в формате MP4 для записанного архива. В этой статье описано, как получить список превью-файлов канала и скачать их с помощью curl.
Требования
Заголовок раздела «Требования»- Для канала назначено Хранилище, и в хранилище включена опция Save Preview.
- Канал использует видео H.264 или H.265.
- Запросы отправляются на API Server (порт по умолчанию
8100), а не на OTT Server. Подробнее в разделе HTTP-сервер. - API требует HTTP Basic-аутентификации от имени пользователя веб-интерфейса Alta. Подробнее в разделе Пользователи.
Путь канала
Заголовок раздела «Путь канала»Оба запроса используют параметр id с путём канала в формате <channel_name>/<variant>, например discovery/hd.
Список превью-файлов
Заголовок раздела «Список превью-файлов»URL:
GET /api/ott/channel/storage/preview?id=<channel_name>/<variant>или с необязательным параметром:
GET /api/ott/channel/storage/preview?id=<channel_name>/<variant>&start=<time>- id: Путь канала.
- start (необязательный): Unix-время. Возвращает файлы начиная с этого момента.
Alta не поддерживает параметр end. Чтобы ограничить результат по времени окончания, отфильтруйте список на стороне клиента.
Пример:
curl -sS -u 'USER:PASSWORD' \ 'http://alta.example.com:8100/api/ott/channel/storage/preview?id=discovery/hd&start=1747485787'Ответ:
["1747485787.mp4", "1747485797.mp4", "1747485807.mp4"]Ответ представляет собой JSON-массив имён файлов. Имя каждого файла — это Unix-время начала сегмента.
Скачивание превью-файла
Заголовок раздела «Скачивание превью-файла»URL:
GET /api/ott/channel/storage/preview?id=<channel_name>/<variant>&name=<file>- id: Путь канала.
- name: Имя файла из списка, например
1747485787.mp4.
Пример:
curl -sS -f -u 'USER:PASSWORD' \ -o preview.mp4 \ 'http://alta.example.com:8100/api/ott/channel/storage/preview?id=discovery/hd&name=1747485787.mp4'Тело ответа — это MP4-файл. Опция -f заставляет curl завершаться с ошибкой при HTTP-ошибках, а не сохранять страницу с ошибкой в файл.
Коды ответа
Заголовок раздела «Коды ответа»| Код | Описание |
|---|---|
200 | Успешно |
404 | Превью-файлы для канала или диапазона времени не найдены, либо файл не существует |
Устранение неполадок
Заголовок раздела «Устранение неполадок»Пустой список или 404
Заголовок раздела «Пустой список или 404»- Проверьте, что в хранилище включена опция Save Preview и идёт запись канала.
- Проверьте путь канала. Он должен включать вариант, например
discovery/hd. - Удалите параметр
startили уменьшите его значение. Превью-файлы доступны только в пределах длительности архива хранилища.
Connection refused
Заголовок раздела «Connection refused»Проверьте, что вы используете порт API Server, а не OTT Server. Проверьте соединение:
curl -v http://alta.example.com:8100/