Difference between revisions of "Engine HTTP API"
(→Методы API) |
|||
Line 32: | Line 32: | ||
Пример: | Пример: | ||
<nowiki>http://127.0.0.1:6878/ace/getstream?id=dd1e67078381739d14beca697356ab76d49d1a2d</nowiki> | <nowiki>http://127.0.0.1:6878/ace/getstream?id=dd1e67078381739d14beca697356ab76d49d1a2d</nowiki> | ||
+ | |||
+ | ==Получение статистики== | ||
+ | Движок при необходимости может отдавать статистику по текущей сессии воспроизведения (скорость загрузки, кол-во подсоединенных узлов и т.д.) | ||
+ | |||
+ | Для получения статистики необходимо запросить у движка URL статистики при старте воспроизведения. Для этого нужно добавить параметр format=json в запрос на воспроизведение. При наличии данного параметра движок вернет ответ в формате JSON с двумя ссылками: | ||
+ | *'''playback_url''' - ссылка для воспроизведения (по этой ссылке движок отдаст HLS-манифест либо HTTP-поток) | ||
+ | *'''stat_url''' - ссылка для получения статистики | ||
+ | |||
+ | По ссылке <tt>stat_url</tt> движок возвращает ответ в формате JSON с такими полями: | ||
+ | *'''status''' - статус сессии воспроизведения: | ||
+ | **''prebuf'' - пребуферизация | ||
+ | **''dl'' - воспроизведение | ||
+ | *'''peers''' - кол-во подсоединенных узлов | ||
+ | *'''speed_down''' - скорость скачивания (Кбайт/с) | ||
+ | *'''speed_up''' - скорость отдачи (Кбайт/с) | ||
+ | *'''downloaded''' - объем скачанных данных (байт) | ||
+ | *'''uploaded''' - объем отданных данных (байт) | ||
+ | *'''total_progress''' - процент загруженных данных от суммарного объема (для VOD); для live всегда 0 | ||
+ | |||
==Идентификатор плеера== | ==Идентификатор плеера== |
Revision as of 09:52, 28 May 2015
Contents
Общее описание
Начиная с версии 3.1 появилась возможность управлять движком по протоколу HTTP. Для передачи команды движку нужно отправить HTTP GET запрос на http-порт движка. Порт по умолчанию: 6878.
Методы API
В описаниях методов <engine_address> - это ip-адрес движка, <engine_port> - http-порт движка. Все методы принимают такие общие параметры:
- sid - идентификатор плеера (необязательный параметр)
- id - идентификатор контента (content id) (условно обязательный параметр)
- url - ссылка на транспортный файл (условно обязательный параметр)
- path - путь к транспортному файлу в локальной файловой системе (условно обязательный параметр)
В запросах на старт воспроизведения обязательно должен присутствовать один из параметров id, url, path.
Получение потока в формате HLS
http://<engine_address>:<engine_port>/ace/manifest.m3u8
В ответ на данную команду движок выдаст HLS плейлист для воспроизведения запрашиваемого контента. В случае ошибки будет возвращен HTTP код 4хх либо 5хх с кратким описанием ошибки.
Параметры:
- transcode_audio - транскодировать аудио в AAC (параметр принимает значения 0 либо 1)
- transcode_mp3 - не транскодировать MP3 (параметр принимает значения 0 либо 1)
- preferred_audio_language - предпочитаемый язык аудио-дорожки (3-значный код, список здесь)
Пример:
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хх с кратким описанием ошибки.
Пример:
http://127.0.0.1:6878/ace/getstream?id=dd1e67078381739d14beca697356ab76d49d1a2d
Получение статистики
Движок при необходимости может отдавать статистику по текущей сессии воспроизведения (скорость загрузки, кол-во подсоединенных узлов и т.д.)
Для получения статистики необходимо запросить у движка URL статистики при старте воспроизведения. Для этого нужно добавить параметр format=json в запрос на воспроизведение. При наличии данного параметра движок вернет ответ в формате JSON с двумя ссылками:
- playback_url - ссылка для воспроизведения (по этой ссылке движок отдаст HLS-манифест либо HTTP-поток)
- stat_url - ссылка для получения статистики
По ссылке stat_url движок возвращает ответ в формате JSON с такими полями:
- status - статус сессии воспроизведения:
- prebuf - пребуферизация
- dl - воспроизведение
- peers - кол-во подсоединенных узлов
- speed_down - скорость скачивания (Кбайт/с)
- speed_up - скорость отдачи (Кбайт/с)
- downloaded - объем скачанных данных (байт)
- uploaded - объем отданных данных (байт)
- total_progress - процент загруженных данных от суммарного объема (для VOD); для live всегда 0
Идентификатор плеера
Идентификатор плеера - произвольная строка, которая идентифицирует плеер при обращении к движку. В качестве идентификатора лучше всего использовать случайное число.
Предназначение идентификатора плеера - дать движку возможность отличать запросы одного плеера от другого. Это связано с таким ограничением - нельзя просматривать одну и ту же live-трансляцию через движок одновременно в двух плеерах. При возникновении такой ситуации результаты непредсказуемы (трансляция может начать идти с перебоями в обоих плеерах). В связи с этим движок перестает отдавать плееру данные по трансляции, если эту же трансляцию запустили в другом плеере, но делает это только в том случае, если может отличить один плеер от другого.