Changes

Jump to: navigation, search

Streaming

22,356 bytes added, 20:32, 9 June 2020
no edit summary
== Установка Запуск трансляции==
=== Установка ACE Stream на Debian/Ubuntu из репозитория Основные термины===*'''Источник''' - программа, которая принимает на вход HTTP-поток трансляции и обеспечивает просмотр трансляции с помощью ПО Ace Stream*'''Узел поддержки''' - программа, позволяющая масштабировать трансляцию за счет использования дополнительного серверного оборудования и интернет-каналов*'''Клиент''' - ПО Ace Stream, которое используется для просмотра трансляции*'''Timeshift''' - временной интервал, в рамках которого в клиенты могут осуществлять перемотку трансляции
'''Шаг ===Переход с версий 2.0.х на версию 2.1'''и выше===С 10 сентября 2013 года доступна обновленная версия движка 2.1.6 под Ubuntu, Debian и CentOS.
Добавить ссылку Перед полномасштабным использованием новой версии мы рекомендуем по возможности протестировать ее на соответствующий репозиторий в файл <tt>/etc/apt/sources.list</tt>одной или нескольких трансляциях.
Репозиторий слудет выбирать в зависимости от операционной системыПри возникновении каких-либо проблем просьба писать на форум http://forum.torrentstream.org либо на почту support@acestream.net.
''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>
Примечание'''Ubuntu''': пакеты в репозитории sid собраны с зависимостями, которые соответствуют официальным sid* 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-репозиториям Debian1quantal6_i386.debЕсли вы не знаете, какой репозиторий выбрать, используйте squeeze* 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
''Ubuntu 11.10:'Debian''': <tt><nowiki>* http://dl.acestream.org/debian/acestream-engine_2.0.8-1sid5_amd64.deb * http://repodl.acestream.org/ubuntudebian/ oneiric main<acestream-engine_2.0.8-1sid5_i386.deb* http:/nowiki></tt>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
''Ubuntu 12.04:'CentOS 6''': <tt><nowiki>deb * http://repodl.acestream.org/ubuntucentos/ precise main<6/nowiki></tt>acestream-engine-2.0.8_7-centos6-x86_64.tar.gz
''Ubuntu 12.10:'' <tt><nowiki>deb httpspan style="color://repo.acestream.org/ubuntu/ quantal main</nowiki#900;">ВНИМАНИЕ!</ttspan>В ближайшее время поддержка старых версий будет прекращена.
'''Шаг <span style="color: #009;">ВАЖНО!</span> Все трансляции, созданные с помощью новой версии Ace Stream (2'''.1 и выше) не поддерживаются клиентским ПО старых версий (2.0.х и ниже). При попытке просмотреть новую трансляцию с помощью старого движка будет выдаваться ошибка "Cannot load transport file"
Установка публичного ключа====Изменения в параметрах запуска====В новой версии изменились некоторые параметры запуска источников и узлов поддержки из командной строки, поэтому запуск со старой командной строкой работать не будет. Для этого необходмо выполнить следующую команду:
''DebianОсновные изменения:'' * используется один исполняемый файл <tt>acestreamengine<nowiki/tt>; различные режимы запуска (источник, узел поддержки) задаются опциями:** вместо <tt>acestreamengine-stream</tt> следует запускать <tt>wget acestreamengine --O stream-source</tt>** вместо <tt>acestreamengine- http:node</tt> следует запускать <tt>acestreamengine --stream-node</repo.acestream.orgtt>** вместо <tt>acestreamengine-client-console</keystt> следует запускать <tt>acestreamengine --client-console</acestream.public.key | apttt>** вместо <tt>acestreamengine-key add client-gtk</nowikitt>следует запускать <tt>acestreamengine --client-gtk</tt>* изменена система логирования. В старых версия движок всю отладочную информацию выводил в STDERR и для записи логов в файл требовалось перенаправлять вывод. В новой версии можно в опциях задать, куда писать логи - в STDOUT, в STDERR, в файл либо в syslog. Для файлов поддерживается ротация логов по размеру. Описание всех опций смотрите в разделе [[#Команда acestreamengine|Команда acestreamengine]]
''Ubuntu:''===Команда acestreamengine=== Начиная с версии 2.1 Ace Stream Engine для Linux представляет собой один исполняемый файл <tt><nowiki>sudo wget -O - http://repo.acestream.org/keys/acestream.public.key | sudo apt-key add -</nowiki>acestreamengine</tt>, который работает в различных режимах в зависимости от заданных параметров.
'''Шаг 3'''Режим работы задается одним из следующих параметров:* <tt>--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> - показать версию движка
Установка нужно пакетаКаждый режим работы имеет свои обязательные и необязательные параметры, описанные в соответствующих разделах. Например, для установка движка, нужно установить пакет acestream-engine
''Debian''Также всех режимов работы есть общие параметры, которые управляют выводом отладочной информации. * <tt>apt-get update-log-stdout</tt>- выводить информацию в STDOUT * <tt>apt-get install acestream-enginelog-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 (с использованием буфера указанного размера в байтах)
''Ubuntu''===Общая схема работы=== Организация трансляции начинается с запуска источника (команда <tt>sudo aptacestreamengine-get updatestream</tt>). <tt>sudo aptИсточник принимает на вход HTTP-поток (в данный момент поддерживаются HTTP-get install acestreamпотоки с инкапсуляцией MPEG-engine</tt>TS) с оригиналом трансляции и после запуска создает файл с расширением acelive. Данный файл является уникальным идентификатором трансляции и используется клиентами для подключения и просмотра.
В репозитории для Ubuntu доступны следующие пакеты:*'''acestream-engine''' - движок*'''acestream-mozilla-plugin''' ===Синтаксис команды acestreamengine - плагин для браузеров*'''acestream-player''' stream- десктопный плеерsource===*'''acestreamКоманда <tt>acestreamengine -player-data''' - набор общих библиотек для плеера и плагина*'''acestream-full''' stream- полный пакет, который включает в себя все вышеперечисленныеsource</tt> запускает источник трансляции.
Для Debian доступен только движок ''обязательные параметры''*<tt>--name NAME (acestream*)</tt> -engineназвание трансляции (это название используется при создании файла acelive и других служебных файлов).*<tt>--source SOURCE</tt> - источник (ссылка на http-поток)*<tt>--bitrate BITRATE (*)</tt> - средний битрейт потока в байтах в секунду
=== Установка пакет ACE Stream ''необязательные параметры''*<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> - порт, на Ubuntu из debкотором работает движок. По умолчанию 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). Этот параметр может встречаться несколько раз.Можно установить ACE Stream *<tt>--maxclients MAXCLIENTS</tt> - максимальное количество пиров, на Ubuntu без использования репозиториякоторые одновременно отдаются данные с источника. Для этого необходимо скачать установочный пакет По умолчанию 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> - обновлять данные по пирам во внутренней статистике
Пакет для 32-битных версий Ubuntu:''дополнительно'' *<tt>http://dl.torrentstream.org/products/acestream-full/ubuntu/i368/latesth, --help</tt>- показать описание команд
Пакет для 64-битных версий Ubuntu: <tt>http://dl.torrentstream.org/products/acestream-full/ubuntu/amd64/latest</tt>''примечание''
Поддерживаемые версии Ubuntu: 11.10Изменение параметров, 12.04отмеченных звездочками, 12.10приводит к изменению Content ID трансляции
Данный установочный пакет является аналогом пакета ===Синтаксис команды acestreamengine --stream-node===Команда <tt>acestreamacestreamengine --stream-fullnode</tt> из репозитория и включает в себя движок, плеер и плагин для браузеров.запускает узел поддержки
== Запуск ''обязательные параметры''*<tt>--url URL></tt> - ссылка на acelive файл трансляции ==
Для запуска ''необязательные параметры''*<tt>--port PORT</tt> - порт (по умолчанию 8621)*<tt>--state-dir STATE_DIR</tt> - папка для временных файлов (удаляется после остановки узла поддержки)*<tt>--source-node SOURCE_NODE</tt> - адрес источника трансляции используется команда tsengine(ip:port)*<tt>--support-node SUPPORT_NODE</tt> - добавить адрес другого узла поддержки (ip:port). Этот параметр может встречаться несколько раз.*<tt>--allow-source-download</tt> - разрешить получение данных от источника*<tt>--allow-streamsupport-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, --help</tt> - показать описание команд
===Встроенный трекер===Встроенный трекер - это трекер встроенный в источник трансляции. Если он не отключен опцией <tt>'''--name'''skip-internal-tracker</tt>, то его адрес будет автоматически добавлен в acelive-файл.
Название трансляцииПри организации трансляций с большим количеством пользователей мы рекомендуем отключать встроенный трекер и заменять его внешним трекером с хорошей производительностью (например, [http://xbtt.sourceforge.net/tracker/ XBT Tracker])
===Авторизованные узлы===
Для того, чтобы клиент подключился к трансляции и начал просмотр, ему необходимо либо установить соединение минимум с двумя другими узлами, либо установить соединение с авторизованным узлом. Авторизованный узел - это узел, который был отмечен создателем трансляции как такой, которому можно "доверять". Как правило, это источник трансляции и/или узлы поддержки.
Последние версии ПО ACE Stream поддерживают использование списка авторизованных узлов в acelive-файле. Для этого при создании трансляции задается опция <tt>'''--source'''add-authorized-peers</tt>, после чего формируется список авторизованных узлов и добавляется в acelive-файл. В список авторизованных узлов попадает источник трансляции (если это не приватный источник) и все указанные узлы поддержки. Клиенты, которые получили данный acelive-файл, используют список для определения того, является ли какой-либо узел авторизованным.
Источник Если в acelive- URL потокафайл не был добавлен список авторизованных узлов, который либо у клиента установлена старая версия ACE Stream, которая не распознает данный список, то авторизованным узлом считается узел, IP адрес которого совпадает с адресом первого трекера в списке трекеров. Если встроенный трекер на источнике не отключен, то он будет транслироватьсяпервым в списке и клиенты будут считать источник авторизованным узлом. В данный момент поддерживаются HTTP потоки случае, если встроенный трекер отключен, для поддержки старых клиентов мы рекомендуем ставить на первое место трекер, расположенный на том же сервере, что и источник трансляции (чтобы адреса первого трекера и источника совпадали), либо использовать как минимум один узел поддержки (чтобы клиенты при старте могли установить соединение сразу с инкапсуляцией MPEG-TSдвумя пирами, даже если больше никто не смотрит трансляцию).
===Timeshift===
Функция "Timeshift" дает пользователям возможность осуществить перемотку трансляции на некоторое время назад, а также поставить трансляцию на паузу и вернуться к просмотру в удобное для них время.
Время, на которое может осуществляться перемотка назад, задается при создании трансляции опцией <tt>'''--destdir'''duration</tt>. Время указывается в формате ЧЧ:ММ:СС.
ДиректорияНапример, в которую при указании опции <tt>--duration 00:30:00</tt> будет сохранен .tslive файл для данной трансляции и некоторые служебные файлызадан интервал 30 минут.
===Примеры===
Для примеров предположим наличие локальной сети с тремя серверами:
*192.168.1.1 - сервер для источника
*192.168.1.2 - сервер для узла поддержки
*192.168.1.3 - сервер для узла поддержки
*192.168.1.100 - сервер, который отдает оригинальный поток трансляции (HTTP MPEG-TS) по адресу <nowiki>http://192.168.1.100/stream</nowiki> (средний битрейт потока - 300 000 байт/с)
На сервере 192.168.1.1 предполагается наличие веб-сервера с корневой папкой <tt>/home/www</tt>, а также двух папок:*<tt>/home/www/streams</tt>'''-для хранения acelive-bitrate'''файлов, которые будут доступны для скачивания по ссылке вида <tt><nowiki>http://192.168.1.1/streams/test.acelive</nowiki></tt>*<tt>/tmp/streams</tt> - для хранения кэша и служебных файлов трансляций
Битрейт потока в килобайтах в секунду====Источник с встроенным трекером====Это наиболее простой способ запуск трансляции, не требующий запуска узлов поддержки и установки дополнительных трекеров. Для корректной работы потока следует указывать средний битрейт потока, который используется в качестве источникаДанный способ подходит для трансляций с небольшим количество пользователей.
На сервере 192.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>'''--piecesize'''add-authorized-peers</tt>добавляет в acelive-файл список авторизованных узлов (в данном случае это источник: 192.168.1.1).
Размер После запуска трансляции в папке /home/www/streams будет создан файл test.acelive, в байтах куска для работы bittorrentпапке <tt>/tmp/streams</tt> будут созданы такие файлы:*<tt>test</tt> -протоколакэш трансляции. По Размер этого файла примерно равен длительность_потока_в_секундах (опция <tt>--duration</tt>, по умолчанию данный параметр принимает значение auto, при котором размер куска определяется автоматически1 час) * битрейт байт*<tt>test.restart</tt> - здесь хранится информация для корректного перезапуска трансляции*<tt>test.sauth</tt> - ключ для цифровой подписи трансляции
Для просмотра трансляции клиенты могут скачать файл трансляции по ссылке <tt><nowiki>http://192.168.1.1/streams/test.acelive</nowiki></tt> и запустить его в плеере ACE Stream, либо использовать другие способы ([[Способы просмотра трансляции]]).
<tt>'''--duration'''</tt>====Источник с внешним трекером====Если трансляция предполагает большое количество пользователей, то желательно использовать внешний трекер и отключить встроенный (для снижения нагрузки на источник).
Длительность потока в формате ЧЧВ качестве внешнего трекера мы советуем использовать [http:ММ:СС. Этот параметр задает объем кэша для потока. Значение по умолчанию - 01:00:00 (т.е//xbtt. система будет держать в кэше приблизельно один час трансляции)sourceforge.net/tracker/ XBT Tracker]
В данном примере предполагаем, что XBT Tracker установлен и запущен на сервере 192.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 \
--skip-internal-tracker \
--tracker "udp://192.168.1.1:2710/announce" \
--log-stdout</tt>
Опция <tt>'''--host'''skip-internal-tracker</tt> отключает встроенный трекер, опция <tt>--tracker</tt>подключает внешний трекер.
IP-адрес либо название хоста====Источник с двумя узлами поддержки====В случае, если на котором запускается трансляция. Для источнике не хватает пропускной способности исходящего канала для нормальной работы трансляции данный адрес должен быть доступен пользователям, которые будут смотреть трансляциюможно использовать узлы поддержки. Чаще всего узел поддержки представляет собой узел, который принимает данные от источника и отдает клиентам (хотя узел поддержки также может принимать данные от других узлов поддержки и даже от клиентов, в зависимости от его настроек). Узел поддержки имеет смысл ставить на отдельном сервере с хорошей шириной исходящего канала.
Для максимально эффективной работы схемы с узлами поддержки источнику необходимо сообщить адреса этих узлов с помощью опции <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>
Запускаем узлы поддержки на серверах 192.168.1.2 и 192.168.1.3 (команды для запуска одинаковые): <tt>'''acestreamengine --port'''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-stdout</tt>
Порт, на который будут приниматься входящие соединения. По умолчанию 7764Опция <tt>--source-node</tt> задает адрес источника.
Опция <tt>--allow-source-download</tt> разрешает узлу поддержки скачивать данные с источника (скачивание с других узлов поддержки и клиентов в данном случае запрещено).
Если необходимо разрешить узлам поддержки скачивать данные с других узлов поддержки, то следует задать список других узлов опцией <tt>'''--trackers'''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>
<tt>'''--provider-key'''</tt>====Приватный источник с двумя узлами поддержки====Иногда может возникнуть необходимость запретить клиентам напрямую обращаться к источнику трансляции. Например, источник может быть физически расположен на сервере в защищенной зоне без доступа из внешнего мира. В этом случае трансляцию можно организовать по следующей схеме:*источник делается приватным (получать от него данные смогут только узлы поддержки, указанные явным образом)*узлы поддержки получают данные от источника и отдают клиентам*клиенты получают данные от узлов поддержки
Ключ лицензии для коммерческих трансляцийДля того, чтобы сделать источник приватным, следует указать опцию <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>. Это сделано для поддержки старых версий клиентов, которые не обрабатывают список авторизованных пиров (подробнее здесь [[#Авторизованные узлы|Авторизованные узлы]]).
<tt>'''--maxclients'''</tt> Максимальное количество клиентов, которые будут получать данные непосредственно от источника трансляцииУзлы поддержки на серверах 192. По умолчанию 7168.  '''Пример:''' <tt>tsengine-stream --name test --source http://841.222 и 192.159168.204:8006 --bitrate 350000 --host mysite1.com --destdir /tmp/streams</tt> После запуска трансляции в директории /tmp/streams будут созданы такие файлы3 запускаем как обычно <tt>'''test'''</tt> acestreamengine -- кэш трансляции. Размер этого файла примерно равен длительность_потока_в_секундах * битрейт байт <tt>'''test.tslive'''</tt> stream- с помощью этого файла пользователи могут подключаться к трансляцииnode \ <tt>'''test.restart'''</tt> - здесь хранится информация для корректного перезапуска трансляции <tt>'''test.sauth'''</tt> - ключ для цифровой подписи трансляции  Также после запуска можно зайти на страницу трекера, встроенного в TS Engine: url "<ttnowiki>http://mysite192.com:7764/</tt>  На данной странице отображается некоторая информация по трансляции, а также здесь можно скачать файл трансляции 168.tslive по такой ссылке: <tt>http://mysite1.com:77641/file?name=test</tt>  == Просмотр трансляции пользователями. == Если два основных способа просмтра трансляции # пользователь скачивает файл .tslive и запускает его в TS Player# организатор трансляции создает веб-страницу для просмотра трансляции, пользователи заходят на данную страницу и смотрят трансляцию через браузер. В качестве шаблона для такой страницы можно использовать http://torrentstream.org/streamstreams/test.php. Необходимо только изменить ссылку на файл .tslive в этой строке:  acelive<tt/nowiki>this.loadTorrent("http://torrentstream.net/streams/test2.mpegts.tslive");</tt>  == Мониторинг трансляции == Программа tsengine-stream выводит всю отладочную информацию в STDERR. Успешный страрт трансляции выглядит примерно таким образом:\ <tt>host:~# tsengine-stream --name test --source http://84.22.159.204:8006 -state-bitrate 350000 --host mysite.com --destdir /tmp/streams tracker url: http://mysite.com:7764/announce/ bitrate: 350000 piece size: 262144 dest dir: "/tmp/streams" \ --source---------------------- createlivestream: open stream: url http://84node "192.22168.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 1311.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/s7764" \ 2012-07-16 12:56:40 stream: created piece 3 speed 196.96 KiB/s 2012allow-07source-16 12:56:41 stream: created piece 4 speed 199.23 KiB/sdownload \ 2012-07-16 12:56:43 stream: created piece 5 speed 203.08 KiB/s 2012-07log-16 12:56:44 stream: created piece 6 speed 206.37 KiB/sstdout</tt> Основная выводимая информация: номера создаваемых кусков и скорость загрузки данных от источника трансляции. Остановка трансляции осуществляется нажатием Ctrl-C

Navigation menu