Changes

Jump to: navigation, search

Streaming/en

3,913 bytes added, 20:31, 9 June 2020
no edit summary
== Installation Launching broadcast==
=== Installing ACE Stream on Debian/Ubuntu from repository Main terms=== *'''Source'Step 1''- a program that accepts broadcastAdd link on appropriate repository into <tt>/etc/apt/sources.list</tt> files HTTP-stream and provides playback of broadcast using ACE Stream softwareRepository should be selected according to operating system. *'''Support node'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 - a program allowing to official sidscale broadcast using additional server equipment and Internet-repositories of Debianchannels.If you don*'''Client'''t know- ACE Stream software, which repository is used to choose, use squeezeplay broadcast.
''Ubuntu 11===Transition from versions 2.0.х to version 2.1 and higher===From September, 10:'' <tt><nowiki>deb http://repo, 2013, upgraded version of the engine (2.1.acestream6) for Ubuntu, Debian and CentOS is available.org/ubuntu/ oneiric main</nowiki></tt>
''Ubuntu 12Before using a new version for production, we recommend to test it on one or several broadcasts, if possible.04:'' <tt><nowiki>deb http://repo.acestream.org/ubuntu/ precise main</nowiki></tt>
''Ubuntu 12.10:'' <tt><nowiki>deb If you face any problems, please, write to the forum (http://repoforum.torrentstream.org) or email support@acestream.org/ubuntu/ quantal main</nowiki></tt>net.
'''Step 2'''Old versions are temporarily available in repository and by direct links:
Installing public key'''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. To do this you have to run the following command0.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:''': <tt><nowiki>wget * http://dl.acestream.org/debian/acestream-O engine_2.0.8- 1sid5_amd64.deb* http://repodl.acestream.org/keysdebian/acestream-engine_2.0.8-1sid5_i386.deb* http://dl.publicacestream.key | aptorg/debian/acestream-key add engine_2.0.8-<1squeeze5_amd64.deb* http:/nowiki></tt>dl.acestream.org/debian/acestream-engine_2.0.8-1squeeze5_i386.deb
''Ubuntu:'CentOS 6''': <tt><nowiki>sudo wget -O - * http://repodl.acestream.org/keyscentos/6/acestream-engine-2.public0.key | sudo apt8_7-key add centos6-</nowiki></tt>x86_64.tar.gz
'''Step 3'''<span style="color: #900;">ATTENTION!</span> In the nearest future support for older versions will be stopped.
Installing the right package<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). For example, for engine installation If you have attempt to install acestream-watch a new broadcast using the old engine package, an error "Cannot load transport file" will appear.
''Debian''====Changes in launch parameters==== <tt>apt-get update</tt> <tt>apt-get install acestream-engine</tt>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.
''Ubuntu''Main changes: * one executable file is used <tt>sudo aptacestreamengine</tt>; different launch modes (a source, support node) are set by options:** instead of <tt>acestreamengine-stream</tt> you should launch <tt>acestreamengine --stream-get updatesource</tt> ** instead of <tt>sudo aptacestreamengine-node</tt> you should launch <tt>acestreamengine --get install acestreamstream-enginenode</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]]
The following packages are available in the repository for Ubuntu:===acestreamengine command===*'''acestream-engine''' - engine*'''acestream-mozilla-plugin''' - plug-in Starting from version 2.1 Ace Stream Engine for browser*'''acestream-player''' - desktop player*'''acestream-player-data''' - set of common libraries for the player and plug-Linux represents a single executable file <tt>acestreamengine</tt>, which works in*'''acestream-full''' - full packagedifferent modes, including all of the abovedepending on specified parameters.
For Debian only Work mode is set by one of the following parameters:* <tt>--client-console</tt> - launch engine in a client mode from console (acestreamwithout a graphic interface)* <tt>--client-wx</tt> - launch enginein 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) is available.* <tt>--create-transport-multi</tt> - create a multi-stream transport file* <tt>--version</tt> - show engine version
=== 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 Each work mode has their own required and install it using a package manager (for examplenot required parameters, by double click on downloaded package)described in appropriate sections.
Package for 32-bit versions Also all work modes have common parameters that manage the output of Ubuntu:debug information. * <tt>http:--log-stdout</tt> - deduce information in STDOUT* <tt>--log-stderr</dl.torrentstream.orgtt> - deduce information in STDERR* <tt>--log-file PATH</products/acestreamtt> - deduce information in a specified file* <tt>--log-max-full/ubuntu/i368/latestsize SIZE</tt> Package for 64-bit versions of Ubuntu:maximum file size (bytes) * <tt>http://dl.torrentstream.org/products/acestream-full/ubuntu/amd64/latest-log-backup-count COUNT</tt> Supported versions of Ubuntu: 11.10- how many backup logs have to be stored (backup log file is created when a limit, 12.04specified by a parameter --log-max-size, 12.10is reached)* <tt>--log-file-buffer SIZE</tt> - enable buffering of output into the file (using buffer of specified size in bytes)This intallation package is an analog of * <tt>acestream-full-log-syslog HOST</tt> package from repository. It includes the engine, player and plug-deduce information in for browsers. ==Launching broadcast== ===Main terms===syslog-server at the specified address*'''Source''' <tt>--log-syslog-port PORT</tt> - a program that accepts broadcast's HTTPsyslog-stream and provides playback of broadcast using ACE Stream software.server port*'''Support node''' <tt>--log- a program allowing to scale broadcast using additional server equipment and Internetsyslog-facility FACILITY</tt> -channels.used facility*'''Client''' <tt>- ACE Stream software, which is used to play broadcast.-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====
To make the source private, option <tt>--private-source</tt> must be specified:
<tt>acestreamengine--stream -source \
--name "test" \
--title "Test broadcast" \
--support-node "192.168.1.2:8621" \
--support-node "192.168.1.3:8621" \
--private-source \ > /tmp/test-source.log 2>&1</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