Changes

Jump to: navigation, search

Streaming/en

779 bytes added, 20:31, 9 June 2020
no edit summary
== Installation Launching broadcast==
=== Installing ACE Stream on Debian/Ubuntu from repository Main terms=== *'''Step 1Source''' Add link on appropriate repository into <tt>/etc/apt/sources.list</tt> file. Repository should be selected according to operating system. - a program that accepts broadcast''Debian 6+:'' <tt><nowiki>deb http://repo.acestream.org/debian/ squeeze main</nowiki></tt> or <tt><nowiki>deb http://repo.acestream.org/debian/ sid main</nowiki></tt> Note: packages in sid repository are assembled with dependencies that correspond to official sids HTTP-repositories stream and provides playback of Debianbroadcast using ACE Stream software.If you don*'t know, which repository to choose, use squeeze. ''Ubuntu 11.10:Support node'' <tt><nowiki>deb http://repo.acestream.org/ubuntu/ oneiric main</nowiki></tt> ''Ubuntu 12.04:'' <tt><nowiki>deb http://repo.acestream.org/ubuntu/ precise main</nowiki></tt> ''Ubuntu 12- a program allowing to scale broadcast using additional server equipment and Internet-channels.10:'' <tt><nowiki>deb http://repo.acestream.org/ubuntu/ quantal main</nowiki></tt> *'''Step 2Client''' Installing public key- ACE Stream software, which is used to play broadcast. To do this you have to run the following command:
''Debian:''===Transition from versions 2.0.х to version 2.1 and higher=== <tt><nowiki>wget -O - http://repoFrom September, 10, 2013, upgraded version of the engine (2.acestream1.org/keys/acestream.public6) for Ubuntu, Debian and CentOS is available.key | apt-key add -</nowiki></tt>
''Ubuntu:'' <tt><nowiki>sudo wget -O - http://repoBefore using a new version for production, we recommend to test it on one or several broadcasts, if possible.acestream.org/keys/acestream.public.key | sudo apt-key add -</nowiki></tt>
'''Step 3'''If you face any problems, please, write to the forum (http://forum.torrentstream.org) or email support@acestream.net.
Installing the right package. For example, for engine installation you have to install acestream-engine package.Old versions are temporarily available in repository and by direct links:
''Debian'Ubuntu''': <tt>apt* 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-get update<engine_2.0.8-1precise6_i386.deb* http:/tt>/dl.acestream.org/ubuntu/acestream-engine_2.0.8-1quantal6_amd64.deb <tt>apt* http://dl.acestream.org/ubuntu/acestream-get install engine_2.0.8-1quantal6_i386.deb* http://dl.acestream.org/ubuntu/acestream-engine<engine_2.0.8-1raring6_amd64.deb* http://dl.acestream.org/ubuntu/tt>acestream-engine_2.0.8-1raring6_i386.deb
''Ubuntu'Debian''': <tt>sudo apt* http://dl.acestream.org/debian/acestream-engine_2.0.8-get update<1sid5_amd64.deb* http://dl.acestream.org/debian/tt>acestream-engine_2.0.8-1sid5_i386.deb <tt>sudo apt* http://dl.acestream.org/debian/acestream-engine_2.0.8-get install 1squeeze5_amd64.deb* http://dl.acestream.org/debian/acestream-engine</tt>engine_2.0.8-1squeeze5_i386.deb
The following packages are available in the repository for Ubuntu:*'''acestream-engineCentOS 6''' - engine:*'''http://dl.acestream-mozilla-plugin''' - plug-in for browser*'''.org/centos/6/acestream-player''' engine- desktop player*'''acestream-player2.0.8_7-data''' - set of common libraries for the player and plug-in*'''acestream-full''' centos6- full package, including all of the abovex86_64.tar.gz
For Debian only <span style="color: #900;">ATTENTION!</span> In the engine (acestream-engine) is availablenearest future support for older versions will be stopped.
<span style=== Installing ACE "color: #009;">IMPORTANT!</span> All broadcasts created via new version of Ace Stream package on Ubuntu from deb-package ===You can install ACE Stream on Ubuntu without using repository(2. To do this you need to download the installation package 1 and higher) are not suppported by one client software of links below old versions (2.0.х and install it lower). If you attempt to watch a new broadcast using a package manager (for examplethe old engine, by double click on downloaded package)an error "Cannot load transport file" will appear.
Package for 32-bit versions ====Changes in launch parameters====Some parameters of the launch of Ubuntu: <tt>http://dl.torrentstreamsources and support nodes from the command line have been changed, therefore the launch with the old command line will not work.org/products/acestream-full/ubuntu/i368/latest</tt>
Package for 64-bit versions of UbuntuMain changes: * one executable file is used <tt>acestreamengine</tt>http; different launch modes (a source, support node) are set by options:** instead of <tt>acestreamengine-stream</tt> you should launch <tt>acestreamengine --stream-source</dl.torrentstream.orgtt>** instead of <tt>acestreamengine-node</productstt> you should launch <tt>acestreamengine --stream-node</acestreamtt>** instead of <tt>acestreamengine-client-fullconsole</ubuntutt> you should launch <tt>acestreamengine --client-console</amd64tt>** instead of <tt>acestreamengine-client-gtk</latesttt> 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]]
Supported versions of Ubuntu: 11===acestreamengine command===Starting from version 2.101 Ace Stream Engine for Linux represents a single executable file <tt>acestreamengine</tt>, 12.04which works in different modes, 12depending on specified parameters.10
This intallation package Work mode is an analog set by one of the following parameters:* <tt>acestream-full-client-console</tt> package - launch engine in a client mode from repository. It includes the console (without a graphic interface)* <tt>--client-wx</tt> - launch engine, player and plugin a client mode with a graphic interface WX* <tt>--client-gtk</tt> - launch engine in for browsers.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
==Launching broadcast==Each work mode has their own required and not required parameters, described in appropriate sections.
===Main terms===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*'''Source''' <tt>--log-max-size SIZE</tt> - program that accepts HTTPmaximum 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> -stream enable buffering of broadcast and provides broadcast viewing output into the file (using ACE Stream software.buffer of specified size in bytes)*'''Support node''' <tt>--log-syslog HOST</tt> - deduce information in syslog- program allowing to scale broadcast using additional server equipment and Internetat the specified address* <tt>--channels.log-syslog-port PORT</tt> - syslog-server port*'''Client''' <tt>--log-syslog-facility FACILITY</tt> - ACE Stream software, which is used to play broadcast.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 bites bytes per second
''optional parameters''
*<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 bites bytes, power of two (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>--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>--showlog-piecesdebug DEBUG</tt> - show 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 log numbers 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 pieces 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>--sid</tt> - content identificator for statistics(for an affiliate program)*<tt>--permanent</tt> - mark the broadcast as they are created24/7 (it's available all the time)*<tt>--date-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>--showmax-peers</tt> - periodically show in log list limit number of connected connections to other peers(default is 50)*<tt>--service-remote-access</tt> - enable remote statistics*<tt>--service-access-token</tt> - password for remote statistics access*<tt>--stats-report-interval</tt> - interval in seconds between internal statistics update (default is 60)*<tt>--debug DEBUGstats-report-peers</tt> - set debug levelupdate information about connected peers in the internal statistics (increases CPU load)
''additional''
*<tt>-h, --help</tt> - show commands' description
=== Syntax of acestreamengine--stream-node command===<tt>acestreamengine--stream-node</tt> command launches support node.
''required parameters''
*<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> - maximum limit number of incoming total connections (from other peers) (by default: is 1000)*<tt>--max-outgoing-connects MAX_OUTGOING_CONNECTSpeers MAX_PEERS</tt> - maximum limit number of outgoing connections (to other peers) (by 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 (bitebyte/s). By default: 0 (no restrictions).*<tt>--max-upload-speed MAX_UPLOAD_SPEED</tt> - maximum upload speed (bitebyte/s). By default: 0 (no restrictions).*<tt>--showlog-piecesdebug DEBUG</tt> -show in set the debug level (default is 0 - minimum log numbers of pieces as they are createdlevel)*<tt>--service-remote-access</tt> - enable remote statistics*<tt>--showservice-access-peerstoken</tt> - periodically show in log list of connected peers password for remote statistics access*<tt>--stats-report-interval STATS_REPORT_INTERVAL</tt> - set interval in seconds to show in log information about download/upload speep. By between internal statistics update (default: 0 (do not showis 60).*<tt>--debug DEBUGstats-report-peers</tt> - set debug levelupdate information about connected peers in the internal statistics (increases CPU load)
''additional''
*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 bitebyte/s)
It's assumed that on server 192.168.1.1 there is a web-server with a core directory <tt>/home/www</tt> and two other directories:
*<tt>/tmp/streams</tt> - for keeping cache and service files of broadcast
====Источник с встроенным трекером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.
На сервере We launch the source on server 192.168.1.1 запускаем источник: <tt>acestreamengine--stream -source \
--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>
Последняя строка используется для записи логов в файл The last line is used to write logs into file /tmp/test-source.log. By default <tt>acestreamengine--stream-source</tt> выводит всю отладочную информацию на консоль в STDERRoutputs all debug information in the STDOUT.
Опция <tt>--add-authorized-peers</tt> добавляет в option adds the list of authorized nodes to acelive-файл список авторизованных узлов file (в данном случае это источникin this case, it's the source: 192.168.1.1).
После запуска трансляции в папке After broadcast's launch a file test.acelive will be created in directory /home/www/streams будет создан файл test.acelive, в папке in directory <tt>/tmp/streams</tt> будут созданы такие файлыsuch files will be created:*<tt>test</tt> - кэш трансляцииbroadcast cache. Размер этого файла примерно равен длительность_потока_в_секундах This file's size is approximately equal to stream_duration_in_seconds (опция <tt>--duration</tt>option, по умолчанию by default: 1 часhour) * битрейт байтbitrate byte*<tt>test.restart</tt> - здесь хранится информация для корректного перезапуска трансляцииinformation for correct restart of broadcast is kept here*<tt>test.sauth</tt> - ключ для цифровой подписи трансляцииkey for a broadcast's digital signature
Для просмотра трансляции клиенты могут скачать файл трансляции по ссылке To watch broadcasts clients can download broadcast file at <tt><nowiki>http://192.168.1.1/streams/test.acelive</nowiki></tt> и запустить его в плеере and start it in ACE Stream, либо использовать другие способы player or use other ways ([[Способы просмотра трансляцииWays to watch broadcasts]]).
====Источник с внешним трекером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).
В качестве внешнего трекера мы советуем использовать We recommed to use [http://xbtt.sourceforge.net/tracker/ XBT Tracker]as external tracker.
В данном примере предполагаем, что In this example we assume that XBT Tracker установлен и запущен на сервере is installed and launched on server 192.168.1.1.Запуск трансляции теперь будет выглядеть таким образомNow broadcast's launch will look like: <tt>acestreamengine--stream -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.
Опция <tt>--skip-internal-tracker</tt> отключает встроенный трекер====Source with two support nodes====If there is not enough upstream bandwidth for normal work of broadcast on the source, опция <tt>--tracker</tt> подключает внешний трекерsupport nodes can be used. Support node is often a node that receives data from the source and gives to clients (though support node can also receive data from other support nodes and even clients, depending on its settings). It makes sense to install support node on a separate server with a good width of output channel.
====Источник с двумя узлами поддержки====To make a scheme with support nodes work with maximum efficiency, addresses of these nodes must be given to the sourceВ случае, если на источнике не хватает пропускной способности исходящего канала для нормальной работы трансляции, можно использовать узлы поддержки. Чаще всего узел поддержки представляет собой узел, который принимает данные от источника и отдает клиентам (хотя узел поддержки также может принимать данные от других узлов поддержки и даже от клиентов, в зависимости от его настроек). Узел поддержки имеет смысл ставить на отдельном сервере с хорошей шириной исходящего канала.using <tt>--support-node</tt> option:
Для максимально эффективной работы схемы с узлами поддержки источнику необходимо сообщить адреса этих узлов с помощью опции <tt>--support-node</tt>: <tt>acestreamengine--stream -source \
--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>
Запускаем узлы поддержки на серверах Launch support nodes on servers 192.168.1.2 и and 192.168.1.3 (команды для запуска одинаковыеcommands are the same): <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</tt>
Опция Option <tt>--source-node</tt> задает адрес источникаsets source address.
Опция Option <tt>--allow-source-download</tt> разрешает узлу поддержки скачивать данные с источника allows support node to download data from the source (скачивание с других узлов поддержки и клиентов в данном случае запрещеноdownloading from other support nodes and clients in this case is forbidden).
Если необходимо разрешить узлам поддержки скачивать данные с других узлов поддержкиTo allow support nodes to download data from other suppport nodes, то следует задать список других узлов опцией you should set a list of other nodes using <tt>--support-node</tt> и разрешить скачивание опцией option and allow downloading using <tt>--allow-support-download</tt>option.
На сервере On server 192.168.1.2 это будет выглядеть такit will look like: <tt>acestreamengine--stream-node \
--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>
На сервере On server 192.168.1.3: <tt>acestreamengine--stream-node \
--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
Для того, чтобы сделать источник приватнымTo make the source private, следует указать опцию option <tt>--private-source</tt>must be specified: <tt>acestreamengine--stream -source \
--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> Следует обратить внимание на то, что в данной конфигурации адрес трекера изменен на <tt>udp://192.168.1.2:2710/announce</tt>. Это сделано для поддержки старых версий клиентов, которые не обрабатывают список авторизованных пиров (подробнее здесь [[#Авторизованные узлы|Авторизованные узлы]]).
Узлы поддержки на серверах Notice that in this configuration tracker's address is changed to <tt>udp://192.168.1.2:2710/announce</tt>. It was made to support old versions of clients, which do not process a list of authorized peers (more details here [[#Authorized peers|Authorized peers]]).Launch support nodes on servers 192.168.1.2 и and 192.168.1.3 запускаем как обычноas usual: <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 \</tt> ====Recent scripts and configuration examples==== > Python-based launch scripts with configuration examples and some brief explanation available via https:/tmp/test-nodegithub.log 2>&1<com/acestream/tt>streaming-utils

Navigation menu