Changes

Jump to: navigation, search

Streaming

940 bytes removed, 20:32, 9 June 2020
no edit summary
== Установка Запуск трансляции==
=== Установка ACE Stream на Debian/Ubuntu из репозитория Основные термины=== *'''Шаг 1Источник''' Добавить ссылку - программа, которая принимает на соответствующий репозиторий в файл <tt>/etc/apt/sources.list</tt>.вход HTTP-поток трансляции и обеспечивает просмотр трансляции с помощью ПО Ace Stream*'''Узел поддержки''' - программа, позволяющая масштабировать трансляцию за счет использования дополнительного серверного оборудования и интернет-каналовРепозиторий следует выбирать в зависимости от операционной системы.*'''Клиент''' - ПО Ace Stream, которое используется для просмотра трансляции*'''Timeshift'Debian 6+:'' <tt><nowiki>deb http://repo.acestream.org/debian/ squeeze main</nowiki></tt> либо <tt><nowiki>deb http://repo.acestream.org/debian/ sid main</nowiki></tt>- временной интервал, в рамках которого в клиенты могут осуществлять перемотку трансляции
Примечание: пакеты в репозитории sid собраны ===Переход с зависимостями, которые соответствуют официальным sid-репозиториям Debianверсий 2.0.х на версию 2.1 и выше===Если вы не знаетеС 10 сентября 2013 года доступна обновленная версия движка 2.1.6 под Ubuntu, какой репозиторий выбрать, используйте squeezeDebian и CentOS.
''Ubuntu 11Перед полномасштабным использованием новой версии мы рекомендуем по возможности протестировать ее на одной или нескольких трансляциях.10:'' <tt><nowiki>deb http://repo.acestream.org/ubuntu/ oneiric main</nowiki></tt>
''Ubuntu 12.04:'' <tt><nowiki>deb При возникновении каких-либо проблем просьба писать на форум http://repoforum.torrentstream.org либо на почту support@acestream.org/ubuntu/ precise main</nowiki></tt>net.
''Ubuntu 12.10Старые версии временно доступны по прямым ссылкам:'' <tt><nowiki>deb http://repo.acestream.org/ubuntu/ quantal main</nowiki></tt>
'''Ubuntu 13''':* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1oneiric6_amd64.deb* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1oneiric6_i386.deb* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1precise6_amd64.deb* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1precise6_i386.04deb* http:''//dl.acestream.org/ubuntu/acestream-engine_2.0.8-1quantal6_amd64.deb <tt><nowiki>* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1quantal6_i386.deb * http://repodl.acestream.org/ubuntu/ raring main<acestream-engine_2.0.8-1raring6_amd64.deb* http://nowiki><dl.acestream.org/tt>ubuntu/acestream-engine_2.0.8-1raring6_i386.deb
'''Шаг 2Debian''':* http://dl.acestream.org/debian/acestream-engine_2.0.8-1sid5_amd64.deb* http://dl.acestream.org/debian/acestream-engine_2.0.8-1sid5_i386.deb* http://dl.acestream.org/debian/acestream-engine_2.0.8-1squeeze5_amd64.deb* http://dl.acestream.org/debian/acestream-engine_2.0.8-1squeeze5_i386.deb
Установка публичного ключа'''CentOS 6''':* http://dl.acestream.org/centos/6/acestream-engine-2.0.8_7-centos6-x86_64.tar. Для этого необходимо выполнить следующую команду:gz
''Debian:'' <tt><nowiki>wget -O - httpspan style="color://repo.acestream.org/keys/acestream.public.key | apt-key add -</nowiki#900;">ВНИМАНИЕ!</ttspan>В ближайшее время поддержка старых версий будет прекращена.
''Ubuntu<span style="color:'' <tt#009;">ВАЖНО!<nowiki/span>sudo wget -O - http://repoВсе трансляции, созданные с помощью новой версии Ace Stream (2.acestream1 и выше) не поддерживаются клиентским ПО старых версий (2.org/keys/acestream0.publicх и ниже).key | sudo apt-key add -</nowiki></tt>При попытке просмотреть новую трансляцию с помощью старого движка будет выдаваться ошибка "Cannot load transport file"
'''Шаг 3'''====Изменения в параметрах запуска====В новой версии изменились некоторые параметры запуска источников и узлов поддержки из командной строки, поэтому запуск со старой командной строкой работать не будет.
Установка нужного пакета. НапримерОсновные изменения:* используется один исполняемый файл <tt>acestreamengine</tt>; различные режимы запуска (источник, для установки движка нужно установить пакет acestream-engineузел поддержки) задаются опциями: ''Debian'' ** вместо <tt>aptacestreamengine-get updatestream</tt> следует запускать <tt>aptacestreamengine --get install acestreamstream-enginesource</tt> ''Ubuntu'' ** вместо <tt>sudo aptacestreamengine-get updatenode</tt> следует запускать <tt>sudo aptacestreamengine -get install acestream-enginestream-node</tt> В репозитории для Ubuntu доступны следующие пакеты:*'''acestream-engine''' - движок*'''acestreamвместо <tt>acestreamengine-mozillaclient-plugin''' - плагин для браузеров*'''acestream-player''' - десктопный плеер*'''acestream-player-data''' - набор общих библиотек для плеера и плагина*'''acestream-full''' - полный пакет, который включает в себя все вышеперечисленные Для Debian доступен только движок (acestream-engine). === Установка пакет ACE Stream на Ubuntu из deb-пакета ===Можно установить ACE Stream на Ubuntu без использования репозитория. Для этого необходимо скачать установочный пакет по одной из ссылок ниже и установить пакет через менеджер пакетов (например, двойным кликом на скачанный файл пакета). Пакет для 32-битных версий Ubuntu: console</tt> следует запускать <tt>http://dl.torrentstream.org/products/acestreamacestreamengine --client-full/ubuntu/i368/latestconsole</tt> Пакет для 64-битных версий Ubuntu: ** вместо <tt>http://dl.torrentstream.org/products/acestreamacestreamengine-client-full/ubuntu/amd64/latestgtk</tt> Поддерживаемые версии Ubuntu: 11.10, 12.04, 12.10 Данный установочный пакет является аналогом пакета следует запускать <tt>acestreamacestreamengine -full-client-gtk</tt> из репозитория и включает в себя движок, плеер и плагин для браузеров. === Установка Ace Stream на CentOS ===Для установки на CentOS необходимо:* наличие установленного python 2изменена система логирования.6* наличие установленного модуля python-argparse* скачать пакет, соответствующий версии CentOS (ссылки ниже)* распаковать скачанный архив и скопировать содержимое В старых версия движок всю отладочную информацию выводил в папку /usr На данный момент доступны такие пакеты:*'''CentOS 5 64bit''': http://dl.acestream.org/centos/5/acestream-engine-2.0.8_7-centos5-x86_64.tar.gz*'''CentOS 6 64bit''': http://dl.acestream.org/centos/6/acestream-engine-2.0.8_7-centos6-x86_64.tar.gz Данные пакеты тестировались на версиях 5.8 STDERR и 6.3 соответственно === Android ===Пакет для установки Ace Stream for Android:http://dlзаписи логов в файл требовалось перенаправлять вывод.acestream.org/android/acestream-2.1.5.apk ==== Информация для разработчиков ====Ace Stream for Android выполнен В новой версии можно в виде сервисаопциях задать, к которому могут подключаться сторонние приложения.AIDLкуда писать логи -файлы для подключения к Ace Stream:* http://dl.acestream.org/android/IAceStreamEngine.aidl* http://dl.acestream.org/android/IAceStreamEngineCallback.aidl После тогов STDOUT, как стороннее приложение подключается к сервису Ace Streamв STDERR, происходит следующее:* если Ace Stream не запущен, то он запускается* приложение получает порт для работы с Ace Stream Engine API через callback onStartEnd()* приложение начинает работу с движком в файл либо в syslog. Для файлов поддерживается ротация логов по API ==Запуск трансляции== ===Основные термины===*'''Источник''' - программа, которая принимает на вход HTTP-поток трансляции и обеспечивает просмотр трансляции с помощью ПО Ace Stream*'''Узел поддержки''' - программа, позволяющая масштабировать трансляцию за счет использования дополнительного серверного оборудования и интернет-каналов*'''Клиент''' - ПО Ace Stream, которое используется для просмотра трансляции*'''Timeshift''' - временной интервал, в рамках которого размеру. Описание всех опций смотрите в клиенты могут осуществлять перемотку трансляцииразделе [[#Команда acestreamengine|Команда acestreamengine]]
===Команда acestreamengine===
''обязательные параметры''
*<tt>--name NAME(*)</tt> - название трансляции (это название используется при создании файла acelive и других служебных файлов)
*<tt>--source SOURCE</tt> - источник (ссылка на http-поток)
*<tt>--bitrate BITRATE(*)</tt> - средний битрейт потока в байтах в секунду
''необязательные параметры''
*<tt>--title TITLE(*)</tt> - "читабельное" название трансляции (это название выводится у клиентов). Если не задано, берется из --name
*<tt>--destdir DESTDIR</tt> - устаревший параметр, лучше использовать --cache-dir и --publish-dir
*<tt>--cache-dir CACHE_DIR</tt> - папка для создания служебных файлов (кеш трансляции и другие)
*<tt>--publish-dir PUBLISH_DIR</tt> - папка, в которой будет создан acelive-файл
*<tt>--piecesize PIECESIZE(*)</tt> - размер куска в байтах , в степени 2 (если не задан, выставляется автоматически в зависимости от битрейта)*<tt>--duration DURATION(*)</tt> - размер кеша трансляции в формат ЧЧ:ММ:СС (по умолчанию один час: 01:00:00)*<tt>--host HOST(*)</tt> - вручную задать адрес локального трекера*<tt>--port PORT(*)</tt> - порт, на котором работает движок. По умолчанию 7764.*<tt>--skip-internal-tracker(*)</tt> - отключить локальный трекер*<tt>--add-authorized-peers(*)</tt> - добавить список авторизованных пиров в acelive файл*<tt>--private-source(*)</tt> - сделать источник приватным*<tt>--support-node SUPPORT_NODE(*)</tt> - добавить узел поддержки (в формате ip:port). Этот параметр может встречаться несколько раз, если нужно добавить несколько узлов поддержки.*<tt>--tracker TRACKER(*)</tt> - добавить трекер (announce url). Этот параметр может встречаться несколько раз.
*<tt>--maxclients MAXCLIENTS</tt> - максимальное количество пиров, на которые одновременно отдаются данные с источника. По умолчанию 7.
*<tt>--log-debug DEBUG</tt> - установить уровень отладки (по умолчанию 0 - минимальный)
*<tt>--source-reconnect-interval SECONDS</tt> - интервал в секундах, через который движок попробует повторно подсоединиться к оригинальному источнику при обрыве связи. По умолчанию 5.
*<tt>--pid-file-dir PATH</tt> - папка, в которой будет создан pid-файл движка. По умолчанию /tmp.
*<tt>--provider-key(*)</tt> - ключ провайдера (используется для партнерской программы)*<tt>--content-idsid (*)</tt> - идентификатор контента трансляции для статистики (используется для партнерской программы)*<tt>--permanent(*)</tt> - отметить трансляцию как постоянно действующую, которая идет 24/7 (круглосуточная трансляция)*<tt>--date-start YYYY-MM-DD HH:mm:ss(*)</tt> - указать дату и время начала трансляции (для одноразовых трансляцийс ограниченным временем вещания)*<tt>--date-end YYYY-MM-DD HH:mm:ss(*)</tt> - указать дату и время окончания трансляции (для одноразовых трансляцийс ограниченным временем вещания)*<tt>--premium(*)</tt> - запросить статус "премиум" для трансляции
*<tt>--upload-limit</tt> - ограничить скорость отдачи (в байтах/с, по умолчанию 0 - не ограничивать)
*<tt>--max-connections</tt> - максимальное общее кол-во соединений (по умолчанию 1000)
''дополнительно''
*<tt>-h, --help</tt> - показать описание команд
 
''примечание''
 
Изменение параметров, отмеченных звездочками, приводит к изменению Content ID трансляции
===Синтаксис команды acestreamengine --stream-node===
--cache-dir "/tmp/streams" \
--add-authorized-peers \
--permanent \
--log-stdout</tt>
В данном примере предполагаем, что XBT Tracker установлен и запущен на сервере 192.168.1.1.
Запуск трансляции теперь будет выглядеть таким образом:
<tt>acestreamengine--stream -source \
--name "test" \
--title "Тестовая трансляция" \
--skip-internal-tracker \
--tracker "udp://192.168.1.1:2710/announce" \
> /tmp/test-source.-log 2>&1-stdout</tt>
Опция <tt>--skip-internal-tracker</tt> отключает встроенный трекер, опция <tt>--tracker</tt> подключает внешний трекер.
Для максимально эффективной работы схемы с узлами поддержки источнику необходимо сообщить адреса этих узлов с помощью опции <tt>--support-node</tt>:
<tt>acestreamengine--stream -source \
--name "test" \
--title "Тестовая трансляция" \
--support-node "192.168.1.2:8621" \
--support-node "192.168.1.3:8621" \
> /tmp/test-source.-log 2>&1-stdout</tt>
Запускаем узлы поддержки на серверах 192.168.1.2 и 192.168.1.3 (команды для запуска одинаковые):
<tt>acestreamengine--stream-node \
--url "<nowiki>http://192.168.1.1/streams/test.acelive</nowiki>" \
--state-dir "/tmp" \
--source-node "192.168.1.1:7764" \
--allow-source-download \
> /tmp/test-node.-log 2>&1-stdout</tt>
Опция <tt>--source-node</tt> задает адрес источника.
На сервере 192.168.1.2 это будет выглядеть так:
<tt>acestreamengine--stream-node \
--url "<nowiki>http://192.168.1.1/streams/test.acelive</nowiki>" \
--state-dir "/tmp" \
--support-node "192.168.1.3:8621" \
--allow-support-download \
> /tmp/test-node.-log 2>&1-stdout</tt>
На сервере 192.168.1.3:
<tt>acestreamengine--stream-node \
--url "<nowiki>http://192.168.1.1/streams/test.acelive</nowiki>" \
--state-dir "/tmp" \
--support-node "192.168.1.2:8621" \
--allow-support-download \
> /tmp/test-node.-log 2>&1-stdout</tt>
====Приватный источник с двумя узлами поддержки====
Для того, чтобы сделать источник приватным, следует указать опцию <tt>--private-source</tt>:
<tt>acestreamengine--stream -source \
--name "test" \
--title "Тестовая трансляция" \
--support-node "192.168.1.3:8621" \
--private-source \
> /tmp/test-source.-log 2>&1-stdout</tt>
Следует обратить внимание на то, что в данной конфигурации адрес трекера изменен на <tt>udp://192.168.1.2:2710/announce</tt>. Это сделано для поддержки старых версий клиентов, которые не обрабатывают список авторизованных пиров (подробнее здесь [[#Авторизованные узлы|Авторизованные узлы]]).
Узлы поддержки на серверах 192.168.1.2 и 192.168.1.3 запускаем как обычно:
<tt>acestreamengine--stream-node \
--url "<nowiki>http://192.168.1.1/streams/test.acelive</nowiki>" \
--state-dir "/tmp" \
--source-node "192.168.1.1:7764" \
--allow-source-download \
> /tmp/test-node.-log 2>&1-stdout</tt>

Navigation menu