Changes

Jump to: navigation, search

Streaming

29,668 bytes added, 17:45, 23 September 2013
Синтаксис команды acestreamengine --stream-source
== Установка ==
=== Установка TS Engine ACE Stream на Debian /Ubuntu из репозитория ===
Для установки TS Engine необходимо добавить репозиторий Torrent Stream в файл <tt>/etc/apt/sources.list:deb http://torrentstream.net/repo ubuntu main</tt>'''Шаг 1'''
Если при установке пакета выводится сообщение про неизвестный ключ, можно его добавить Добавить ссылку на соответствующий репозиторий в систему:файл <tt>/etc/apt/sources.list</tt>.
<tt>wget -O - http://torrentstreamРепозиторий следует выбирать в зависимости от операционной системы.net/repo/torrentstream.public.key | apt-key add -</tt>
После этого нужно установить пакет torrentstream-engine''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>
<tt>aptПримечание: пакеты в репозитории sid собраны с зависимостями, которые соответствуют официальным sid-get update</tt>репозиториям Debian.Если вы не знаете, какой репозиторий выбрать, используйте squeeze.
''Debian 7:'' <tt>apt-get install torrentstream-engine<nowiki>deb http://repo.acestream.org/debian/ wheezy main</nowiki></tt>
''Ubuntu 11.10:''
<tt><nowiki>deb http://repo.acestream.org/ubuntu/ oneiric main</nowiki></tt>
=== Установка пакет TorrentStream Full на ''Ubuntu из 12.04:'' <tt><nowiki>deb-пакета ===http://repo.acestream.org/ubuntu/ precise main</nowiki></tt>
* скачать пакет по ссылке''Ubuntu 12.10:'' <tt><nowiki>deb http://repo.acestream.org/ubuntu/ quantal main</nowiki></tt>
''Ubuntu 13.04:'' <tt><nowiki>deb http://torrentstreamrepo.acestream.org/downloadsubuntu/linuxraring main</testnowiki></torrentstream_1.0.6-0ubuntu8_amd64.debtt>
либо'''Шаг 2'''
httpУстановка публичного ключа. Для этого необходимо выполнить следующую команду://torrentstream.org/downloads/linux/test/torrentstream_1.0.6-0ubuntu8_i386.deb
(в зависимости от нужной архитектуры)''Debian:'' <tt><nowiki>wget -O - http://repo.acestream.org/keys/acestream.public.key | apt-key add -</nowiki></tt>
* установить пакет через менеджер пакетов (например, двойным кликом на скачанный файл пакета)''Ubuntu:'' <tt><nowiki>sudo wget -O - http://repo.acestream.org/keys/acestream.public.key | sudo apt-key add -</nowiki></tt>
'''Шаг 3'''
=== Установка нужного пакета. Например, для установки движка нужно установить пакет TorrentStream Full на Ubuntu из репозитория ===acestream-engine
Добавить репозиторий Torrent Stream в файл /etc''Debian'' <tt>apt-get update</tt> <tt>apt-get install acestream-engine</sources.list:tt>
''Ubuntu'' <tt>deb http:sudo apt-get update<//torrentstream.net/repo ubuntu maintt> <tt>sudo apt-get install acestream-engine</tt>
Если при установке пакета выводится сообщение про неизвестный ключВ репозитории для Ubuntu доступны следующие пакеты:*'''acestream-engine''' - движок*'''acestream-mozilla-plugin''' - плагин для браузеров*'''acestream-player''' - десктопный плеер*'''acestream-player-data''' - набор общих библиотек для плеера и плагина*'''acestream-full''' - полный пакет, можно его добавить который включает в систему:себя все вышеперечисленные
<tt>sudo wget Для Debian доступен только движок (acestream-O - http://torrentstreamengine).net/repo/torrentstream.public.key | apt-key add -</tt>
После <!--=== Установка пакет ACE Stream на Ubuntu из deb-пакета ===Можно установить ACE Stream на Ubuntu без использования репозитория. Для этого нужно необходимо скачать установочный пакет по одной из ссылок ниже и установить пакет torrentstream-engine:через менеджер пакетов (например, двойным кликом на скачанный файл пакета).
Пакет для 32-битных версий Ubuntu: <tt>sudo apthttp://dl.torrentstream.org/products/acestream-get updatefull/ubuntu/i368/latest</tt>
Пакет для 64-битных версий Ubuntu: <tt>sudo apt-get install http://dl.torrentstream.org/products/acestream-full/ubuntu/amd64/latest</tt>
Поддерживаемые версии Ubuntu: 11.10, 12.04, 12.10
== Запуск трансляции ==Данный установочный пакет является аналогом пакета <tt>acestream-full</tt> из репозитория и включает в себя движок, плеер и плагин для браузеров.-->
=== Установка Ace Stream на CentOS ===Для запуска трансляции используется команда tsengineустановки на CentOS необходимо:* наличие установленного python 2.6* наличие установленного модуля python-streamargparse* скачать пакет, которая принимает такие параметры:соответствующий версии CentOS (ссылки ниже)* распаковать скачанный архив и скопировать содержимое в папку /usr
На данный момент доступны такие пакеты:
*'''CentOS 5 64bit''': http://dl.acestream.org/centos/5/acestream-engine-2.1.6_4-centos5-x86_64.tar.gz
*'''CentOS 6 64bit''': http://dl.acestream.org/centos/6/acestream-engine-2.1.6_4-centos6-x86_64.tar.gz
<tt>'''--name'''</tt>Данный пакет тестировался на версиях 5.8 и 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
<tt>'''--source'''</tt>После того, как стороннее приложение подключается к сервису Ace Stream, происходит следующее:* если Ace Stream не запущен, то он запускается* приложение получает порт для работы с Ace Stream Engine API через callback onStartEnd()* приложение начинает работу с движком по API
Источник - URL потока, который будет транслироваться. В данный момент поддерживаются HTTP потоки с инкапсуляцией MPEG-TS==Запуск трансляции==
===Основные термины===
*'''Источник''' - программа, которая принимает на вход HTTP-поток трансляции и обеспечивает просмотр трансляции с помощью ПО Ace Stream
*'''Узел поддержки''' - программа, позволяющая масштабировать трансляцию за счет использования дополнительного серверного оборудования и интернет-каналов
*'''Клиент''' - ПО Ace Stream, которое используется для просмотра трансляции
*'''Timeshift''' - временной интервал, в рамках которого в клиенты могут осуществлять перемотку трансляции
<tt>'''--destdir'''</tt>===Переход с версий 2.0.х на версию 2.1 и выше===С 10 сентября 2013 года доступна обновленная версия движка 2.1.6 под Ubuntu, Debian и CentOS.
Директория, в которую будет сохранен .tslive файл для данной трансляции и некоторые служебные файлыПеред полномасштабным использованием новой версии мы рекомендуем по возможности протестировать ее на одной или нескольких трансляциях.
При возникновении каких-либо проблем просьба писать на форум http://forum.torrentstream.org либо на почту support@acestream.net.
<tt>'''--bitrate'''</tt>Старые версии временно доступны по прямым ссылкам:
Битрейт потока в килобайтах в секунду'''Ubuntu''':* 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.deb* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1quantal6_amd64.deb* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1quantal6_i386.deb* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1raring6_amd64.deb* http://dl.acestream.org/ubuntu/acestream-engine_2.0.8-1raring6_i386.deb
'''Debian''':
* 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
<tt>'''--piecesizeCentOS 6'''<:* http://dl.acestream.org/centos/6/tt>acestream-engine-2.0.8_7-centos6-x86_64.tar.gz
Размер в байтах куска для работы bittorrent-протокола. По умолчанию данный параметр принимает значение auto, при котором размер куска определяется автоматически<span style="color: #900;">ВНИМАНИЕ!</span> В ближайшее время поддержка старых версий будет прекращена.
<span style="color: #009;">ВАЖНО!</span> Все трансляции, созданные с помощью новой версии Ace Stream (2.1 и выше) не поддерживаются клиентским ПО старых версий (2.0.х и ниже). При попытке просмотреть новую трансляцию с помощью старого движка будет выдаваться ошибка "Cannot load transport file"
<tt>'''--duration'''</tt>====Изменения в параметрах запуска====В новой версии изменились некоторые параметры запуска источников и узлов поддержки из командной строки, поэтому запуск со старой командной строкой работать не будет.
Длительность потока в формате ЧЧОсновные изменения:ММ* используется один исполняемый файл <tt>acestreamengine</tt>; различные режимы запуска (источник, узел поддержки) задаются опциями:СС** вместо <tt>acestreamengine-stream</tt> следует запускать <tt>acestreamengine --stream-source</tt>** вместо <tt>acestreamengine-node</tt> следует запускать <tt>acestreamengine --stream-node</tt>** вместо <tt>acestreamengine-client-console</tt> следует запускать <tt>acestreamengine --client-console</tt>** вместо <tt>acestreamengine-client-gtk</tt> следует запускать <tt>acestreamengine --client-gtk</tt>* изменена система логирования. Этот параметр задает объем кэша В старых версия движок всю отладочную информацию выводил в STDERR и для потоказаписи логов в файл требовалось перенаправлять вывод. Значение по умолчанию В новой версии можно в опциях задать, куда писать логи - 01:00:00 (тв STDOUT, в STDERR, в файл либо в syslog.еДля файлов поддерживается ротация логов по размеру. система будет держать Описание всех опций смотрите в кэше приблизельно один час трансляции).разделе [[#Команда acestreamengine|Команда acestreamengine]]
===Команда acestreamengine===
Начиная с версии 2.1 Ace Stream Engine для Linux представляет собой один исполняемый файл <tt>acestreamengine</tt>, который работает в различных режимах в зависимости от заданных параметров.
Режим работы задается одним из следующих параметров:* <tt>'''--host'''client-console</tt> - запустить движок в режиме клиента из консоли (без графического интерфейса)* <tt>--client-wx</tt> - запустить движок в режиме клиента с графическим интерфейсом WX* <tt>--client-gtk</tt> - запустить движок в режиме клиента с графическим интерфейсом GTK* <tt>--stream-source</tt>- запустить источник трансляции* <tt>--stream-node</tt> - запустить узел поддержки* <tt>--create-transport</tt> - создать транспортный файл из существующего контента (VOD)* <tt>--create-transport-multi</tt> - создать мультипотоковый транспортный файл* <tt>--version</tt> - показать версию движка
IP-адрес либо название хоста, на котором запускается трансляция. Для Каждый режим работы трансляции данный адрес должен быть доступен пользователямимеет свои обязательные и необязательные параметры, которые будут смотреть трансляциюописанные в соответствующих разделах.
Также всех режимов работы есть общие параметры, которые управляют выводом отладочной информации.
* <tt>--log-stdout</tt> - выводить информацию в STDOUT
* <tt>--log-stderr</tt> - выводить информацию в STDERR
* <tt>--log-file PATH</tt> - выводить информацию в указанный файл
* <tt>--log-max-size SIZE</tt> - максимальный размер файла (в байтах)
* <tt>--log-backup-count COUNT</tt> - сколько резервных логов хранить (резервный лог файл создается при достижении лимита, указанного паметром --log-max-size)
* <tt>--log-file-buffer SIZE</tt> - включить буферизацию вывода в файл (с использованием буфера указанного размера в байтах)
* <tt>--log-syslog HOST</tt> - выводить информацию в syslog-сервер по указанному адресу
* <tt>--log-syslog-port PORT</tt> - порт syslog-сервера
* <tt>--log-syslog-facility FACILITY</tt> - используемый facility
* <tt>--log-syslog-buffer SIZE</tt> - включить буферизацию вывода в syslog (с использованием буфера указанного размера в байтах)
===Общая схема работы===Организация трансляции начинается с запуска источника (команда <tt>'''acestreamengine--port'''stream</tt>).Источник принимает на вход HTTP-поток (в данный момент поддерживаются HTTP-потоки с инкапсуляцией MPEG-TS) с оригиналом трансляции и после запуска создает файл с расширением acelive. Данный файл является уникальным идентификатором трансляции и используется клиентами для подключения и просмотра.
Порт, на который будут приниматься входящие соединения. По умолчанию 7764===Синтаксис команды acestreamengine --stream-source===Команда <tt>acestreamengine --stream-source</tt> запускает источник трансляции.
''обязательные параметры''
*<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>'''--trackers'''cache-dir CACHE_DIR</tt> - папка для создания служебных файлов (кеш трансляции и другие)*<tt>--publish-dir PUBLISH_DIR</tt> - папка, в которой будет создан acelive-файл*<tt>--piecesize PIECESIZE (*)</tt> - размер куска в байтах (если не задан, выставляется автоматически в зависимости от битрейта)*<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-read-timeout SECONDS</tt> - таймаут на чтение данных из оригинального источника (в секундах). По умолчанию 30.*<tt>--source-reconnect-interval SECONDS</tt> - интервал в секундах, через который движок попробует повторно подсоединиться к оригинальному источнику при обрыве связи. По умолчанию 5.*<tt>--pid-file-dir PATH</tt> - папка, в которой будет создан pid-файл движка. По умолчанию /tmp.*<tt>--provider-key (*)</tt> - ключ провайдера (используется для партнерской программы)*<tt>--sid (*)</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>--max-peers</tt> - максимальное кол-во подключений к пирам (по умолчанию 50)*<tt>--service-remote-access</tt> - разрешить удаленный просмотр статистики*<tt>--service-access-token</tt> - ключ доступа для удаленной статистики*<tt>--stats-report-interval</tt> - интервал в секундах между обновлениями внутренней статистики (по умолчанию 60)*<tt>--stats-report-peers</tt>- обновлять данные по пирам во внутренней статистике
Список дополнительных трекеров''дополнительно''*<tt>-h, которые будут использоваться для обмена пирами. Адреса трекеров указываются через запятую. По умолчанию дополнительные трекеры не используются.--help</tt> - показать описание команд
''примечание''
<tt>'''--provider-key'''</tt>Изменение параметров, отмеченных звездочками, приводит к изменению Content ID трансляции
Ключ лицензии для коммерческих трансляций. По умолчанию не используется.===Синтаксис команды acestreamengine --stream-node===Команда <tt>acestreamengine --stream-node</tt> запускает узел поддержки
''обязательные параметры''
*<tt>--url URL></tt> - ссылка на acelive файл трансляции
''необязательные параметры''*<tt>--port PORT</tt> - порт (по умолчанию 8621)*<tt>'''--maxclients'''state-dir STATE_DIR</tt> - папка для временных файлов (удаляется после остановки узла поддержки)*<tt>--source-node SOURCE_NODE</tt> - адрес источника трансляции (ip:port)*<tt>--support-node SUPPORT_NODE</tt> - добавить адрес другого узла поддержки (ip:port). Этот параметр может встречаться несколько раз.*<tt>--allow-source-download</tt> - разрешить получение данных от источника*<tt>--allow-support-download</tt> - разрешить получение данных от других узлов поддержки*<tt>--allow-peers-download</tt> - разрешить получение данных от обычных пиров*<tt>--max-connections MAX_CONNECTIONS</tt> - максимальное общее кол-во соединений (по умолчанию 1000)*<tt>--max-peers MAX_PEERS</tt> - максимальное кол-во подключений к пирам (по умолчанию 50)*<tt>--max-upload-slots MAX_UPLOAD_SLOTS</tt> - максимальное количество пиров, на которые одновременно отдаются данные с узла поддержки (по умолчанию 7)*<tt>--max-download-speed MAX_DOWNLOAD_SPEED</tt> - максимальная скорость загрузки (байт/с). По умолчанию 0 (без ограничений).*<tt>--max-upload-speed MAX_UPLOAD_SPEED</tt> - максимальная скорость отдачи (байт/с). По умолчанию 0 (без ограничений).*<tt>--stats-report-interval STATS_REPORT_INTERVAL</tt> - интервал в секундах между обновлениями внутренней статистики (по умолчанию 60)*<tt>--stats-report-peers</tt> - обновлять данные по пирам во внутренней статистике*<tt>--service-remote-access</tt> - разрешить удаленный просмотр статистики*<tt>--service-access-token</tt> - ключ доступа для удаленной статистики*<tt>--log-debug DEBUG</tt>- установить уровень отладки
Максимальное количество клиентов''дополнительно''*<tt>-h, которые будут получать данные непосредственно от источника трансляции. По умолчанию 7.--help</tt> - показать описание команд
===Встроенный трекер===
Встроенный трекер - это трекер встроенный в источник трансляции. Если он не отключен опцией <tt>--skip-internal-tracker</tt>, то его адрес будет автоматически добавлен в acelive-файл.
'''Пример:''' <tt>tsengine-stream --name test --source При организации трансляций с большим количеством пользователей мы рекомендуем отключать встроенный трекер и заменять его внешним трекером с хорошей производительностью (например, [http://84xbtt.22sourceforge.159.204:8006 --bitrate 350000 --host mysite.com --destdir /tmpnet/streams<tracker/tt>XBT Tracker])
После запуска ===Авторизованные узлы===Для того, чтобы клиент подключился к трансляции в директории /tmpи начал просмотр, ему необходимо либо установить соединение минимум с двумя другими узлами, либо установить соединение с авторизованным узлом. Авторизованный узел - это узел, который был отмечен создателем трансляции как такой, которому можно "доверять". Как правило, это источник трансляции и/streams будут созданы такие файлы:или узлы поддержки.
Последние версии ПО ACE Stream поддерживают использование списка авторизованных узлов в acelive-файле. Для этого при создании трансляции задается опция <tt>'''test'''--add-authorized-peers</tt> , после чего формируется список авторизованных узлов и добавляется в acelive- кэш файл. В список авторизованных узлов попадает источник трансляции(если это не приватный источник) и все указанные узлы поддержки. Клиенты, которые получили данный acelive-файл, используют список для определения того, является ли какой-либо узел авторизованным. Размер этого файла примерно равен длительность_потока_в_секундах * битрейт байт
<tt>'''test.tslive'''</tt> Если в acelive- файл не был добавлен список авторизованных узлов, либо у клиента установлена старая версия ACE Stream, которая не распознает данный список, то авторизованным узлом считается узел, IP адрес которого совпадает с помощью этого файла пользователи могут подключаться к адресом первого трекера в списке трекеров. Если встроенный трекер на источнике не отключен, то он будет первым в списке и клиенты будут считать источник авторизованным узлом. В случае, если встроенный трекер отключен, для поддержки старых клиентов мы рекомендуем ставить на первое место трекер, расположенный на том же сервере, что и источник трансляции(чтобы адреса первого трекера и источника совпадали), либо использовать как минимум один узел поддержки (чтобы клиенты при старте могли установить соединение сразу с двумя пирами, даже если больше никто не смотрит трансляцию).
<tt>'''test===Timeshift===Функция "Timeshift" дает пользователям возможность осуществить перемотку трансляции на некоторое время назад, а также поставить трансляцию на паузу и вернуться к просмотру в удобное для них время.restart'''</tt> - здесь хранится информация для корректного перезапуска трансляции
Время, на которое может осуществляться перемотка назад, задается при создании трансляции опцией <tt>'''test.sauth'''--duration</tt> - ключ для цифровой подписи трансляции. Время указывается в формате ЧЧ:ММ:СС.
Например, при указании опции <tt>--duration 00:30:00</tt> будет задан интервал 30 минут.
Также после запуска можно зайти на страницу трекера===Примеры===Для примеров предположим наличие локальной сети с тремя серверами:*192.168.1.1 - сервер для источника*192.168.1.2 - сервер для узла поддержки*192.168.1.3 - сервер для узла поддержки*192.168.1.100 - сервер, встроенного в который отдает оригинальный поток трансляции (HTTP MPEG-TS Engine) по адресу <nowiki>http://192.168.1.100/stream</nowiki> (средний битрейт потока - 300 000 байт/с)
На сервере 192.168.1.1 предполагается наличие веб-сервера с корневой папкой <tt>/home/www</tt>, а также двух папок:*<tt>/home/www/streams</tt> - для хранения acelive-файлов, которые будут доступны для скачивания по ссылке вида <tt><nowiki>http://mysite192.com:7764168.1.1/streams/test.acelive</nowiki></tt>*<tt>/tmp/streams</tt>- для хранения кэша и служебных файлов трансляций
====Источник с встроенным трекером====
Это наиболее простой способ запуск трансляции, не требующий запуска узлов поддержки и установки дополнительных трекеров. Данный способ подходит для трансляций с небольшим количество пользователей.
На данной странице отображается некоторая информация по трансляции, а также здесь можно скачать файл трансляции сервере 192.tslive по такой ссылке168.1.1 запускаем источник: <tt>acestreamengine --stream-source \ --name "test" \ --title "Тестовая трансляция" \ --source "<nowiki>http://192.168.1.100/stream</nowiki>" \ --bitrate 300000 \ --publish-dir "/home/www/streams" \ --cache-dir "/tmp/streams" \ --add-authorized-peers \ --log-stdout</tt>
Опция <tt>http://mysite.com:7764/file?name=test--add-authorized-peers</tt>добавляет в acelive-файл список авторизованных узлов (в данном случае это источник: 192.168.1.1).
После запуска трансляции в папке /home/www/streams будет создан файл test.acelive, в папке <tt>/tmp/streams</tt> будут созданы такие файлы:
*<tt>test</tt> - кэш трансляции. Размер этого файла примерно равен длительность_потока_в_секундах (опция <tt>--duration</tt>, по умолчанию 1 час) * битрейт байт
*<tt>test.restart</tt> - здесь хранится информация для корректного перезапуска трансляции
*<tt>test.sauth</tt> - ключ для цифровой подписи трансляции
== Просмотр Для просмотра трансляции пользователямиклиенты могут скачать файл трансляции по ссылке <tt><nowiki>http://192.168.1.1/streams/test.acelive</nowiki></tt> и запустить его в плеере ACE Stream, либо использовать другие способы ([[Способы просмотра трансляции]]). ==
====Источник с внешним трекером====Если два основных способа просмтра трансляциитрансляция предполагает большое количество пользователей, то желательно использовать внешний трекер и отключить встроенный (для снижения нагрузки на источник).
# пользователь скачивает файл В качестве внешнего трекера мы советуем использовать [http://xbtt.tslive и запускает его в TS Player# организатор трансляции создает веб-страницу для просмотра трансляции, пользователи заходят на данную страницу и смотрят трансляцию через браузерsourceforge.net/tracker/ XBT Tracker]
В качестве шаблона для такой страницы можно использовать данном примере предполагаем, что XBT Tracker установлен и запущен на сервере 192.168.1.1.Запуск трансляции теперь будет выглядеть таким образом: <tt>acestreamengine --stream-source \ --name "test" \ --title "Тестовая трансляция" \ --source "<nowiki>http://torrentstream192.org168.1.100/stream</nowiki>" \ --bitrate 300000 \ --publish-dir "/home/www/streams" \ --cache-dir "/tmp/teststreams" \ --add-authorized-peers \ --skip-internal-tracker \ --tracker "udp://192.php168. Необходимо только изменить ссылку на файл 1.tslive в этой строке1:2710/announce" \ --log-stdout</tt>
Опция <tt>this.loadTorrent("http:--skip-internal-tracker<//torrentstream.net/streams/test2.mpegts.tslive");tt> отключает встроенный трекер, опция <tt>--tracker</tt>подключает внешний трекер.
====Источник с двумя узлами поддержки====
В случае, если на источнике не хватает пропускной способности исходящего канала для нормальной работы трансляции, можно использовать узлы поддержки. Чаще всего узел поддержки представляет собой узел, который принимает данные от источника и отдает клиентам (хотя узел поддержки также может принимать данные от других узлов поддержки и даже от клиентов, в зависимости от его настроек). Узел поддержки имеет смысл ставить на отдельном сервере с хорошей шириной исходящего канала.
== Мониторинг трансляции ==Для максимально эффективной работы схемы с узлами поддержки источнику необходимо сообщить адреса этих узлов с помощью опции <tt>--support-node</tt>: <tt>acestreamengine --stream-source \ --name "test" \ --title "Тестовая трансляция" \ --source "<nowiki>http://192.168.1.100/stream</nowiki>" \ --bitrate 300000 \ --port 7764 \ --publish-dir "/home/www/streams" \ --cache-dir "/tmp/streams" \ --add-authorized-peers \ --skip-internal-tracker \ --tracker "udp://192.168.1.1:2710/announce" \ --support-node "192.168.1.2:8621" \ --support-node "192.168.1.3:8621" \ --log-stdout</tt>
Программа tsengineЗапускаем узлы поддержки на серверах 192.168.1.2 и 192.168.1.3 (команды для запуска одинаковые): <tt>acestreamengine --stream выводит всю отладочную информацию в STDERR-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 \ --log-stdout</tt>
Опция <tt>host:~# tsengine-stream --name test --source http://84.22.159.204:8006 --bitrate 350000 --host mysite.com --destdir /tmp/streams tracker url: http://mysite.com:7764/announce/ bitrate: 350000 piece size: 262144 dest dir: /tmp/streams ------------------------ createlivestream: open stream: url http://84.22.159.204:8006 reader builtin 2012-07-16 12:56:36 stream: started input thread 2012-07-16 12:56:37 stream: created piece 0 speed 131.12 KiB/s 2012-07-16 12:56:38 stream: created piece 1 speed 183.15 KiB/s 2012-07-16 12:56:39 stream: created piece 2 speed 198.34 KiB/s 2012-07-16 12:56:40 stream: created piece 3 speed 196.96 KiB/s 2012-07-16 12:56:41 stream: created piece 4 speed 199.23 KiB/s 2012-07-16 12:56:43 stream: created piece 5 speed 203.08 KiB/s 2012-07-16 12:56:44 stream: created piece 6 speed 206.37 KiB/snode</tt>задает адрес источника.
Основная выводимая информация: номера создаваемых кусков Опция <tt>--allow-source-download</tt> разрешает узлу поддержки скачивать данные с источника (скачивание с других узлов поддержки и скорость загрузки данных от источника трансляцииклиентов в данном случае запрещено).
Остановка Если необходимо разрешить узлам поддержки скачивать данные с других узлов поддержки, то следует задать список других узлов опцией <tt>--support-node</tt> и разрешить скачивание опцией <tt>--allow-support-download</tt>. На сервере 192.168.1.2 это будет выглядеть так: <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 \ --support-node "192.168.1.3:8621" \ --allow-support-download \ --log-stdout</tt> На сервере 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 \ --support-node "192.168.1.2:8621" \ --allow-support-download \ --log-stdout</tt> ====Приватный источник с двумя узлами поддержки====Иногда может возникнуть необходимость запретить клиентам напрямую обращаться к источнику трансляции осуществляется нажатием Ctrl. Например, источник может быть физически расположен на сервере в защищенной зоне без доступа из внешнего мира. В этом случае трансляцию можно организовать по следующей схеме:*источник делается приватным (получать от него данные смогут только узлы поддержки, указанные явным образом)*узлы поддержки получают данные от источника и отдают клиентам*клиенты получают данные от узлов поддержки Для того, чтобы сделать источник приватным, следует указать опцию <tt>--private-source</tt>: <tt>acestreamengine --stream-source \ --name "test" \ --title "Тестовая трансляция" \ --source "<nowiki>http://192.168.1.100/stream</nowiki>" \ --bitrate 300000 \ --port 7764 \ --publish-dir "/home/www/streams" \ --cache-dir "/tmp/streams" \ --add-authorized-peers \ --skip-internal-tracker \ --tracker "udp://192.168.1.2:2710/announce" \ --support-node "192.168.1.2:8621" \ --support-node "192.168.1.3:8621" \ --private-source \ --log-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 \ --log-Cstdout</tt>

Navigation menu