Changes

Jump to: navigation, search

Engine API

5,011 bytes added, 12:18, 3 September 2018
EVENT
Начать проигрывание acemedia-файла c:\acestream\test.acemedia:
START EFILE file%3A%2F%2F%2Fc%3A%5Cacestream%5Ctest.acemedia
</nowiki></tt>
 
======<span id="transcode_settings"></span>Настройки транскодирования======
Начиная с версии 3.1.5 есть возможность задавать формат вывода потока и параметры транскодирования аудио.
* <tt>''output_format=hls|http''</tt>: формат вывода потока
* <tt>''transcode_audio=0|1''</tt>: транскодировать все аудио в AAC
* <tt>''transcode_mp3=0|1''</tt>: транскодировать MP3 (данная опция применима только если transcode_audio=1)
* <tt>''transcode_ac3=0|1''</tt>: транскодировать только AC3 в AAC (данная опция применима только если transcode_audio=0)
 
:В версии 3.1.5 данные настройки касаются только live-потоков.
:Если оригинал потока вещается в формате HLS, то формат вывода будет HLS независимо от настроек.
:Настройки транскодирования аудио влияют только на выдачу в формате HLS (по HTTP всегда выдается оригинальный поток)
:Если настройки формата вывода или транскодирования не передаются в команде <tt>START</tt>, то используются настройки, заданные пользователем на движке
 
;Примеры:
<tt><nowiki>Запустить в формате HLS:
>> START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls
 
Запустить в формате HLS, транскодировать все аудио-кодеки в AAC:
>> START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=1
 
Запустить в формате HLS, транскодировать все аудио-кодеки, кроме MP3, в AAC:
>> START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=0
</nowiki></tt>
====События от клиента к движку====
 
События <tt>DUR</tt> и <tt>PLAYBACK</tt> необходимо отправлять только для VOD-контента (так как live не имеет длительности).
 
Отправка данных событий является обязательной только при воспроизведении рекламных роликов (когда получена команда <tt>START</tt> с параметром ad=1). См. примечание к событию <tt>PLAYBACK</tt>.
 
При воспроизведении обычных VOD клиент не обязан отправлять данные события.
=====<tt style="color: #009;">DUR</tt>=====
;Описание
:Сообщить движку о прогрессе проигранного контента (сколько процентов проигралось).
:Данная команда особенно важна, когда идет прогрывание рекламных роликов - переход к основному контенту происходит только после того, как движок получил команду PLAYBACK 100 (т.е. после того, как  клиент полность полностью проиграл рекламный ролик)
;Синтаксис
;Описание
:Отправка событий движку. С помощью этого сообщения клиент может отправлять движку события, касающиеся действий пользователя относительно воспроизведения контента (поставил на паузу, перемотал и т.п.). Отправка данных событий не обязательна - клиент может их не отправлять при отсутствии технический возможности.
;Синтаксис
===Ошибка запуска воспроизведения, отсутствует необходимая платная опция proxyServer===
<div id="example-missing-option-on-start"></div>
В этом примере описана ситуация, когда движок не может начать воспроизведение, так как для этого требуется наличие у пользователя активированной платной опции.
<<STATUS main:idle</tt>
===Воспроизведение прервано, так как отсутствует необходимая платная опцияproxyServer===остановить загрузку контентаЭтот сценарий отличается от предыдущего тем, что воспроизведение начинается, но через некоторое время после старта останавливается по причине отсутствия платной опции. рукопожатие <tt>>>HELLOBG version=3 <<HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878 >>READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408 <<AUTH 5 >>SETOPTIONS use_stop_notifications=1</tt> старт воспроизведения <tt>>>STOPSTART PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0 <<STATE 1 <<STATUS main:starting <<STATUS main:prebuf;0;0;0;0;8;0;0;1;0;16384;0;0 <<START http://127.0.0.1:6878/content/6d12f958332ef0bd258053ba1afd833ddf9b74f9/0.289607197304 stream=1 <<STATE 2</tt> некоторое время воспроизведения идет без остановки <tt><<STATUS main:dl;0;0;832;0;0;1;0;2392064;0;0 <<EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &crarr; first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15 <<STATUS main:dl;0;0;1339;0;8;3;0;5242880;0;65536 <<EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &crarr; first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15 <<STATUS main:dl;0;0;1165;0;18;3;0;5767168;0;163840 <<EVENT livepos last=1448977941 live_first=1448976141 pos=1448977941 &crarr; first_ts=1448976141 last_ts=1448977941 is_live=1 live_last=1448977941 buffer_pieces=15 <<STATUS main:dl;0;0;396;0;175;4;0;35127296;0;10534912 <<EVENT livepos last=1448978010 live_first=1448976210 pos=1448978010 &crarr; first_ts=1448976210 last_ts=1448978010 is_live=1 live_last=1448978010 buffer_pieces=15</tt>
разорвать соединениеостановка воспроизведения <tt>>>SHUTDOWN<<EVENT download_stopped reason=missing_option option=proxyServer <<STOP <<STATE 0 <<STATUS main:idle <<SHUTDOWNSTATUS main:err;0;Download stopped</tt>

Navigation menu