Engine HTTP API
Contents
Общее описание
Начиная с версии 3.1 появилась возможность управлять движком по протоколу HTTP. Для передачи команды движку нужно отправить HTTP GET запрос на http-порт движка. Порт по умолчанию: 6878.
Методы API
В описаниях методов <engine_address> - это ip-адрес движка, <engine_port> - http-порт движка. Все методы принимают такие общие параметры:
- sid - идентификатор плеера (необязательный параметр)
Получение потока в формате HLS
http://<engine_address>:<engine_port>/ace/manifest.m3u8
В ответ на данную команду движок выдаст HLS плейлист для воспроизведения запрашиваемого контента. В случае ошибки будет возвращен HTTP код 4хх либо 5хх с кратким описанием ошибки.
Воспроизведение в формате HLS доступно только для live-трансляций. При попытке запустить VOD с помощью данной команды движок выдаст ошибку.
Параметры:
- id - идентификатор контента (content id)
Пример:
http://127.0.0.1:6878/ace/manifest.m3u8?id=dd1e67078381739d14beca697356ab76d49d1a2d
Получение потока по HTTP
http://<engine_address>:<engine_port>/ace/getstream
В ответ на данную команду движок будет выдавать данные в виде http progressive download. В случае ошибки будет возвращен HTTP код 4хх либо 5хх с кратким описанием ошибки.
Параметры:
- id - идентификатор контента (content id)
Пример:
http://127.0.0.1:6878/ace/getstream?id=dd1e67078381739d14beca697356ab76d49d1a2d
Идентификатор плеера
Идентификатор плеера - произвольная строка, которая идентифицирует плеер при обращении к движку. В качестве идентификатора лучше всего использовать случайное число.
Предназначение идентификатора плеера - дать движку возможность отличать запросы одного плеера от другого. Это связано с таким ограничением - нельзя просматривать одну и ту же live-трансляцию через движок одновременно в двух плеерах. При возникновении такой ситуации результаты непредсказуемы (трансляция может начать идти с перебоями в обоих плеерах). В связи с этим движок перестает отдавать плееру данные по трансляции, если эту же трансляцию запустили в другом плеере, но делает это только в том случае, если может отличить один плеер от другого.