379
edits
Changes
→Syntax of acestreamengine --stream-source command
Repository should be selected according to operating system.
''Debian 6+:''
<tt><nowiki>deb http://repo.acestream.org/debian/ squeeze main</nowiki></tt>
or
Note: packages in sid repository are assembled with dependencies that correspond to official sid-repositories of Debian.
If you don't know, which repository to choose, use squeeze.
''Debian 7:''
<tt><nowiki>deb http://repo.acestream.org/debian/ wheezy main</nowiki></tt>
''Ubuntu 11.10:''
''Ubuntu 12.10:''
<tt><nowiki>deb http://repo.acestream.org/ubuntu/ quantal main</nowiki></tt>
''Ubuntu 13.04:''
<tt><nowiki>deb http://repo.acestream.org/ubuntu/ raring main</nowiki></tt>
'''Step 2'''
For Debian only the engine (acestream-engine) is available.
<!--
=== Installing ACE Stream package on Ubuntu from deb-package ===
You can install ACE Stream on Ubuntu without using repository. To do this you need to download the installation package by one of links below and install it using a package manager (for example, by double click on downloaded package).
This intallation package is an analog of <tt>acestream-full</tt> package from repository. It includes the engine, player and plug-in for browsers.
-->
=== Installing Ace Stream on the CentOS ===
Requirements:
* installed python 2.6
* installed module python-argparse
To install Ace Stream on CentOS you need:
* download an archive that corresponds to your CentOS version (links are below)
* extract files from archive and copy contents to /usr dir
The following packages are available at this moment:
*'''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
This package was tested on CentOS 5.8 and 6.3.
==Launching broadcast==
===Main terms===
*'''Source''' - a program that accepts broadcast's HTTP-stream of broadcast and provides playback of broadcast viewing with a help of using ACE Stream software.*'''Support node''' - a program, allowing to scale broadcast, using additional server equipment and Internet-channels.
*'''Client''' - ACE Stream software, which is used to play broadcast.
===Transition from versions 2.0.х to version 2.1 and higher===
From September, 10, 2013, upgraded version of the engine (2.1.6) for Ubuntu, Debian and CentOS is available.
Before using a new version for production, we recommend to test it on one or several broadcasts, if possible.
If you face any problems, please, write to the forum (http://forum.torrentstream.org) or email support@acestream.net.
Old versions are temporarily available in repository and by direct links:
'''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
'''CentOS 6''':
* http://dl.acestream.org/centos/6/acestream-engine-2.0.8_7-centos6-x86_64.tar.gz
<span style="color: #900;">ATTENTION!</span> In the nearest future support for older versions will be stopped.
<span style="color: #009;">IMPORTANT!</span> All broadcasts created via new version of Ace Stream (2.1 and higher) are not suppported by client software of old versions (2.0.х and lower). If you attempt to watch a new broadcast using the old engine, an error "Cannot load transport file" will appear.
====Changes in launch parameters====
Some parameters of the launch of sources and support nodes from the command line have been changed, therefore the launch with the old command line will not work.
Main changes:
* one executable file is used <tt>acestreamengine</tt>; different launch modes (a source, support node) are set by options:
** instead of <tt>acestreamengine-stream</tt> you should launch <tt>acestreamengine --stream-source</tt>
** instead of <tt>acestreamengine-node</tt> you should launch <tt>acestreamengine --stream-node</tt>
** instead of <tt>acestreamengine-client-console</tt> you should launch <tt>acestreamengine --client-console</tt>
** instead of <tt>acestreamengine-client-gtk</tt> you should launch <tt>acestreamengine --client-gtk</tt>
* log system is changed. In old versions the engine output all debug information into STDERR and redirecting the output was required to write logs into a file. In a new version it is possible to define in options, where to write logs - into STDOUT, into STDERR, into a file or syslog. Rotation of logs by their size is supported for files. You can read description of all options in [[#acestreamengine command|acestreamengine command]]
===acestreamengine command===
Starting from version 2.1 Ace Stream Engine for Linux represents a single executable file <tt>acestreamengine</tt>, which works in different modes, depending on specified parameters.
Work mode is set by one of the following parameters:
* <tt>--client-console</tt> - launch engine in a client mode from console (without a graphic interface)
* <tt>--client-wx</tt> - launch engine in a client mode with a graphic interface WX
* <tt>--client-gtk</tt> - launch engine in a client mode with a graphic interface GTK
* <tt>--stream-source</tt> - launch a source of broadcast
* <tt>--stream-node</tt> - launch a support node
* <tt>--create-transport</tt> - create a transport file from existing content (VOD)
* <tt>--create-transport-multi</tt> - create a multi-stream transport file
* <tt>--version</tt> - show engine version
Each work mode has their own required and not required parameters, described in appropriate sections.
Also all work modes have common parameters that manage the output of debug information.
* <tt>--log-stdout</tt> - deduce information in STDOUT
* <tt>--log-stderr</tt> - deduce information in STDERR
* <tt>--log-file PATH</tt> - deduce information in a specified file
* <tt>--log-max-size SIZE</tt> - maximum file size (bytes)
* <tt>--log-backup-count COUNT</tt> - how many backup logs have to be stored (backup log file is created when a limit, specified by a parameter --log-max-size, is reached)
* <tt>--log-file-buffer SIZE</tt> - enable buffering of output into the file (using buffer of specified size in bytes)
* <tt>--log-syslog HOST</tt> - deduce information in syslog-server at the specified address
* <tt>--log-syslog-port PORT</tt> - syslog-server port
* <tt>--log-syslog-facility FACILITY</tt> - used facility
* <tt>--log-syslog-buffer SIZE</tt> - enable buffering of output into syslog (using buffer of specified size in bytes)
===Common work scheme ===
The source accepts HTTP-stream to input (at this moment HTTP-streams with MPEG-TS encapsulation are supported) with original broadcast and creates a file with acelive extension after the launch. This file is a unique identifier of broadcast and it is used for connection and playback by clients.
===Синтаксис команды Syntax of acestreamengine--stream-source command===Команда <tt>acestreamengine--stream-source</tt> запускает источник трансляцииcommand launches broadcast source.
''обязательные параметрыrequired parameters''*<tt>--name NAME</tt> - название трансляции broadcast name (это название используется при создании файла this name is used when creating acelive и других служебных файловand other service files)*<tt>--source SOURCE</tt> - источник source (ссылка на link to http-потокstream)*<tt>--bitrate BITRATE</tt> - средний битрейт потока в байтах в секундуaverage bitrate of stream in bytes per second
''необязательные параметрыoptional parameters''*<tt>--title TITLE</tt> - "читабельноеreadable" название транляции broadcast name (это название выводится у клиентовthis name is shown to clients). Если не заданоIf it's not specified, берется из it's taken from --name*<tt>--destdir DESTDIR</tt> - устаревшний параметрold parameter, лучше использовать it's better to use --cache-dir и and --publish-dir*<tt>--cache-dir CACHE_DIR</tt> - папка для создания служебных файлов directory for creating service files (кеш трансляции и другиеbroadcast cache and others)*<tt>--publish-dir PUBLISH_DIR</tt> - папкаdirectory, в которой будет создан in which acelive-файлfile will be created*<tt>--piecesize PIECESIZE</tt> - размер куска в байтах piece size in bytes (если не заданif it's not specified, выставляется автоматически в зависимости от битрейтаit's set automatically depending on bitrate)*<tt>--duration DURATION</tt> - размер кеша трансляции в формат ЧЧsize of broadcast cache in format HH:ММMM:СС SS (по умолчанию один часby default, one hour: 01:00:00)*<tt>--host HOST</tt> - вручную задать адрес локального трекераset address of local tracker manually*<tt>--port PORT</tt> - портport, на котором работает движокwhere the engine works*<tt>--skip-internal-tracker</tt> - отключить локальный трекерdisable local tracker*<tt>--add-authorized-peers</tt> - добавить список авторизованных пиров в add list of authorized peers to acelive файлfile*<tt>--private-source</tt> - сделать источник приватнымmake the source private*<tt>--support-node SUPPORT_NODE</tt> - добавить узел поддержки add support node (в формате in format ip:port). Этот параметр может встречаться несколько раз, если нужно добавить несколько узлов поддержкиThis parameter may appear multiple times if several support nodes have to be added.*<tt>--tracker TRACKER</tt> - добавить трекер add tracker(announce url). Этот параметр может встречаться несколько разThis parameter may appear multiple times.*<tt>--trackers TRACKERS</tt> - старый формат добавления трекеров old format for adding trackers (список announce url через запятуюlist separated by commas)*<tt>--provider-key PROVIDER_KEY</tt> - ключ провайдера provider's key (только для коммерческих трансляцийonly for commercial broadcasts)*<tt>--maxclients MAXCLIENTS</tt> - максимальное количество пировmaximum number of peers, on which data from the source are given simultaneously*<tt>--log-debug DEBUG</tt> - set the debug level (default is 0 - minimum log level)*<tt>--source-read-timeout SECONDS</tt> - timeout for reading data from the original source (in seconds). Default is 30.*<tt>--source-reconnect-interval SECONDS</tt> - interval is seconds, на которые одновременно отдаются данные с источникаafter which the engine will try to reconnect to the original source in case of connection lost. Default is 5.*<tt>--pid-file-dir PATH</tt> - the directory where engine's pid file is created. Default is /tmp.*<tt>--provider-key</tt> - provider key (for an affiliate program)*<tt>--showsid</tt> - content identificator for statistics(for an affiliate program)*<tt>--piecespermanent</tt> - выводить в лог номера кусков по мере их созданияmark the broadcast as 24/7 (it's available all the time)*<tt>--showdate-start YYYY-MM-DD HH:mm:ss</tt> - set the data and time of the broadcast start (for the broadcasts which runs during a limited time)*<tt>--date-end YYYY-MM-DD HH:mm:ss</tt> - set the data and time of the broadcast end(for the broadcasts which runs during a limited time)*<tt>--premium</tt> - request a "premium" status for the broadcast*<tt>--upload-limit</tt> - limit upload speed (bytes/s, default is 0 - don't limit)*<tt>--max-connections</tt> - limit total number of connections (default is 1000)*<tt>--max-peers</tt> - limit number of connections to other peers(default is 50)*<tt>--service-remote-access</tt> - периодически выводить в лог список подключенных пировenable remote statistics*<tt>--debug DEBUGservice-access-token</tt> - password for remote statistics access*<tt>--stats-report-interval</tt> - interval in seconds between internal statistics update (default is 60)*<tt>--stats-report-peers</tt> - установить уровень отладкиupdate information about connected peers in the internal statistics (increases CPU load)
''дополнительноadditional''*<tt>-h, --help</tt> - показать описание командshow commands' description
===Синтаксис команды Syntax of acestreamengine--stream-nodecommand===Команда <tt>acestreamengine--stream-node</tt> запускает узел поддержкиcommand launches support node.
''обязательные параметрыrequired parameters''*<tt>--url URL></tt> - ссылка на link to acelive файл трансляцииfile of broadcast
''необязательные параметрыoptional parameters''*<tt>--port PORT</tt> - порт port(по умолчанию by default: 8621)*<tt>--state-dir STATE_DIR</tt> - папка для временных файлов directory for temporary files (удаляется после остановки узла поддержкиit's deleted after support node installation)*<tt>--source-node SOURCE_NODE</tt> - адрес источника трансляции address of broadcast source (ip:port)*<tt>--support-node SUPPORT_NODE</tt> - добавить адрес другого узла поддержки add address of another support node (ip:port). Этот параметр может встречаться несколько разThis parameter may appear multiple times.*<tt>--allow-source-download</tt> - разрешить получение данных от источникаallow receiving data from the source*<tt>--allow-support-download</tt> - разрешить получение данных от других узлов поддержкиallow receiving data from other support nodes*<tt>--allow-peers-download</tt> - разрешить получение данных от обычных пировallow receiving data from ordinary peers*<tt>--max-incoming-connects MAX_INCOMING_CONNECTSconnections MAX_CONNECTIONS</tt> - маскимальное кол-во входящих соединений (от других пиров) limit number of total connections (по умолчанию default is 1000)*<tt>--max-outgoing-connects MAX_OUTGOING_CONNECTSpeers MAX_PEERS</tt> - маскимальное кол-во исходящих соединений limit number of connections to other peers (к другим пирам) (по умолчанию default is 50)*<tt>--max-upload-slots MAX_UPLOAD_SLOTS</tt> - максимальное количество пировmaximum number of peers, на которые одновременно отдаются данные с узла поддержки on which data from support node are given simultaneously (по умолчанию by default: 7)*<tt>--max-download-speed MAX_DOWNLOAD_SPEED</tt> - максимальная скорость загрузки maximum download speed (байтbyte/сs). По умолчанию By default: 0 (без ограниченийno restrictions).*<tt>--max-upload-speed MAX_UPLOAD_SPEED</tt> - максимальная скорость отдачи maximum upload speed (байсbyte/сs). По умолчанию By default: 0 (без ограниченийno restrictions).*<tt>--showlog-debug DEBUG</tt> - set the debug level (default is 0 - minimum log level)*<tt>--service-remote-piecesaccess</tt> - выводить в лог номера кусков по мере их загрузкиenable remote statistics*<tt>--showservice-peersaccess-token</tt> - периодически выводить в лог список подключенных пировpassword for remote statistics access*<tt>--stats-report-interval STATS_REPORT_INTERVAL</tt> - задать интервал в секундах для вывода в лог информации о скорости загрузки/отдачи. По умолчанию 0 interval in seconds between internal statistics update (не выводитьdefault is 60).*<tt>--debug DEBUGstats-report-peers</tt> - установить уровень отладкиupdate information about connected peers in the internal statistics (increases CPU load)
''дополнительноadditional''*<tt>-h, --help</tt> - показать описание командshow commands' description
===Встроенный трекерEmbedded tracker===Встроенный трекер - это трекер встроенный в источник трансляцииEmbedded tracker is a tracker embedded into broadcast source. Если он не отключен опцией If it's not disabled by <tt>--skip-internal-tracker</tt>option, то его адрес будет автоматически добавлен в its address will be added to acelive-файлfile automatically.
===Авторизованные узлыAuthorized nodes===Для тогоClient have to establish connection with at least two other nodes or an authorized node, чтобы клиент подключился к трансляции и начал просмотр, ему необходимо либо установить соединение минимум с двумя другими узлами, либо установить соединение с авторизованным узломto be connected to broadcast and start playback. Авторизованный узел - это узел, который был отмечен создателем трансляции как такойAuthorized node is a node, которому можно which was marked by broadcast's creator as a "доверятьtrustworthy". Как правило, это источник трансляции иUsually it's a broadcast source and/или узлы поддержкиor support nodes.
===ПримерыExamples===Для примеров предроложим наличие локальной сети с тремя серверамиFor examples let's assume that there is a local network with three servers:*192.168.1.1 - сервер для источникаserver for the source*192.168.1.2 - сервер для узла поддержкиserver for support node*192.168.1.3 - сервер для узла поддержкиserver for support node*192.168.1.100 - сервер, который отдает оригинальный поток трансляции server that gives original broadcast's stream (HTTP MPEG-TS) по адресу at <nowiki>http://192.168.1.100/stream</nowiki> (средний битрейт потока average bitrate of stream - 300 000 байтbyte/сs)
====Источник с встроенным трекеромSource with embedded tracker====Это наиболее простой способ запуск трансляции, не требующий запуска узлов поддержки и установки дополнительных трекеровThis is the easiest way to launch broadcast that does not require launching support nodes and installing additional trackers. Данный способ подходит для трансляций с небольшим количество пользователейThis method is suitable for broadcasts with a small number of users.
--name "test" \
--title "Тестовая трансляцияTest broadcast" \
--source "<nowiki>http://192.168.1.100/stream</nowiki>" \
--bitrate 300000 \
--publish-dir "/home/www/streams" \
--cache-dir "/tmp/streams" \
--add-authorized-peers \ > /tmp/test-source.log 2>&1</tt>
====Источник с внешним трекеромSource with external tracker====Если трансляция предполагает большое количество пользователейIf broadcast involves a large number of users, то желательно использовать внешний трекер и отключить встроенный it's better to use external tracker and disable embedded one (для снижения нагрузки на источникto reduce burden on the source).
--name "test" \
--title "Тестовая трансляцияTest broadcast" \
--source "<nowiki>http://192.168.1.100/stream</nowiki>" \
--bitrate 300000 \
--add-authorized-peers \
--skip-internal-tracker \
--tracker "udp://192.168.1.1:2710/announce" \</tt> <tt> --skip-internal-tracker</tmp/testtt> option disconnects embedded tracker, <tt>--source.log 2>&1tracker</tt>option connects external tracker.
--name "test" \
--title "Тестовая трансляцияTest broadcast" \
--source "<nowiki>http://192.168.1.100/stream</nowiki>" \
--bitrate 300000 \
--tracker "udp://192.168.1.1:2710/announce" \
--support-node "192.168.1.2:8621" \
--support-node "192.168.1.3:8621" \ > /tmp/test-source.log 2>&1</tt>
--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</tt>
--url "<nowiki>http://192.168.1.1/streams/test.acelive</nowiki>" \
--state-dir "/tmp" \
--allow-source-download \
--support-node "192.168.1.3:8621" \
--allow-support-download \ > /tmp/test-node.log 2>&1</tt>
--url "<nowiki>http://192.168.1.1/streams/test.acelive</nowiki>" \
--state-dir "/tmp" \
--allow-source-download \
--support-node "192.168.1.2:8621" \
--allow-support-download \ > /tmp/test-node.log 2>&1</tt>
====Приватный источник с двумя узлами поддержкиPrivate source with two support nodes====Иногда может возникнуть необходимость запретить клиентам напрямую обращаться к источнику трансляцииSometimes it may be necessary to prevent clients from direct access to broadcast source. НапримерFor example, источник может быть физически расположен на сервере в защищенной зоне без доступа из внешнего мираthe source may be located on server in protected area without access from the outer world. В этом случае трансляцию можно организовать по следующей схемеIn this case broadcast can be organized by the following scheme:*источник делается приватным the source is made private (получать от него данные смогут только узлы поддержкиonly support nodes, указанные явным образомspecified explicitly, can receive data from it)*узлы поддержки получают данные от источника и отдают клиентамsupport nodes receive data from the source and give to clients*клиенты получают данные от узлов поддержкиclients receive data from support nodes
--name "test" \
--title "Тестовая трансляцияTest broadcast" \
--source "<nowiki>http://192.168.1.100/stream</nowiki>" \
--bitrate 300000 \
--support-node "192.168.1.2:8621" \
--support-node "192.168.1.3:8621" \
--private-source \ > /tmp/test-source.log 2>&1</tt>
--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</tt>