Changes

Jump to: navigation, search

Streaming/en

3,055 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>--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 , 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 (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-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-peersaccess-token</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''
We launch the source on server 192.168.1.1:
<tt>acestreamengine--stream -source \
--name "test" \
--title "Test broadcast" \
--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> shows outputs all debug information in console in STDERRthe 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).
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" \
--add-authorized-peers \
--skip-internal-tracker \
--tracker "udp://192.168.1.1:2710/announce" \ > /tmp/test-source.log 2>&1</tt>
<tt>--skip-internal-tracker</tt> option disconnects embedded tracker, <tt>--tracker</tt> option connects external tracker.
using <tt>--support-node</tt> option:
<tt>acestreamengine --supportstream-node</tt>: <tt>acestreamengine-stream source \
--name "test" \
--title "Test broadcast" \
--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.
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