Multi Stream - это функция объединения нескольких потоков в один acelive-файл. Основное назначение данной функции - предоставить возможность организации трансляций с несколькоими вариантами качества (битрейта), между которыми может переключаться пользователь.
Как это работает
Предположим, что есть два потока, которые представляют собой одну и ту же трансляцию в разных качествах (с разными битрейтами). Для начала необходимо как обычно запустить два источника (по одному на каждый поток). В результате получим два acelive-файла, например /tmp/stream_sd.acelive и /tmp/stream_hd.acelive.
Для создания мультипотокового acelive-файла необходимо выполнить следующую команду:
acestreamengine --mode create_multi_stream --name "SD" --path /tmp/stream_sd.acelive --name "HD" --path /tmp/stream_hd.acelive --out /tmp/stream_multi.acelive
В результате выполнения данной команды будет создан мультипотоковый файл /tmp/stream_multi.acelive, который необходимо отдавать клиентам.
Параметры:
- --name: название потока
- --path: путь к acelive-файлу, который нужно добавить к результирующему файлу (можно использовать http-ссылки)
- --out: путь к результирующему acelive-файлу с несколькими потоками (этот файл будет создан в результате работы команды)
Параметры --name и --path должны передаваться парами. Команда принимает столько пар этих параметров, сколько потоков нужно объединить в один.
Параметр --name задает название потока, которое будет выводиться у пользователя в переключателе. Также в переключателе будет автоматически добавляться битрейт потока в Kbit/s.
Поддерживаемые версии
Функция Multi Stream доступна начиная с версии 2.0.8. Клиенты более ранних версий не смогут распознать файл, содержащий несколько потоков. В связи с эти рекомендуется на веб-страницах, где размещены плееры для проигрывания таких файлов, выполнять проверку версии и выводить соответствующее сообщение для неподдерживаемых версий. Пример здесь: http://torrentstream.org/test/multi.html