<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.acestream.media/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anton</id>
	<title>Ace Stream Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.acestream.media/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anton"/>
	<link rel="alternate" type="text/html" href="https://wiki.acestream.media/Special:Contributions/Anton"/>
	<updated>2026-10-06T13:12:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=747</id>
		<title>Install Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=747"/>
		<updated>2023-10-18T11:00:52Z</updated>

		<summary type="html">&lt;p&gt;Anton: Replaced content with &amp;quot;This page moved here: https://docs.acestream.net/products/&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page moved here: https://docs.acestream.net/products/&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=746</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=746"/>
		<updated>2022-09-23T10:56:42Z</updated>

		<summary type="html">&lt;p&gt;Anton: Replaced content with &amp;quot;This page moved here: https://docs.acestream.net/products/&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page moved here: https://docs.acestream.net/products/&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=745</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=745"/>
		<updated>2022-09-14T19:19:59Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: https://download.acestream.media/products/acestream-full/win/latest&lt;br /&gt;
* beta version: https://download.acestream.media/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.74_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 10&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.74_debian_10.5_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.74_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: https://forum.acestream.org/t/ace-stream-3-1-for-ubuntu-ru-en/3359&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=739</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=739"/>
		<updated>2021-10-04T06:06:37Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: https://download.acestream.media/products/acestream-full/win/latest&lt;br /&gt;
* beta version: https://download.acestream.media/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: https://forum.acestream.org/t/ace-stream-3-1-for-ubuntu-ru-en/3359&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=738</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=738"/>
		<updated>2021-07-24T06:03:19Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://download.acestream.media/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://download.acestream.media/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: https://download.acestream.media/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: https://forum.acestream.org/t/ace-stream-3-1-for-ubuntu-ru-en/3359&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=737</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=737"/>
		<updated>2021-06-11T07:53:35Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://download.acestream.media/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://download.acestream.media/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: https://forum.acestream.org/t/ace-stream-3-1-for-ubuntu-ru-en/3359&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=736</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=736"/>
		<updated>2021-04-12T09:06:00Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Android */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://download.acestream.media/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://download.acestream.media/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: https://download.acestream.media/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): https://download.acestream.media/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: https://download.acestream.media/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: https://forum.acestream.org/t/ace-stream-3-1-for-ubuntu-ru-en/3359&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=735</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=735"/>
		<updated>2021-02-28T09:41:02Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Android */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://download.acestream.media/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://download.acestream.media/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: https://forum.acestream.org/t/ace-stream-3-1-for-ubuntu-ru-en/3359&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=731</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=731"/>
		<updated>2020-07-15T15:10:33Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://download.acestream.media/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://download.acestream.media/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://download.acestream.media/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: http://download.acestream.media/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://download.acestream.media/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://download.acestream.media/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://download.acestream.media/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: https://forum.acestream.org/t/ace-stream-3-1-for-ubuntu-ru-en/3359&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=722</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=722"/>
		<updated>2020-06-13T08:21:28Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
===Ace Stream Media===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Media for Android TV===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream Engine for Android TV===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Ace Stream LiveTV===&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
===Become a beta tester===&lt;br /&gt;
If you want to become an Android beta tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=706</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=706"/>
		<updated>2019-12-11T10:47:05Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Android */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Android core versions==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Android-TV&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Ace Stream LiveTV for Android==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Android Beta Test==&lt;br /&gt;
If you want to become an Android beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=705</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=705"/>
		<updated>2019-12-11T10:46:00Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine-beta/android/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine-beta/android/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Android core versions==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Android-TV&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android-tv/acestream-core/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android-tv/acestream-core/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android-tv/acestream-core-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Ace Stream LiveTV for Android==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-livetv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-livetv/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-livetv/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-livetv/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7 (32 bit): http://dl.acestream.org/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
** ARMv8 (64 bit): http://dl.acestream.org/products/android/acestream-livetv-beta/armv8_64/latest&lt;br /&gt;
** x86_64: http://dl.acestream.org/products/android/acestream-livetv-beta/x86_64/latest&lt;br /&gt;
&lt;br /&gt;
==Android Beta Test==&lt;br /&gt;
If you want to become an Android beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=704</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=704"/>
		<updated>2019-11-20T17:14:49Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Ace Stream LiveTV for Android */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Android core versions==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Android-TV&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
==Ace Stream LiveTV for Android==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARMv7: http://dl.acestream.org/products/android/acestream-livetv-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-livetv-beta/x86/latest&lt;br /&gt;
&lt;br /&gt;
==Android Beta Test==&lt;br /&gt;
If you want to become an Android beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Search_API&amp;diff=703</id>
		<title>Search API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Search_API&amp;diff=703"/>
		<updated>2019-11-14T23:39:42Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Grouped by channel name results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
Search API allows to search content in the Ace Stream P2P Network.&lt;br /&gt;
&lt;br /&gt;
It can be accessed by two ways:&lt;br /&gt;
*using Ace Stream Engine endpoint&lt;br /&gt;
*using server-side endpoint&lt;br /&gt;
&lt;br /&gt;
There are several differences between these two methods.&lt;br /&gt;
&lt;br /&gt;
Engine search API:&lt;br /&gt;
*is free to use&lt;br /&gt;
*has a limit of total requests coming from certain engine instance per day&lt;br /&gt;
*has a limit on requests frequency&lt;br /&gt;
*is suitable for making search requests from installed applications&lt;br /&gt;
&lt;br /&gt;
Server-side search API:&lt;br /&gt;
*is paid&lt;br /&gt;
Server-side search API provides 1000 search queries for free. If you need more, you may sign up for billing in the the admin-panel. Additional requests cost $1 per 10000 queries.&lt;br /&gt;
*has no limits&lt;br /&gt;
*allows to get search database snapshot&lt;br /&gt;
*is suitable for making server-to-server API calls&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;color: #900;&amp;quot;&amp;gt;Beta testing period&amp;lt;/span&amp;gt;===&lt;br /&gt;
Server-side Search API is currently in beta testing and &amp;#039;&amp;#039;&amp;#039;is free to use&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
You can get personal API keys in the admin-panel at www.acestream.org after the end of the beta testing period of Ace Stream Search API.&lt;br /&gt;
&lt;br /&gt;
==Engine Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ace Stream Engine must be running on the localhost.&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;token&amp;#039;&amp;#039;&amp;#039; - Engine API access token (see below)&lt;br /&gt;
&lt;br /&gt;
Each request must contain Engine API access token which must be retrieved by this request:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=get_api_access_token&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Token is sent in the response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;token&amp;quot;: &amp;quot;9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method &amp;quot;get_api_access_token&amp;quot; does not allow cross-domain requests so it cannot be called from regular javascript on the web page.&lt;br /&gt;
&lt;br /&gt;
==Server-side Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&amp;#039; - API version (currently it must be set to 1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_key&amp;#039;&amp;#039;&amp;#039; - API key (your personal key)&lt;br /&gt;
&lt;br /&gt;
To obtain your personal API key you must register and request it.&lt;br /&gt;
&lt;br /&gt;
Currently, server-side API works in beta-testing mode and is available with API key &amp;quot;test_api_key&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Response format==&lt;br /&gt;
All responses are in JSON format.&lt;br /&gt;
&lt;br /&gt;
General response format is:&lt;br /&gt;
*success&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: &amp;lt;object&amp;gt;,&lt;br /&gt;
  &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*error&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: null,&lt;br /&gt;
  &amp;quot;error&amp;quot;: &amp;quot;error description&amp;quot;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==API methods==&lt;br /&gt;
===search===&lt;br /&gt;
Makes a search request&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;query&amp;#039;&amp;#039;&amp;#039; (string) - search query&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;category&amp;#039;&amp;#039;&amp;#039; (string) - filter by category (list of categories [[Channel Category|here]])&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page&amp;#039;&amp;#039;&amp;#039; (integer) - page number (starting from 0, default is 0)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page_size&amp;#039;&amp;#039;&amp;#039; (integer) - page size (default is 10, maximum value is 200)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;group_by_channels&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - group output results by channel name (see examples)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;show_epg&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - include EPG in the response (this works only when group_by_channels=1)&lt;br /&gt;
&lt;br /&gt;
Response fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;total&amp;#039;&amp;#039;&amp;#039; (integer) - total number of found items&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;results&amp;#039;&amp;#039;&amp;#039; (array of objects) - array of results (each result is an object, see below)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;time&amp;#039;&amp;#039;&amp;#039; (float) - query execution time&lt;br /&gt;
&lt;br /&gt;
Single item fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;#039; (string) - channel infohash (unique identifier); it should be used to start channel playback&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039; (string) - channel name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;bitrate&amp;#039;&amp;#039;&amp;#039; (integer) - channel estimated bitrate (bytes per second)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;categories&amp;#039;&amp;#039;&amp;#039; (array of strings) - channel categories&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability_updated_at&amp;#039;&amp;#039;&amp;#039; (integer) - unix timestamp when channel availability was last updated at&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability&amp;#039;&amp;#039;&amp;#039; (float) - channel availability (number between 0-1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;status&amp;#039;&amp;#039;&amp;#039; (integer) - channel status based on its availability; 2 means &amp;quot;green&amp;quot; status - channel is available; 1 means &amp;quot;yellow&amp;quot; status - there is no guaranty that channel is working. Can be used in query as additional filter.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;in_playlist&amp;#039;&amp;#039;&amp;#039; (boolean) - true if the channel is included in user&amp;#039;s playlist (available only on engine endpoint)&lt;br /&gt;
&lt;br /&gt;
===all===&lt;br /&gt;
This method retrieves search database snapshot.&lt;br /&gt;
&lt;br /&gt;
Data is returned &amp;quot;as-is&amp;quot;: there is no filtering, sorting or pagination.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: this method is available on server-side endpoint only.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/all?api_version=1&amp;amp;api_key=test_api_key&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Simple output===&lt;br /&gt;
*engine endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 28,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD Showcase&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 504510,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;948e1b51363cc07ec4ac20ef10dc099f8c7e20b8&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
	    ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0237&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Grouped by channel name results===&lt;br /&gt;
*engine endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 11,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;6651feec9de120abf362c380841150cdc2742df2&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.99282296650718,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;e97bbddc4febc01f649c30013fd221e9adf43622&amp;quot;,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494964321,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;tv&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;in_playlist&amp;quot;: false,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 350000,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;dacdcf48e9238d23d7bd687c8e00cac0d16dc177&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;c2c2c2bfda8440ae0781df0e06ccf13dda529737&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.98648648648649,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;icon&amp;quot;: &amp;quot;http://c1.torrentstream.info/epg/icons/3349.png&amp;quot;,&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                &amp;quot;epg&amp;quot;: {&lt;br /&gt;
                    &amp;quot;start&amp;quot;: &amp;quot;1494970200&amp;quot;,&lt;br /&gt;
                    &amp;quot;stop&amp;quot;: &amp;quot;1494971700&amp;quot;,&lt;br /&gt;
                    &amp;quot;name&amp;quot;: &amp;quot;Как это сделано? (20-я серия) (12+)&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0421&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Search_API&amp;diff=702</id>
		<title>Search API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Search_API&amp;diff=702"/>
		<updated>2019-11-14T23:39:30Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Simple output */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
Search API allows to search content in the Ace Stream P2P Network.&lt;br /&gt;
&lt;br /&gt;
It can be accessed by two ways:&lt;br /&gt;
*using Ace Stream Engine endpoint&lt;br /&gt;
*using server-side endpoint&lt;br /&gt;
&lt;br /&gt;
There are several differences between these two methods.&lt;br /&gt;
&lt;br /&gt;
Engine search API:&lt;br /&gt;
*is free to use&lt;br /&gt;
*has a limit of total requests coming from certain engine instance per day&lt;br /&gt;
*has a limit on requests frequency&lt;br /&gt;
*is suitable for making search requests from installed applications&lt;br /&gt;
&lt;br /&gt;
Server-side search API:&lt;br /&gt;
*is paid&lt;br /&gt;
Server-side search API provides 1000 search queries for free. If you need more, you may sign up for billing in the the admin-panel. Additional requests cost $1 per 10000 queries.&lt;br /&gt;
*has no limits&lt;br /&gt;
*allows to get search database snapshot&lt;br /&gt;
*is suitable for making server-to-server API calls&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;color: #900;&amp;quot;&amp;gt;Beta testing period&amp;lt;/span&amp;gt;===&lt;br /&gt;
Server-side Search API is currently in beta testing and &amp;#039;&amp;#039;&amp;#039;is free to use&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
You can get personal API keys in the admin-panel at www.acestream.org after the end of the beta testing period of Ace Stream Search API.&lt;br /&gt;
&lt;br /&gt;
==Engine Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ace Stream Engine must be running on the localhost.&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;token&amp;#039;&amp;#039;&amp;#039; - Engine API access token (see below)&lt;br /&gt;
&lt;br /&gt;
Each request must contain Engine API access token which must be retrieved by this request:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=get_api_access_token&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Token is sent in the response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;token&amp;quot;: &amp;quot;9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method &amp;quot;get_api_access_token&amp;quot; does not allow cross-domain requests so it cannot be called from regular javascript on the web page.&lt;br /&gt;
&lt;br /&gt;
==Server-side Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&amp;#039; - API version (currently it must be set to 1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_key&amp;#039;&amp;#039;&amp;#039; - API key (your personal key)&lt;br /&gt;
&lt;br /&gt;
To obtain your personal API key you must register and request it.&lt;br /&gt;
&lt;br /&gt;
Currently, server-side API works in beta-testing mode and is available with API key &amp;quot;test_api_key&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Response format==&lt;br /&gt;
All responses are in JSON format.&lt;br /&gt;
&lt;br /&gt;
General response format is:&lt;br /&gt;
*success&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: &amp;lt;object&amp;gt;,&lt;br /&gt;
  &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*error&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: null,&lt;br /&gt;
  &amp;quot;error&amp;quot;: &amp;quot;error description&amp;quot;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==API methods==&lt;br /&gt;
===search===&lt;br /&gt;
Makes a search request&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;query&amp;#039;&amp;#039;&amp;#039; (string) - search query&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;category&amp;#039;&amp;#039;&amp;#039; (string) - filter by category (list of categories [[Channel Category|here]])&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page&amp;#039;&amp;#039;&amp;#039; (integer) - page number (starting from 0, default is 0)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page_size&amp;#039;&amp;#039;&amp;#039; (integer) - page size (default is 10, maximum value is 200)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;group_by_channels&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - group output results by channel name (see examples)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;show_epg&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - include EPG in the response (this works only when group_by_channels=1)&lt;br /&gt;
&lt;br /&gt;
Response fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;total&amp;#039;&amp;#039;&amp;#039; (integer) - total number of found items&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;results&amp;#039;&amp;#039;&amp;#039; (array of objects) - array of results (each result is an object, see below)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;time&amp;#039;&amp;#039;&amp;#039; (float) - query execution time&lt;br /&gt;
&lt;br /&gt;
Single item fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;#039; (string) - channel infohash (unique identifier); it should be used to start channel playback&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039; (string) - channel name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;bitrate&amp;#039;&amp;#039;&amp;#039; (integer) - channel estimated bitrate (bytes per second)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;categories&amp;#039;&amp;#039;&amp;#039; (array of strings) - channel categories&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability_updated_at&amp;#039;&amp;#039;&amp;#039; (integer) - unix timestamp when channel availability was last updated at&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability&amp;#039;&amp;#039;&amp;#039; (float) - channel availability (number between 0-1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;status&amp;#039;&amp;#039;&amp;#039; (integer) - channel status based on its availability; 2 means &amp;quot;green&amp;quot; status - channel is available; 1 means &amp;quot;yellow&amp;quot; status - there is no guaranty that channel is working. Can be used in query as additional filter.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;in_playlist&amp;#039;&amp;#039;&amp;#039; (boolean) - true if the channel is included in user&amp;#039;s playlist (available only on engine endpoint)&lt;br /&gt;
&lt;br /&gt;
===all===&lt;br /&gt;
This method retrieves search database snapshot.&lt;br /&gt;
&lt;br /&gt;
Data is returned &amp;quot;as-is&amp;quot;: there is no filtering, sorting or pagination.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: this method is available on server-side endpoint only.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/all?api_version=1&amp;amp;api_key=test_api_key&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Simple output===&lt;br /&gt;
*engine endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 28,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD Showcase&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 504510,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;948e1b51363cc07ec4ac20ef10dc099f8c7e20b8&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
	    ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0237&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Grouped by channel name results===&lt;br /&gt;
*engine endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1.0 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 11,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;6651feec9de120abf362c380841150cdc2742df2&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.99282296650718,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;e97bbddc4febc01f649c30013fd221e9adf43622&amp;quot;,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494964321,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;tv&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;in_playlist&amp;quot;: false,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 350000,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;dacdcf48e9238d23d7bd687c8e00cac0d16dc177&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;c2c2c2bfda8440ae0781df0e06ccf13dda529737&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.98648648648649,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;icon&amp;quot;: &amp;quot;http://c1.torrentstream.info/epg/icons/3349.png&amp;quot;,&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                &amp;quot;epg&amp;quot;: {&lt;br /&gt;
                    &amp;quot;start&amp;quot;: &amp;quot;1494970200&amp;quot;,&lt;br /&gt;
                    &amp;quot;stop&amp;quot;: &amp;quot;1494971700&amp;quot;,&lt;br /&gt;
                    &amp;quot;name&amp;quot;: &amp;quot;Как это сделано? (20-я серия) (12+)&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0421&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Search_API&amp;diff=701</id>
		<title>Search API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Search_API&amp;diff=701"/>
		<updated>2019-11-14T23:39:09Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* all */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
Search API allows to search content in the Ace Stream P2P Network.&lt;br /&gt;
&lt;br /&gt;
It can be accessed by two ways:&lt;br /&gt;
*using Ace Stream Engine endpoint&lt;br /&gt;
*using server-side endpoint&lt;br /&gt;
&lt;br /&gt;
There are several differences between these two methods.&lt;br /&gt;
&lt;br /&gt;
Engine search API:&lt;br /&gt;
*is free to use&lt;br /&gt;
*has a limit of total requests coming from certain engine instance per day&lt;br /&gt;
*has a limit on requests frequency&lt;br /&gt;
*is suitable for making search requests from installed applications&lt;br /&gt;
&lt;br /&gt;
Server-side search API:&lt;br /&gt;
*is paid&lt;br /&gt;
Server-side search API provides 1000 search queries for free. If you need more, you may sign up for billing in the the admin-panel. Additional requests cost $1 per 10000 queries.&lt;br /&gt;
*has no limits&lt;br /&gt;
*allows to get search database snapshot&lt;br /&gt;
*is suitable for making server-to-server API calls&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;color: #900;&amp;quot;&amp;gt;Beta testing period&amp;lt;/span&amp;gt;===&lt;br /&gt;
Server-side Search API is currently in beta testing and &amp;#039;&amp;#039;&amp;#039;is free to use&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
You can get personal API keys in the admin-panel at www.acestream.org after the end of the beta testing period of Ace Stream Search API.&lt;br /&gt;
&lt;br /&gt;
==Engine Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ace Stream Engine must be running on the localhost.&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;token&amp;#039;&amp;#039;&amp;#039; - Engine API access token (see below)&lt;br /&gt;
&lt;br /&gt;
Each request must contain Engine API access token which must be retrieved by this request:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=get_api_access_token&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Token is sent in the response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;token&amp;quot;: &amp;quot;9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method &amp;quot;get_api_access_token&amp;quot; does not allow cross-domain requests so it cannot be called from regular javascript on the web page.&lt;br /&gt;
&lt;br /&gt;
==Server-side Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&amp;#039; - API version (currently it must be set to 1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_key&amp;#039;&amp;#039;&amp;#039; - API key (your personal key)&lt;br /&gt;
&lt;br /&gt;
To obtain your personal API key you must register and request it.&lt;br /&gt;
&lt;br /&gt;
Currently, server-side API works in beta-testing mode and is available with API key &amp;quot;test_api_key&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Response format==&lt;br /&gt;
All responses are in JSON format.&lt;br /&gt;
&lt;br /&gt;
General response format is:&lt;br /&gt;
*success&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: &amp;lt;object&amp;gt;,&lt;br /&gt;
  &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*error&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: null,&lt;br /&gt;
  &amp;quot;error&amp;quot;: &amp;quot;error description&amp;quot;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==API methods==&lt;br /&gt;
===search===&lt;br /&gt;
Makes a search request&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;query&amp;#039;&amp;#039;&amp;#039; (string) - search query&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;category&amp;#039;&amp;#039;&amp;#039; (string) - filter by category (list of categories [[Channel Category|here]])&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page&amp;#039;&amp;#039;&amp;#039; (integer) - page number (starting from 0, default is 0)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page_size&amp;#039;&amp;#039;&amp;#039; (integer) - page size (default is 10, maximum value is 200)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;group_by_channels&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - group output results by channel name (see examples)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;show_epg&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - include EPG in the response (this works only when group_by_channels=1)&lt;br /&gt;
&lt;br /&gt;
Response fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;total&amp;#039;&amp;#039;&amp;#039; (integer) - total number of found items&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;results&amp;#039;&amp;#039;&amp;#039; (array of objects) - array of results (each result is an object, see below)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;time&amp;#039;&amp;#039;&amp;#039; (float) - query execution time&lt;br /&gt;
&lt;br /&gt;
Single item fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;#039; (string) - channel infohash (unique identifier); it should be used to start channel playback&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039; (string) - channel name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;bitrate&amp;#039;&amp;#039;&amp;#039; (integer) - channel estimated bitrate (bytes per second)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;categories&amp;#039;&amp;#039;&amp;#039; (array of strings) - channel categories&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability_updated_at&amp;#039;&amp;#039;&amp;#039; (integer) - unix timestamp when channel availability was last updated at&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability&amp;#039;&amp;#039;&amp;#039; (float) - channel availability (number between 0-1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;status&amp;#039;&amp;#039;&amp;#039; (integer) - channel status based on its availability; 2 means &amp;quot;green&amp;quot; status - channel is available; 1 means &amp;quot;yellow&amp;quot; status - there is no guaranty that channel is working. Can be used in query as additional filter.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;in_playlist&amp;#039;&amp;#039;&amp;#039; (boolean) - true if the channel is included in user&amp;#039;s playlist (available only on engine endpoint)&lt;br /&gt;
&lt;br /&gt;
===all===&lt;br /&gt;
This method retrieves search database snapshot.&lt;br /&gt;
&lt;br /&gt;
Data is returned &amp;quot;as-is&amp;quot;: there is no filtering, sorting or pagination.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: this method is available on server-side endpoint only.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/all?api_version=1&amp;amp;api_key=test_api_key&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Simple output===&lt;br /&gt;
*engine endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1.0 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 28,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD Showcase&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 504510,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;948e1b51363cc07ec4ac20ef10dc099f8c7e20b8&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
	    ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0237&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Grouped by channel name results===&lt;br /&gt;
*engine endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1.0 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 11,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;6651feec9de120abf362c380841150cdc2742df2&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.99282296650718,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;e97bbddc4febc01f649c30013fd221e9adf43622&amp;quot;,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494964321,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;tv&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;in_playlist&amp;quot;: false,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 350000,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;dacdcf48e9238d23d7bd687c8e00cac0d16dc177&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;c2c2c2bfda8440ae0781df0e06ccf13dda529737&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.98648648648649,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;icon&amp;quot;: &amp;quot;http://c1.torrentstream.info/epg/icons/3349.png&amp;quot;,&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                &amp;quot;epg&amp;quot;: {&lt;br /&gt;
                    &amp;quot;start&amp;quot;: &amp;quot;1494970200&amp;quot;,&lt;br /&gt;
                    &amp;quot;stop&amp;quot;: &amp;quot;1494971700&amp;quot;,&lt;br /&gt;
                    &amp;quot;name&amp;quot;: &amp;quot;Как это сделано? (20-я серия) (12+)&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0421&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Search_API&amp;diff=700</id>
		<title>Search API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Search_API&amp;diff=700"/>
		<updated>2019-11-14T23:38:42Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Server-side Search API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
Search API allows to search content in the Ace Stream P2P Network.&lt;br /&gt;
&lt;br /&gt;
It can be accessed by two ways:&lt;br /&gt;
*using Ace Stream Engine endpoint&lt;br /&gt;
*using server-side endpoint&lt;br /&gt;
&lt;br /&gt;
There are several differences between these two methods.&lt;br /&gt;
&lt;br /&gt;
Engine search API:&lt;br /&gt;
*is free to use&lt;br /&gt;
*has a limit of total requests coming from certain engine instance per day&lt;br /&gt;
*has a limit on requests frequency&lt;br /&gt;
*is suitable for making search requests from installed applications&lt;br /&gt;
&lt;br /&gt;
Server-side search API:&lt;br /&gt;
*is paid&lt;br /&gt;
Server-side search API provides 1000 search queries for free. If you need more, you may sign up for billing in the the admin-panel. Additional requests cost $1 per 10000 queries.&lt;br /&gt;
*has no limits&lt;br /&gt;
*allows to get search database snapshot&lt;br /&gt;
*is suitable for making server-to-server API calls&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;color: #900;&amp;quot;&amp;gt;Beta testing period&amp;lt;/span&amp;gt;===&lt;br /&gt;
Server-side Search API is currently in beta testing and &amp;#039;&amp;#039;&amp;#039;is free to use&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
You can get personal API keys in the admin-panel at www.acestream.org after the end of the beta testing period of Ace Stream Search API.&lt;br /&gt;
&lt;br /&gt;
==Engine Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ace Stream Engine must be running on the localhost.&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;token&amp;#039;&amp;#039;&amp;#039; - Engine API access token (see below)&lt;br /&gt;
&lt;br /&gt;
Each request must contain Engine API access token which must be retrieved by this request:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=get_api_access_token&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Token is sent in the response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;token&amp;quot;: &amp;quot;9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method &amp;quot;get_api_access_token&amp;quot; does not allow cross-domain requests so it cannot be called from regular javascript on the web page.&lt;br /&gt;
&lt;br /&gt;
==Server-side Search API==&lt;br /&gt;
Endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mandatory parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; - API method name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&amp;#039; - API version (currently it must be set to 1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;api_key&amp;#039;&amp;#039;&amp;#039; - API key (your personal key)&lt;br /&gt;
&lt;br /&gt;
To obtain your personal API key you must register and request it.&lt;br /&gt;
&lt;br /&gt;
Currently, server-side API works in beta-testing mode and is available with API key &amp;quot;test_api_key&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Response format==&lt;br /&gt;
All responses are in JSON format.&lt;br /&gt;
&lt;br /&gt;
General response format is:&lt;br /&gt;
*success&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: &amp;lt;object&amp;gt;,&lt;br /&gt;
  &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*error&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
  &amp;quot;result&amp;quot;: null,&lt;br /&gt;
  &amp;quot;error&amp;quot;: &amp;quot;error description&amp;quot;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==API methods==&lt;br /&gt;
===search===&lt;br /&gt;
Makes a search request&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;query&amp;#039;&amp;#039;&amp;#039; (string) - search query&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;category&amp;#039;&amp;#039;&amp;#039; (string) - filter by category (list of categories [[Channel Category|here]])&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page&amp;#039;&amp;#039;&amp;#039; (integer) - page number (starting from 0, default is 0)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;page_size&amp;#039;&amp;#039;&amp;#039; (integer) - page size (default is 10, maximum value is 200)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;group_by_channels&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - group output results by channel name (see examples)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;show_epg&amp;#039;&amp;#039;&amp;#039; (boolean, 0 or 1) - include EPG in the response (this works only when group_by_channels=1)&lt;br /&gt;
&lt;br /&gt;
Response fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;total&amp;#039;&amp;#039;&amp;#039; (integer) - total number of found items&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;results&amp;#039;&amp;#039;&amp;#039; (array of objects) - array of results (each result is an object, see below)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;time&amp;#039;&amp;#039;&amp;#039; (float) - query execution time&lt;br /&gt;
&lt;br /&gt;
Single item fields:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;#039; (string) - channel infohash (unique identifier); it should be used to start channel playback&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039; (string) - channel name&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;bitrate&amp;#039;&amp;#039;&amp;#039; (integer) - channel estimated bitrate (bytes per second)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;categories&amp;#039;&amp;#039;&amp;#039; (array of strings) - channel categories&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability_updated_at&amp;#039;&amp;#039;&amp;#039; (integer) - unix timestamp when channel availability was last updated at&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;availability&amp;#039;&amp;#039;&amp;#039; (float) - channel availability (number between 0-1)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;status&amp;#039;&amp;#039;&amp;#039; (integer) - channel status based on its availability; 2 means &amp;quot;green&amp;quot; status - channel is available; 1 means &amp;quot;yellow&amp;quot; status - there is no guaranty that channel is working. Can be used in query as additional filter.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;in_playlist&amp;#039;&amp;#039;&amp;#039; (boolean) - true if the channel is included in user&amp;#039;s playlist (available only on engine endpoint)&lt;br /&gt;
&lt;br /&gt;
===all===&lt;br /&gt;
This method retrieves search database snapshot.&lt;br /&gt;
&lt;br /&gt;
Data is returned &amp;quot;as-is&amp;quot;: there is no filtering, sorting or pagination.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;: this method is available on server-side endpoint only.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/all?api_version=1.0&amp;amp;api_key=test_api_key&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Simple output===&lt;br /&gt;
*engine endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1.0 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 28,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD Showcase&amp;quot;,&lt;br /&gt;
                &amp;quot;bitrate&amp;quot;: 504510,&lt;br /&gt;
                &amp;quot;availability_updated_at&amp;quot;: 1494970802,&lt;br /&gt;
                &amp;quot;infohash&amp;quot;: &amp;quot;948e1b51363cc07ec4ac20ef10dc099f8c7e20b8&amp;quot;,&lt;br /&gt;
                &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                    &amp;quot;educational&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            },&lt;br /&gt;
	    ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0237&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Grouped by channel name results===&lt;br /&gt;
*engine endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:6878/server/api?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;token=9d324ef909c50629ca3d23faddaa7358236b0bbe62dfd049416dc4d570b60b57 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
*server-side endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://search.acestream.net/?method=search &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_version=1.0 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;api_key=test_api_key &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;query=discovery &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;group_by_channels=1 &amp;amp;crarr;&lt;br /&gt;
    &amp;amp;show_epg=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;total&amp;quot;: 11,&lt;br /&gt;
        &amp;quot;results&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 506347,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;09f1511aa2a596162bfb4f4d1146c2be545733f4&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery HD&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;6651feec9de120abf362c380841150cdc2742df2&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.99282296650718,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;e97bbddc4febc01f649c30013fd221e9adf43622&amp;quot;,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 845,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494964321,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;tv&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Channel&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;items&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;in_playlist&amp;quot;: false,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 350000,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;dacdcf48e9238d23d7bd687c8e00cac0d16dc177&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 1,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    },&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;status&amp;quot;: 2,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                        &amp;quot;bitrate&amp;quot;: 215035,&lt;br /&gt;
                        &amp;quot;channel_id&amp;quot;: 851,&lt;br /&gt;
                        &amp;quot;availability_updated_at&amp;quot;: 1494971282,&lt;br /&gt;
                        &amp;quot;infohash&amp;quot;: &amp;quot;c2c2c2bfda8440ae0781df0e06ccf13dda529737&amp;quot;,&lt;br /&gt;
                        &amp;quot;availability&amp;quot;: 0.98648648648649,&lt;br /&gt;
                        &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                            &amp;quot;educational&amp;quot;&lt;br /&gt;
                        ]&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;icon&amp;quot;: &amp;quot;http://c1.torrentstream.info/epg/icons/3349.png&amp;quot;,&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Discovery Science&amp;quot;,&lt;br /&gt;
                &amp;quot;epg&amp;quot;: {&lt;br /&gt;
                    &amp;quot;start&amp;quot;: &amp;quot;1494970200&amp;quot;,&lt;br /&gt;
                    &amp;quot;stop&amp;quot;: &amp;quot;1494971700&amp;quot;,&lt;br /&gt;
                    &amp;quot;name&amp;quot;: &amp;quot;Как это сделано? (20-я серия) (12+)&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            ... # some results are omitted&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;time&amp;quot;: &amp;quot;0.0421&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;error&amp;quot;: null&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=699</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=699"/>
		<updated>2019-11-13T21:17:40Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Android core versions==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Android-TV&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
==Ace Stream LiveTV for Android==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Android Beta Test==&lt;br /&gt;
If you want to become an Android beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=698</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=698"/>
		<updated>2019-11-13T21:16:36Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Android Beta Test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Android core versions==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Android-TV&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
==Android Beta Test==&lt;br /&gt;
If you want to become an Android beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
* Ace Stream LiveTV: https://play.google.com/apps/testing/org.acestream.live&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=692</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=692"/>
		<updated>2019-07-12T07:56:10Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Android core versions==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AOSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Android-TV&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/android-tv/acestream-core-beta/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/android-tv/acestream-core-beta/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/android-tv/acestream-core-beta/latest&lt;br /&gt;
&lt;br /&gt;
==Android Beta Test==&lt;br /&gt;
If you want to became an Android beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 18&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 9&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_9.9_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://acestream.org/downloads/linux/acestream_3.1.49_debian_8.11_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Launch_Ace_Stream_on_Android&amp;diff=689</id>
		<title>Launch Ace Stream on Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Launch_Ace_Stream_on_Android&amp;diff=689"/>
		<updated>2019-06-05T07:09:21Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please find details in README here:&lt;br /&gt;
https://github.com/acestream/android-service-client-example&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=AceCast&amp;diff=688</id>
		<title>AceCast</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=AceCast&amp;diff=688"/>
		<updated>2019-04-19T06:39:09Z</updated>

		<summary type="html">&lt;p&gt;Anton: Новая страница: «AceCast is a protocol that allows to connect two Ace Stream applications over the network and use one of them as remote control and another one as video player. T…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AceCast is a protocol that allows to connect two Ace Stream applications over the network and use one of them as remote control and another one as video player. The first one is called &amp;quot;client&amp;quot;, the second - &amp;quot;server&amp;quot;. AceCast server is currently implemented in Ace Stream for Android.&lt;br /&gt;
&lt;br /&gt;
The main purpose of AceCast is to allow users to start playback on TV from their mobile device.&lt;br /&gt;
&lt;br /&gt;
AceCast uses [https://en.wikipedia.org/wiki/Multicast_DNS mDNS] protocol for device discovery.&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=684</id>
		<title>JavaScript Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=684"/>
		<updated>2018-11-21T08:30:00Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ace Stream JavaScript Library provides tools to embed video player on web-pages with minimum effort.&lt;br /&gt;
&lt;br /&gt;
== Guide ==&lt;br /&gt;
First, add javascript library on the page (inside the &amp;lt;head&amp;gt; tag):&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;script src=&amp;quot;//static.acestream.net/jsapi/acestream.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/tt&amp;gt;              &lt;br /&gt;
&lt;br /&gt;
Then you can create the player with this code:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;    &lt;br /&gt;
 var player = null;&lt;br /&gt;
 AceStream.createPlayer(&amp;quot;#player&amp;quot;, {&lt;br /&gt;
     onLoad: function (playerObj) {&lt;br /&gt;
         player = playerObj;&lt;br /&gt;
         player.loadContentId(&amp;quot;94c2fd8fb9bc8f2fc71a2cbe9d4b866f227a0209&amp;quot;);&lt;br /&gt;
     },&lt;br /&gt;
     onError: function(err) {&lt;br /&gt;
         console.log(&amp;quot;init: error: &amp;quot; + err);&lt;br /&gt;
     }&lt;br /&gt;
 });&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Player is created in the HTML-container with id &amp;quot;player&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Upon successful player creation &amp;#039;&amp;#039;&amp;#039;onLoad&amp;#039;&amp;#039;&amp;#039; callback is called and player object is passed as parameter.&lt;br /&gt;
You should save player object to some variable to be able to call player methods later, for example, to switch to another content.&lt;br /&gt;
Currently such method are available:&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadContentId(contentId)&amp;lt;/tt&amp;gt; - load by Content ID (unique identified in Ace Stream system);&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadTransportFileUrl(url)&amp;lt;/tt&amp;gt; - load by transport file URL;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadInfohash(infohash)&amp;lt;/tt&amp;gt; - load by infohash;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadMagnet(magnetUri)&amp;lt;/tt&amp;gt; - load by magnet link;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadDirectUrl(url)&amp;lt;/tt&amp;gt; - load by direct content URL (this can be direct link to some video file, HLS stream or link supported by Ace Stream plugins: youtube, twitch etc).&lt;br /&gt;
&lt;br /&gt;
You can create more than one player on the same web page. To do this you need to provide a separate HTML container for each player and call  AceStream.createPlayer() method on each container. You can find example on the demo page.&lt;br /&gt;
&lt;br /&gt;
== Demo ==&lt;br /&gt;
Working demo is available [http://acestream.net/demos/embedding/index.html here]&lt;br /&gt;
&lt;br /&gt;
==Additional features==&lt;br /&gt;
If the user has a browser extension Ace Script with the activated userscript Ace Cast, the following additional features will be available:&lt;br /&gt;
* Automatically start Ace Stream application for content playback (there is no need to manually start the application if it isn&amp;#039;t running)&lt;br /&gt;
* Select any installed desktop player for playback&lt;br /&gt;
* Playback content on remote devices over protocols Ace Cast, Google Cast, AirPlay and others&lt;br /&gt;
* Add content to user&amp;#039;s playlist, in his Ace Stream personal media server&lt;br /&gt;
* Convenient ways to share content&lt;br /&gt;
In order to inform the user about these features, the corresponding information block is shown after clicking on &amp;quot;menu&amp;quot; or &amp;quot;play&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
Attention! The need to use a browser extension and a userscript to make additional features available is temporary, until we implement a solution that allows direct and secure communication between javascript code and the Ace Stream application.&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
New JS library consists of reusable javascript modules which are bundled with browserify. Currently only the bundled version is distributed, but we plan to prepare documentation for these modules and publish it along with the source code on github.&lt;br /&gt;
&lt;br /&gt;
Modules will implement such functionality like:&lt;br /&gt;
* checking engine status and version and running it if necessary&lt;br /&gt;
* encapsulate all avaialble Ace Stream HTTP API methods&lt;br /&gt;
* provide reusable markup&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
== Legacy JS Library ==&lt;br /&gt;
The old version of JS Library is still available. You can find test page and links [http://acestream.net/demos/embedding/index-legacy.html here.]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=683</id>
		<title>JavaScript Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=683"/>
		<updated>2018-09-25T10:49:49Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ace Stream JavaScript Library provides tools to embed video player on web-pages with minimum effort.&lt;br /&gt;
&lt;br /&gt;
== Guide ==&lt;br /&gt;
First, add javascript library on the page (inside the &amp;lt;head&amp;gt; tag):&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;script src=&amp;quot;//static.acestream.net/jsapi/acestream.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/tt&amp;gt;              &lt;br /&gt;
&lt;br /&gt;
Then you can create the player with this code:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;    &lt;br /&gt;
 var playerContext = null;&lt;br /&gt;
 AceStream.createPlayer(&amp;quot;#player&amp;quot;, {&lt;br /&gt;
     onLoad: function (player) {&lt;br /&gt;
         playerContext = player;&lt;br /&gt;
         playerContext.loadContentId(&amp;quot;94c2fd8fb9bc8f2fc71a2cbe9d4b866f227a0209&amp;quot;);&lt;br /&gt;
     },&lt;br /&gt;
     onError: function(err) {&lt;br /&gt;
         console.log(&amp;quot;init: error: &amp;quot; + err);&lt;br /&gt;
     }&lt;br /&gt;
 });&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Player is created in the HTML-container with id &amp;quot;player&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Upon successful player creation &amp;#039;&amp;#039;&amp;#039;onLoad&amp;#039;&amp;#039;&amp;#039; callback is called and player object is passed as parameter.&lt;br /&gt;
You should save player object to some variable to be able to call player methods later, for example, to switch to another content.&lt;br /&gt;
Currently such method are available:&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadContentId(contentId)&amp;lt;/tt&amp;gt; - load by Content ID (unique identified in Ace Stream system);&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadTransportFileUrl(url)&amp;lt;/tt&amp;gt; - load by transport file URL;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadInfohash(infohash)&amp;lt;/tt&amp;gt; - load by infohash;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadMagnet(magnetUri)&amp;lt;/tt&amp;gt; - load by magnet link;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadDirectUrl(url)&amp;lt;/tt&amp;gt; - load by direct content URL (this can be direct link to some video file, HLS stream or link supported by Ace Stream plugins: youtube, twitch etc).&lt;br /&gt;
&lt;br /&gt;
== Demo ==&lt;br /&gt;
Working demo is available [http://acestream.net/demos/embedding/index.html here]&lt;br /&gt;
&lt;br /&gt;
==Additional features==&lt;br /&gt;
If the user has a browser extension Ace Script with the activated userscript Ace Cast, the following additional features will be available:&lt;br /&gt;
* Automatically start Ace Stream application for content playback (there is no need to manually start the application if it isn&amp;#039;t running)&lt;br /&gt;
* Select any installed desktop player for playback&lt;br /&gt;
* Playback content on remote devices over protocols Ace Cast, Google Cast, AirPlay and others&lt;br /&gt;
* Add content to user&amp;#039;s playlist, in his Ace Stream personal media server&lt;br /&gt;
* Convenient ways to share content&lt;br /&gt;
In order to inform the user about these features, the corresponding information block is shown after clicking on &amp;quot;menu&amp;quot; or &amp;quot;play&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
Attention! The need to use a browser extension and a userscript to make additional features available is temporary, until we implement a solution that allows direct and secure communication between javascript code and the Ace Stream application.&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
New JS library consists of reusable javascript modules which are bundled with browserify. Currently only the bundled version is distributed, but we plan to prepare documentation for these modules and publish it along with the source code on github.&lt;br /&gt;
&lt;br /&gt;
Modules will implement such functionality like:&lt;br /&gt;
* checking engine status and version and running it if necessary&lt;br /&gt;
* encapsulate all avaialble Ace Stream HTTP API methods&lt;br /&gt;
* provide reusable markup&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
== Legacy JS Library ==&lt;br /&gt;
The old version of JS Library is still available. You can find test page and links [http://acestream.net/demos/embedding/index-legacy.html here.]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Engine_API&amp;diff=682</id>
		<title>Engine API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Engine_API&amp;diff=682"/>
		<updated>2018-09-03T09:18:40Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* EVENT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Общие понятия==&lt;br /&gt;
ACE Stream Engine (далее - &amp;quot;движок&amp;quot;) - приложение, которое обеспечивает весь функционал системы ACE Stream. Данное приложение работает в фоновом режиме и имеет минимальный графический интерфейс для изменения различных настроек.&lt;br /&gt;
&lt;br /&gt;
ACE Stream Engine API (далее - API) - программный интерфейс, позволяющий сторонним приложениям работать с движком. Под сторонними приложениями, как правило, подразумеваются медиа плееры, работающие с системой ACE Stream.&lt;br /&gt;
&lt;br /&gt;
Клиент - стороннее приложение, которое работает с движком посредством API.&lt;br /&gt;
&lt;br /&gt;
==Схема работы API==&lt;br /&gt;
Обмен данными с движком происходит по протоколу TCP. Общая схема работы выглядит так:&lt;br /&gt;
* клиент устанавливает TCP-соединение с движком&lt;br /&gt;
* клиент и движок обмениваются рукопожатиями&lt;br /&gt;
* клиент и движок обмениваются сообщениями&lt;br /&gt;
* одна из сторон завершает соединение&lt;br /&gt;
&lt;br /&gt;
===Установление соединения===&lt;br /&gt;
Для установления соединения клиент должен знать порт, на котором работает API движка. Методы определения порта зависят от операционной системы, на которой запущен движок.&lt;br /&gt;
&lt;br /&gt;
На Linux используется фиксированный порт: 62062&lt;br /&gt;
&lt;br /&gt;
На Windows используется динамический порт. Движок после запуска создает файл acestream.port в директории, в которой находится сам движок (файл tsengine.exe), и записывает в данный файл порт, на котором работает API. Для того, чтобы узнать порт, клиент должен прочитать указанный файл. Отсутствие данного файла указывает на то, что движок в не запущен. Путь к папке, в которую устанавливается движок, можно считать из реестра:&lt;br /&gt;
 &amp;lt;tt&amp;gt;HKEY_CURRENT_USER\Software\TorrentStream\EnginePath&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ключ &amp;lt;tt&amp;gt;EnginePath&amp;lt;/tt&amp;gt; содержит абсолютный путь к исполняемому файлу движка (tsengine.exe). По умолчанию это &amp;lt;tt&amp;gt;%APPDATA%\TorrentStream\engine\tsengine.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм установления соединения (Windows):&lt;br /&gt;
# считать из реестра ключ &amp;lt;tt&amp;gt;HKEY_CURRENT_USER\Software\TorrentStream\EnginePath&amp;lt;/tt&amp;gt;&lt;br /&gt;
## если ключ отсутствует - движок не установлен&lt;br /&gt;
## запомнить путь к исполняемому файлу движка (engine_path) и директории движка (engine_dir)&lt;br /&gt;
# считать содержимое файла engine_dir/acestream.port и запомнить порт&lt;br /&gt;
# если данный файл отсутствует - запустить движок, дождаться создания файла acestream.port и считать его содержимое&lt;br /&gt;
# установить TCP-соединение на localhost на указанный порт&lt;br /&gt;
# если не получилось установить соединение - движок не запущен и его нужно запустить&lt;br /&gt;
# обменяться рукопожатием и начать обмен сообщениями&lt;br /&gt;
&lt;br /&gt;
Алгоритм установления соединения (Linux):&lt;br /&gt;
# установить TCP-соединение на localhost на порт 62062&lt;br /&gt;
# если не получилось установить соединение - движок не запущен и его нужно запустить (&amp;lt;tt&amp;gt;/usr/bin/acestreamengine-client-gtk&amp;lt;/tt&amp;gt;)&lt;br /&gt;
# обменяться рукопожатием и начать обмен сообщениями&lt;br /&gt;
&lt;br /&gt;
===Рукопожатие===&lt;br /&gt;
После установления соединения клиент и движок должны обменяться рукопожатием:&lt;br /&gt;
* клиент отсылает сообщение&lt;br /&gt;
 &amp;lt;tt&amp;gt;HELLOBG version=&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок отсылает в ответ&lt;br /&gt;
 &amp;lt;tt&amp;gt;HELLOTS version=&amp;#039;&amp;#039;engine_version&amp;#039;&amp;#039; version_code=&amp;#039;&amp;#039;version_code&amp;#039;&amp;#039; key=&amp;#039;&amp;#039;request_key&amp;#039;&amp;#039; http_port=&amp;#039;&amp;#039;http_port&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждое сообщение должно завершаться символами перевода строки CRLF (\r\n)&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&lt;br /&gt;
: версия API, которую поддерживает клиент. Этот параметр служит для поддержки обратной совместимости новых версий движка со старыми клиентами. Если клиент не указал версию, по умолчанию используется версия 1. Для всех сообщений API в документации указано, начиная с какой версии они поддерживаются.&lt;br /&gt;
&lt;br /&gt;
 Текущая версия API - 3&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;engine_version&amp;#039;&amp;#039;&lt;br /&gt;
: версия движка (например, 2.0.8)&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;version_code&amp;#039;&amp;#039;&lt;br /&gt;
: цифровой код версии движка (например, 3003400); клиент должен использовать этот код для сравнения версий движка; код каждой новой версии всегда больше всех кодов предыдущих версий&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;request_key&amp;#039;&amp;#039;&lt;br /&gt;
:используется для авторизации клиента с помощью [[Product key|ключа продукта]]&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;http_port&amp;#039;&amp;#039;&lt;br /&gt;
:порт, на котором работает встроенный HTTP сервер движка&lt;br /&gt;
&lt;br /&gt;
Если клиент в течение некоторого времени после отправки рукопожатия не получил ответ, соединение необходимо завершить.&lt;br /&gt;
&lt;br /&gt;
После получения команды &amp;lt;tt&amp;gt;HELLOTS&amp;lt;/tt&amp;gt; от движка клиент должен отослать такую команду:&lt;br /&gt;
 &amp;lt;tt&amp;gt;READY key=&amp;#039;&amp;#039;response_key&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Формирование &amp;lt;tt&amp;gt;response_key&amp;lt;/tt&amp;gt; описано [[Product_key|здесь]].&lt;br /&gt;
&lt;br /&gt;
===Обмен сообщениями===&lt;br /&gt;
Каждое сообщение представляет собой ASCII-строку, которая завершается символами перевода строки &amp;lt;tt&amp;gt;CRLF&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;\r\n&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Примерный алгоритм приема сообщений выглядит таким образом:&lt;br /&gt;
* клиент в цикле ждет поступления данных по TCP-соединению&lt;br /&gt;
* при получении данных они добавляются в буфер&lt;br /&gt;
* клиент проверяет, есть ли в буфере символы CRLF. Если есть, то из буфера вырезается сообщение (строка от начала буфера до символов CRLF) и отправляется в обработчик сообщений&lt;br /&gt;
* клиент должен учитывать возможность получения нескольких сообщений одновременно (т.е. повторять предыдущий шаг, пока в буфере не будет символов CRLF)&lt;br /&gt;
&lt;br /&gt;
===Завершение соединения===&lt;br /&gt;
Движок при завершении работы отправляет команду &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt; и закрывает сокет. При получении данной команды клиент должен прекратить обработку команд и закрыть свой сокет.&lt;br /&gt;
&lt;br /&gt;
То же самое должен делаь клиент при закрытии - перед закрытием отослать движку команду &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Сообщения==&lt;br /&gt;
&lt;br /&gt;
===Типы сообщений===&lt;br /&gt;
Все сообщения условно делятся на две группы: команды и события.&lt;br /&gt;
&lt;br /&gt;
Команды подразумевают выполнение какого-либо действия от принимающей стороны. Например, командой &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; клиент просит движок начать пребуферизацию указанного контента.&lt;br /&gt;
&lt;br /&gt;
События носят информационный характер. Например, событие &amp;lt;tt&amp;gt;STATUS&amp;lt;/tt&amp;gt; информирует клиента о статусе загрузки (идет ли в данный момент пребуферизация, буферизация, какая скорость загрузки и т.д.)&lt;br /&gt;
&lt;br /&gt;
===Синхронные команды===&lt;br /&gt;
Практически все команды являются асинхронными, т.е. не предполагают наличие ответа от другой стороны.&lt;br /&gt;
&lt;br /&gt;
Исключением являются две команды:&lt;br /&gt;
* &amp;lt;tt&amp;gt;LOAD&amp;lt;/tt&amp;gt; (сихронная загрузка информации о потоке)&lt;br /&gt;
* &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; (получение Content ID для потока)&lt;br /&gt;
&lt;br /&gt;
Для этих команд есть понятие ответа на команду. Ответ передается в виде строки, которая начинается на ##.&lt;br /&gt;
&lt;br /&gt;
Алгоритм обработки синхронных команд такой:&lt;br /&gt;
* клиент отправляет движку синхронную команду (например, &amp;lt;tt&amp;gt;GETCID 4c78e1cf0df23b4f5a16a106829ebed710cb52e0 0 0 0&amp;lt;/tt&amp;gt;) и ждет данных от движка&lt;br /&gt;
* когда от движка приходят данные, клиент проверяет, начинается ли полученный ответ на ## (например, &amp;lt;tt&amp;gt;##36ae4c89ab45b4010b1461c513da38d007356195&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* если это так, то строка от символов ## до CRLF является ответом на синхронную команду (причем ответ может быть пустой, т.е. выглядеть так: &amp;lt;tt&amp;gt;##&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* если нет, значит ответ на команду не может быть получен&lt;br /&gt;
&lt;br /&gt;
 Мы не рекомендуем использовать синхронную команду &amp;lt;tt&amp;gt;LOAD&amp;lt;/tt&amp;gt;, так как она подразумевает блокирование потока на стороне клиента.&lt;br /&gt;
 Эта команда является устаревшей и вместо нее следует использовать асинхронную версию &amp;lt;tt&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ на команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; приходит практически мгновенно, поэтому ее использование не приводит к блокированию. Однако есть одно замечание по использованию данной команды:&lt;br /&gt;
 Команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; не следует отправлять, если движок находится в состоянии &amp;lt;tt&amp;gt;starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Список сообщений===&lt;br /&gt;
В примерах сообщения от клиента к движку отмечены &amp;gt;&amp;gt;, от движка к клиенту - &amp;lt;&amp;lt;&lt;br /&gt;
&lt;br /&gt;
====Команды от клиента к движку====&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;READY&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Информирует движок о том, что клиент готов принимать команды. Это должна быть первая команда после рукопожатия.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;READY&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;READY&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Получить описание контента по идентификатору. Идентификатором может быть content id, ссылка на транспортный файл (.torrent, .acelive), инфохеш транспортного файла и т.п. Описание представляет &lt;br /&gt;
&lt;br /&gt;
собой список названий файлов либо потоков, которые содержатся в транспортном файле. Основное назначение этой команды - возможность сформировать и показать пользователю плейлист.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; TORRENT &amp;#039;&amp;#039;url&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; INFOHASH &amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; RAW &amp;#039;&amp;#039;data&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; PID &amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;request_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: случайное целое число - идентификатор запроса LOADASYNC; этот же идентификатор будет отослан клиенту в команде LOADRESP после того,как будет получен список файлов; данный &lt;br /&gt;
&lt;br /&gt;
идентификатор служит для того, чтобы клиент в случае отправки нескольких запросов LOADASYNC точно знал, на какой из этих запросов получен ответ &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на транспортный файл&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: содержимое транспортного файла в кодировке base64&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: идентификатор контента в системе ACE Stream (Content ID)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
&lt;br /&gt;
;Формат ответа&lt;br /&gt;
:Ответ приходит в формате JSON со следующими полями:&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
** 0 - транспортный файл не содержит аудио/видео файлов&lt;br /&gt;
** 1 - транспортный файл содержит один аудио/видео файл&lt;br /&gt;
** 2 - транспортный файл содержит более одного аудио/видео файла&lt;br /&gt;
** 100 - ошибка получения данных&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;files&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: список файлов/потоков; это массив, каждый элемент в котором состоит из массива из двух элементов: первый - название файла, второй - позиция в транспортном файле (эта позиция &lt;br /&gt;
&lt;br /&gt;
должна отправляться в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; для указания, какой именно файл необходимо загружать, если их несколько)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: хешсумма транспортного файла&lt;br /&gt;
&lt;br /&gt;
:Параметры &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; клиенту нужны для того, чтобы в дальнейшем получить Content ID с помощью команды &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Названия файлов возвращаются в виде urlencoded строк в кодировке UTF-8&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Загрузить контент по Content ID:&lt;br /&gt;
&amp;gt;&amp;gt;LOADASYNC 126500 PID 1ccf192064ee2d95e91a79f91c6097273d582827&lt;br /&gt;
&lt;br /&gt;
В ответ клиент получает от движка:&lt;br /&gt;
&amp;lt;&amp;lt;LOADRESP 126500 {&lt;br /&gt;
  &amp;quot;status&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;files&amp;quot;: [[&amp;quot;sintel-1024-surround.mp4&amp;quot;, 0]],&lt;br /&gt;
  &amp;quot;infohash&amp;quot;: &amp;quot;5410b27fc567c35c8547e3b69b141215ce3a1fd7&amp;quot;,&lt;br /&gt;
  &amp;quot;checksum&amp;quot;: &amp;quot;504275dd71a32d51c63c45ced37807751f5ccfa2&amp;quot;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;START&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Начать проигрывание указанного контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;START TORRENT &amp;#039;&amp;#039;url&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;stream_id&amp;#039;&amp;#039;&lt;br /&gt;
 START INFOHASH &amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START PID &amp;#039;&amp;#039;content_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039;&lt;br /&gt;
 START RAW &amp;#039;&amp;#039;data&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START URL &amp;#039;&amp;#039;direct_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START EFILE &amp;#039;&amp;#039;efile_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на транспортный файл&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: идентификатор контента в системе ACE Stream (Content ID)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: содержимое транспортного файла в кодировке base64&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;direct_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: прямая http-ссылка на контент (для проигрывания без транспортного файла)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;efile_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на acemedia-файл (зашифрованный медиа-файл, который можно воспроизвести с помощью ПО ACE Stream)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: список индексов файлов из торрент-файла, которые необходимо загружать. Индексы файлов клиент получает в сообщении LOADRESP разделенных запятой. Индексы начинаются с нуля и соответствуют списку файлов, который был получен в результате выполнения команды LOAD. Например, если в торрент-файле всего один видео-файл, то необходимо отправлять индекс 0. &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;stream_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: номер потока для multi-stream файлов (значение клиент получает из сообщения LOADRESP)&lt;br /&gt;
&lt;br /&gt;
Если необходимо в параметрах передать ссылку на файл, который находится в локальной файловой системе, следует использовать формат file:///path/to/file.&lt;br /&gt;
&lt;br /&gt;
;Примеры:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Начать проигрывание по ссылке на транспортный файл:&lt;br /&gt;
&amp;gt;&amp;gt;START TORRENT http://rutor.org/download/67346 0 0 0 0&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание по Content ID:&lt;br /&gt;
START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание acemedia-файла c:\acestream\test.acemedia:&lt;br /&gt;
START EFILE file%3A%2F%2F%2Fc%3A%5Cacestream%5Ctest.acemedia&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======&amp;lt;span id=&amp;quot;transcode_settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Настройки транскодирования======&lt;br /&gt;
Начиная с версии 3.1.5 есть возможность задавать формат вывода потока и параметры транскодирования аудио. &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;output_format=hls|http&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: формат вывода потока&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_audio=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать все аудио в AAC&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_mp3=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать MP3 (данная опция применима только если transcode_audio=1)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_ac3=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать только AC3 в AAC (данная опция применима только если transcode_audio=0)&lt;br /&gt;
&lt;br /&gt;
:В версии 3.1.5 данные настройки касаются только live-потоков.&lt;br /&gt;
:Если оригинал потока вещается в формате HLS, то формат вывода будет HLS независимо от настроек.&lt;br /&gt;
:Настройки транскодирования аудио влияют только на выдачу в формате HLS (по HTTP всегда выдается оригинальный поток)&lt;br /&gt;
:Если настройки формата вывода или транскодирования не передаются в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;, то используются настройки, заданные пользователем на движке&lt;br /&gt;
&lt;br /&gt;
;Примеры:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Запустить в формате HLS:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls&lt;br /&gt;
&lt;br /&gt;
Запустить в формате HLS, транскодировать все аудио-кодеки в AAC:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=1&lt;br /&gt;
&lt;br /&gt;
Запустить в формате HLS, транскодировать все аудио-кодеки, кроме MP3, в AAC:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STOP&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Остановить воспроизведение и загрузку&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STOP&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;STOP&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETPID&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:1&lt;br /&gt;
 Эта команда устарела и больше не используется. Вместо нее следует использовать команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETCID&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Получение кода плеера по набору параметров. Эта команда является синхронной командой (см.ниже). В ответ отправляется код плеера, либо пустая строка, если код плеера не может быть получен &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;GETCID checksum=&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039; infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; developer=&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; affiliate=&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; zone=&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: хешсумма транспортного файла (значение клиент из команды LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла (значение клиент из команды LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;GETCID infohash=bc57456ca38b365477e07fa7e912693a7adc57da checksum=888e9891f82a045ea639256b468041fb8c9ac315 developer=0 affiliate=0 zone=0&lt;br /&gt;
&amp;lt;&amp;lt;##68dba76ad7d0b9992581bf72f7835a0de4f84234&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETADURL&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Запрос к движку на получение ссылки на рекламную страницу. Данную команду могут использовать клиенты, которые имеют возможность отображать встроенный браузер в плеере, для того, чтобы показывать пользователям рекламу перед началом проигрывания контента либо когда пользователь нажимает паузу. Если движок определит, что есть доступная к показу реклама, то после получения этой команды отправит клиенту событие &amp;lt;tt&amp;gt;EVENT showurl&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;GETADURL width=&amp;#039;&amp;#039;width&amp;#039;&amp;#039; height=&amp;#039;&amp;#039;height&amp;#039;&amp;#039; infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; action=&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;width&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ширина видео окна клиента (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;height&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: высота видео окна клиента (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: infohash текущего контента (значение клиент получает из сообщения LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: описание события, возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;load&amp;lt;/tt&amp;gt; - загрузка (клиент загрузился, готов к проигрыванию, но пользователь еще не начала проигрывание)&lt;br /&gt;
** &amp;lt;tt&amp;gt;pause&amp;lt;/tt&amp;gt; - пользователь нажал паузу&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;GETADURL width=1328 height=474 infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 action=load&lt;br /&gt;
&amp;gt;&amp;gt;GETADURL width=1328 height=474 infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 action=pause&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;USERDATA&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данная команда используется для передачи движку информации о пользователе. Информация передается в формате JSON.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;USERDATA [{&amp;quot;gender&amp;quot;: &amp;#039;&amp;#039;gender_id&amp;#039;&amp;#039;}, {&amp;quot;age&amp;quot;: &amp;#039;&amp;#039;age_id&amp;#039;&amp;#039;}]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;gender_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: пол пользователя. Возможные значения:&lt;br /&gt;
** 1 - мужчина&lt;br /&gt;
** 2 - женщина&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;age_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: возрастная группа пользователя. Возможные значения:&lt;br /&gt;
** 1 - младше 13 лет&lt;br /&gt;
** 2 - 13-17&lt;br /&gt;
** 3 - 18-24&lt;br /&gt;
** 4 - 25-34&lt;br /&gt;
** 5 - 35-44&lt;br /&gt;
** 6 - 45-54&lt;br /&gt;
** 7 - 55-64&lt;br /&gt;
** 8 - старше 64&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;мужчина, от 18 до 24 лет:&lt;br /&gt;
&amp;gt;&amp;gt;USERDATA [{&amp;quot;gender&amp;quot;: 1}, {&amp;quot;age&amp;quot;: 3}]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SAVE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сохранить контент в указанном месте.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SAVE infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; index=&amp;#039;&amp;#039;index&amp;#039;&amp;#039; path=&amp;#039;&amp;#039;path&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - infohash контента, который неободимо сохранить (значение клиент получает из сообщения &amp;lt;tt&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - индекс файла, который необходимо сохранить (значение клиент получает из сообщения &amp;lt;tt&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;path&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - абсолютный путь к файлу, в который необходимо сохранить контент. Если указанный файл не существует, он будет создан. Если существует, файл будет перезаписан. Путь должен передаваться в виде urlencoded строки в кодировке UTF-8.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Сохранить файл с индексом 0 в папку d:\media под названием sintel-1024-surround.mp4&lt;br /&gt;
&amp;gt;&amp;gt;SAVE infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 path=D%3A%2Fmedia%2Fsintel-1024-surround.mp4&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;LIVESEEK&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
Описание скоро будет&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент завершил работу&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;SHUTDOWN&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SETOPTIONS&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия движка&lt;br /&gt;
:&amp;gt;= 3003600&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о наборе опций, которые поддерживает клиент&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SETOPTIONS name1=value1 [name2=value2 ...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:name - название опции&lt;br /&gt;
:value - значение опции&lt;br /&gt;
&lt;br /&gt;
;Список опций&lt;br /&gt;
:use_stop_notifications - клиент хочет получать от движка событие download_stopped с причиной остановки во время проигрывания&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Команды от движка к клиенту====&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PLAY, PLAYAD, PLAYADI&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:1&lt;br /&gt;
 Эти команды устарели и больше не используется. Вместо них следует использовать команду &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;START&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Начать прогрывание контента. Эта команда отправляется после завершения пребуферизации. Движок отсылает плееру http-ссылку, по которой плеер может начать проигрывание контента. Данная ссылка &lt;br /&gt;
&lt;br /&gt;
обрабатывается http-серверов, встроенным в движок.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;START &amp;#039;&amp;#039;url&amp;#039;&amp;#039; [ad=1 [interruptable=1]] [stream=1] [pos=&amp;#039;&amp;#039;position&amp;#039;&amp;#039;]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка для проигрывания&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;ad=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что ссылка &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ведет на рекламный видеоролик, который клиент должен проиграть перед началом воспроизведения основного контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;interruptable=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что должен проиграться прерываемый рекламный ролик&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;stream=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что проигрываемый контент является живой трансляцией (Live Stream).&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;position&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: целое число от 0 до 100, которое указывает с какой позиции клиент должен начать проигрывание (например, position=50 означает, что клиент должен начать проигрывание с &lt;br /&gt;
&lt;br /&gt;
позиции 50%, т.е. с середины контента)&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Начать проигрывание контента по указанной ссылке:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/5410b27fc567c35c8547e3b69b141215ce3a1fd7/0.628180567194&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание непрерываемого рекламного ролика:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6081f31fe7f1db2ea7183686b46ba382820df574/0.456623456572 ad=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание прерываемого рекламного ролика:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6081f31fe7f1db2ea7183686b46ba382820df574/0.456623456572 ad=1 interruptable=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание live:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/553b7d4cfec8974752d386844cb67e0ee64eae05/0.728180367195 stream=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание с середины (50%):&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/5410b27fc567c35c8547e3b69b141215ce3a1fd7/0.828180567196 pos=50&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PAUSE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок начал буферизацию, клиент по возможности должен остановиться на паузу до получения команды &amp;lt;tt&amp;gt;RESUME&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;PAUSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;PAUSE&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;RESUME&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок завершил буферизацию, клиент может продолжить воспроизведение.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;RESUME&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;RESUME&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STOP&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент должен остановить воспроизведение контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STOP&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;STOP&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок завершил работу&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;SHUTDOWN&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====События от клиента к движку====&lt;br /&gt;
&lt;br /&gt;
События &amp;lt;tt&amp;gt;DUR&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;PLAYBACK&amp;lt;/tt&amp;gt; необходимо отправлять только для VOD-контента (так как live не имеет длительности).&lt;br /&gt;
&lt;br /&gt;
Отправка данных событий является обязательной только при воспроизведении рекламных роликов (когда получена команда &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; с параметром ad=1). См. примечание к событию &amp;lt;tt&amp;gt;PLAYBACK&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При воспроизведении обычных VOD клиент не обязан отправлять данные события.&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;DUR&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о длительности контента, который в данный момент проигрывается клиентом. Данная команда должна отправлять сразу после того, как клиент определил длительность контента. &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;DUR &amp;#039;&amp;#039;video_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;duration&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;video_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на видео, которая была отправлена клиенту после окончания пребуферизации в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;duration&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: длительность в миллисекундах&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Клиент определить длительность контента: 3780 секунд:&lt;br /&gt;
&amp;gt;&amp;gt;DUR http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 3780000&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PLAYBACK&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о прогрессе проигранного контента (сколько процентов проигралось).&lt;br /&gt;
:Данная команда особенно важна, когда идет прогрывание рекламных роликов - переход к основному контенту происходит только после того, как движок получил команду PLAYBACK 100 (т.е. после того, как клиент полностью проиграл рекламный ролик) &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;PLAYBACK &amp;#039;&amp;#039;video_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;event&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;video_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на видео, которая была отправлена клиенту после окончания пребуферизации в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;event&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: одно из указанных событий:&lt;br /&gt;
** 0: начало проигрывания&lt;br /&gt;
** 25: проиграно 25% видео&lt;br /&gt;
** 50: проиграно 50% видео&lt;br /&gt;
** 75: проиграно 75% видео&lt;br /&gt;
** 100: проиграно 100% видео (воспроизведение завершено)&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 0&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 25&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 50&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 75&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 100&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Отправка событий движку. С помощью этого сообщения клиент может отправлять движку события, касающиеся действий пользователя относительно воспроизведения контента (поставил на паузу, перемотал и т.п.). Отправка данных событий не обязательна - клиент может их не отправлять при отсутствии технический возможности.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT &amp;#039;&amp;#039;event_name&amp;#039;&amp;#039; [param1=value1 [param2=value2] ...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;event_name&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: название события. Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;play&amp;lt;/tt&amp;gt; - начало воспроизведения либо продолжение после паузы&lt;br /&gt;
** &amp;lt;tt&amp;gt;pause&amp;lt;/tt&amp;gt; - пользователь поставил воспроизведение на паузу&lt;br /&gt;
** &amp;lt;tt&amp;gt;stop&amp;lt;/tt&amp;gt; - остановка воспроизведения&lt;br /&gt;
** &amp;lt;tt&amp;gt;seek&amp;lt;/tt&amp;gt; - пользователь осуществил перемотку. Для этого события необходимо отправлять параметр &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;, в котором указывается позиция в секундах&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;EVENT play&lt;br /&gt;
&amp;gt;&amp;gt;EVENT pause&lt;br /&gt;
&amp;gt;&amp;gt;EVENT seek position=1487&lt;br /&gt;
&amp;gt;&amp;gt;EVENT stop&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====События от движка к клиенту====&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STATE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Информация о текущем статусе движка&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATE &amp;#039;&amp;#039;state_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;state_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: состояние движка:&lt;br /&gt;
** 0 (IDLE) - движок ничего не делает&lt;br /&gt;
** 1 (PREBUFFERING) - началась пребуферизация&lt;br /&gt;
** 2 (DOWNLOADING) - идет загрузка контента в обычном режиме&lt;br /&gt;
** 3 (BUFFERING) - началась буферизация&lt;br /&gt;
** 4 (COMPLETED) - загрузка контента завершена&lt;br /&gt;
** 5 (CHECKING) - выполняется инициализация перед началом загрузки&lt;br /&gt;
** 6 (ERROR) - ошибка&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;STATE 0&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;INFO&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Отобразить текстовое сообщение пользователю.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;INFO &amp;#039;&amp;#039;message_id&amp;#039;&amp;#039;;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: числовой идентификатор сообщения&lt;br /&gt;
** 1: сообщение &amp;quot;На данный момент нет активных пиров&amp;quot; (отправляется в том случае, если в течение минуты после начала загрузки не удалось найти ни одного пира)&lt;br /&gt;
** 2: сообщение &amp;quot;Рекламный блок&amp;quot; (отправляется после начала воспроизведения рекламного ролика).&lt;br /&gt;
** 3: сообщение &amp;quot;Основной контент&amp;quot; (отправляется после начала воспроизведения основного контента).&lt;br /&gt;
** 0: другое сообщение (текст сообщения берется из параметра &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: текст сообщения, которое необходимо отобразить&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;INFO 1;Cannot find active peers&lt;br /&gt;
&amp;lt;&amp;lt;INFO 2;Advertising video&lt;br /&gt;
&amp;lt;&amp;lt;INFO 3;Main content&lt;br /&gt;
&amp;lt;&amp;lt;INFO 0;Display some message&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STATUS&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное сообщение отправляется периодически для информирования клиента о текущем статусе загрузки контента. Основное назначение этого сообщение - дать клиенту возможность отображать пользователю о том, что сейчас происходит на движке.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS &amp;#039;&amp;#039;status_string&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status_string&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - строка описанного ниже формата&lt;br /&gt;
&lt;br /&gt;
Если идет проигрывание основного контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS main:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если идет проигрывание рекламного ролика (рекламный ролик и основной контент описываются отдельно; например, рекламный ролик уже полность загружен, а основной контент проходит стадию пребуферизации):&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS main:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;|ad:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Возможные значения &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status_description:&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок ничего не делает - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;idle&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок загружает транспортный файл (обрабатывает команду &amp;lt;tt&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;) - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;loading&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок выполняет предварительную инициализацию воспроизведения (движок переходит в это состояние после получения команды &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; от клиента) - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;starting&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* ошибка - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;err;error_id;error_message&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; (код и описание)&lt;br /&gt;
* проверка - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;check;progress&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* пребуферизация - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;prebuf;progress;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* контент загружается либо уже полностью загружен - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;dl&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* буферизация - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;buf;progress;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* ожидание достаточной скорости - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;wait;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ко всем &amp;lt;tt&amp;gt;status_string&amp;lt;/tt&amp;gt; (кроме &amp;lt;tt&amp;gt;idle, loading, starting, err, check&amp;lt;/tt&amp;gt;) добавляются общие данные:&lt;br /&gt;
 &amp;lt;tt&amp;gt;total_progress;immediate_progress;speed_down;http_speed_down;speed_up;peers;http_peers;downloaded;http_downloaded;uploaded&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;total_progress&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сколько всего закачано по данному файлу&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;immediate_progress&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сколько непрерывных данных закачано начиная с текущей позиции (для отображения кол-ва закачанного в бегунке)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;speed_down&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скорость загрузки (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_speed_down&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скорость загрузки от прямых http-источников (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;speed_up&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скороть отдачи (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;peers&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - количество подсоединенных пиров&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_peers&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - количество подсоединенных прямых http-источников&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;downloaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем загруженных данных (байт)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_downloaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем загруженных по http данных (байт)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;uploaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем отданных данных (байт)&lt;br /&gt;
&lt;br /&gt;
Все числа передаются как integer.&lt;br /&gt;
&lt;br /&gt;
Все progress принимают значение от 0 до 100.&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Движок ничего не делает:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
&lt;br /&gt;
Загружается транспортный файл:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:loading&lt;br /&gt;
&lt;br /&gt;
Инициализация воспроизведения:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:starting&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 0%, еще нет подсоединенных пиров:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;0;2147483648;0;0;0;0;0;0;0;0;0;0;&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 20%, скорость загрузки 328 Кбайт/с, подсоединено 7 пиров, загружено 5505024 байт:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 90%, скорость загрузки 420 Кбайт/с, подсоединено 9 пиров, загружено 11659264байт:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;90;3299;1;0;420;0;0;9;0;11659264;0;0&lt;br /&gt;
&lt;br /&gt;
Идет загрузка контента, загружен 1%, скорость загрузки 442 Кбайт/с, подсоединено 10 пиров, загружено 13920256:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:dl;1;0;442;0;0;10;0;13920256;0;0&lt;br /&gt;
&lt;br /&gt;
Рекламный ролик полность загружен и воспроизводится, основной контент пребуферизируется (20%):&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0|ad:dl;100;0;0;0;0;0;0;13920256;0;0&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Пример трансформации статусов в текстовые сообщения, понятные пользователю&lt;br /&gt;
 &amp;lt;tt&amp;gt;check - Проверка xx%&lt;br /&gt;
 prebuf - Пребуферизация xx%&lt;br /&gt;
 buf - Буферизация xx%&lt;br /&gt;
 wait - Ожидание достаточной скорости&lt;br /&gt;
 err - выводим сообщение об ошибке&lt;br /&gt;
 loading - Загрузка...&lt;br /&gt;
 starting - Запуск...&lt;br /&gt;
 dl, idle - ничего не выводим&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;AUTH&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Уровень доступа пользователя &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;AUTH &amp;#039;&amp;#039;user_auth_level&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;user_auth_level&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: уровень доступа пользователя&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Пользователь не зарегистрирован:&lt;br /&gt;
&amp;lt;&amp;lt;AUTH 0&lt;br /&gt;
&lt;br /&gt;
Пользователь зарегистрирован:&lt;br /&gt;
&amp;lt;&amp;lt;AUTH 1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT getuserdata&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок запрашивает у клиента данные пользователя (пол и возрастную группу). Такой запрос приходит при попытке что-либо проиграть, если данные о пользователе не были переданы ранее (т.е. фактически при первом после установки просмотре в ответ на команду &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;).&lt;br /&gt;
:При получении этого события клиент должен запросить данные у пользователя, затем отправить их движку командой &amp;lt;tt&amp;gt;USERDATA&amp;lt;/tt&amp;gt; и начать воспроизведение командой &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT getuserdata&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;EVENT getuserdata&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное событие информирует клиента о том, что контент может быть сохранен на диске в указанном пользователем месте. Например, при получении данного события клиент может отобразить кнопку &amp;quot;Сохранить&amp;quot; в пользовательском интерфейсе. При нажатии на кнопку пользователь должен будет выбрать, куда сохранять контент, после чего клиент отправит движку команду &amp;lt;tt&amp;gt;SAVE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT cansave infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; index=&amp;#039;&amp;#039;index&amp;#039;&amp;#039; format=&amp;#039;&amp;#039;format&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - infohash контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - номер файла, который можно сохранить&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;format&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - формат файла, в котором будет сохранен контент. Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;plain&amp;lt;/tt&amp;gt; - файл будет сохранен в незашифрованном виде&lt;br /&gt;
** &amp;lt;tt&amp;gt;encrypted&amp;lt;/tt&amp;gt; - файл будет сохранен в зашифрованном виде (файл должен иметь расширение .acemedia). Зашифрованные файлы могут быть воспроизведены только с помощью программного обеспечение ACE Stream (с помощью команды &amp;lt;tt&amp;gt;START EFILE&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Параметры &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; клиент может использовать в команде &amp;lt;tt&amp;gt;SAVE&amp;lt;/tt&amp;gt;, если пользователь решит сохранить контент.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Доступен для сохранения файл под номером 0, файл может быть сохранен в открытом виде:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT cansave infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 format=plain&lt;br /&gt;
&lt;br /&gt;
Файл может быть сохранен только в зашифрованном виде:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT cansave infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 format=encrypted&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT showurl&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент должен отобразить встроенный браузер и загрузить указанную ссылку. В случае, если клиент не имеет встроенного браузера, это событие можно проигнорировать.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT showurl type=&amp;#039;&amp;#039;type&amp;#039;&amp;#039; url=&amp;#039;&amp;#039;url&amp;#039;&amp;#039; [width=&amp;#039;&amp;#039;width&amp;#039;&amp;#039;] [height=&amp;#039;&amp;#039;height&amp;#039;&amp;#039;]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;type&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - тип запроса (причина, по которой движок просит отобразить браузер). Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;ad&amp;lt;/tt&amp;gt;: отобразить рекламу (такой запрос приходит в ответ на команду &amp;lt;tt&amp;gt;GETADURL&amp;lt;/tt&amp;gt;)&lt;br /&gt;
** &amp;lt;tt&amp;gt;notification&amp;lt;/tt&amp;gt;: отобразить пользователю страницу-уведомление. Такой запрос используется в том случае, если пользователя необходимо уведомить о чем-то и уведомление потребует от пользователя каких-либо действий (например, если доступ к контенту открыт только для зарегистрированных пользователей, то клиенту будет отослана ссылка на страницу, на которой пользователь сможет зарегистрироваться). Такие запросы дублируются событием &amp;lt;tt&amp;gt;INFO&amp;lt;/tt&amp;gt; для того, чтобы клиенты без встроенного браузера могли отобразить пользователю текстовое уведомление.&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - ссылка на страницу, которую необходимо отобразить&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;width&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - ширина страницы (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;height&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - высота страницы (в пикселях)&lt;br /&gt;
&lt;br /&gt;
Если размеры окна браузера, передаваемые в параметрах &amp;lt;tt&amp;gt;width&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;, больше размера окна клиента, то клиент должен отобразить браузер на все окно.&lt;br /&gt;
&lt;br /&gt;
Если параметры &amp;lt;tt&amp;gt;width&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt; отсутствуют либо равны нулю, клиент должен отобразить браузер на все окно.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Показать рекламную страницу с адресом http://ad.example.com в браузере с размером окна 400x250 пикселей:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT showurl type=ad url=http://ad.example.com width=400 height=250&lt;br /&gt;
&lt;br /&gt;
Отобразить на все окно браузер со страницой http://www.example.com/notification:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT showurl type=notification url=http://www.example.com/notification&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT livepos&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
Описание скоро будет&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT download_stopped&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия движка&lt;br /&gt;
:&amp;gt;= 3003600&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное событие информирует клиента о причине остановки воспроизведения контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT download_stopped reason=&amp;#039;&amp;#039;reason&amp;#039;&amp;#039; option=&amp;#039;&amp;#039;option&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;reason&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - причина остановки; возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;missing_option&amp;lt;/tt&amp;gt;: не активирована платная опция, необходимая для воспроизведения данного контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;option&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - идентификатор платной опции&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Воспроизведение остановлено, так как у пользователя отсутствует активированная платная опция proxyServer:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;gt;&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сообщения от клиента к движку&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;&amp;lt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сообщения от движка к клиенту&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Проигрывание торрент-файла по ссылке без рекламных роликов===&lt;br /&gt;
(необходимость проигрывания рекламных роликов определяет движок).&lt;br /&gt;
&lt;br /&gt;
Для загрузки содержимого торрента используется асинхронная команда LOADASYNC.&lt;br /&gt;
&lt;br /&gt;
Торрент файл содержит один видео-файл.&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент готов принимать сообщения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
пользователю доступны расширенные функции&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;AUTH 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
загрузить торрент по ссылке&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;LOADASYNC 467763 TORRENT http://rutor.org/download/67346 0 0 0&lt;br /&gt;
 &amp;lt;&amp;lt;LOADRESP 467763 {&amp;quot;status&amp;quot;: 1, &amp;quot;files&amp;quot;: &amp;lt;nowiki&amp;gt;[[&amp;quot;Prey%202_%20E3%202011%20Official%20Trailer_2.mp4&amp;quot;, 0]]&amp;lt;/nowiki&amp;gt;, &amp;quot;infohash&amp;quot;:  &lt;br /&gt;
 &amp;quot;4c78e1cf0df23b4f5a16a106829ebed710cb52e0&amp;quot;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
узнать код плеера (например, чтобы показать его пользователю)&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;GETPID 4c78e1cf0df23b4f5a16a106829ebed710cb52e0 0 0 0&lt;br /&gt;
 &amp;lt;&amp;lt;##36ae4c89ab45b4010b1461c513da38d007356195&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
начать пребуферизацию видео&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START TORRENT http://rutor.org/download/67346 0 0 0 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
идет процесс пребуферизации&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;2147483447;0;0;0;0;0;0;0;0;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;2132;0;0;29;0;0;8;0;131072;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;8;942;0;0;60;0;0;9;0;393216;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;50;591;0;0;87;0;0;8;0;835584;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;75;497;0;0;98;0;0;8;0;1146880;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;91;448;0;0;105;0;0;8;0;1441792;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
пребуферизация завершена, клиент получает ссылку для проигрывания контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;PLAY http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент отправляет длительность контента (~201 секунда)&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;DUR http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 201964&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент информирует о том, что началось проигрывание&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
движок загружает контент&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATUS main:dl;0;0;110;0;0;8;0;1622016;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;128;0;0;8;0;2965504;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;130;0;0;8;0;3129344;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
движку недостаточно данных для проигрывания, начинает буферизация&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;PAUSE&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 3&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;0;315;0;0;130;0;0;8;0;3260416;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;90;299;0;0;133;0;0;8;0;3866624;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;90;278;0;0;138;0;0;8;0;4390912;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
буферизация завершена&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;RESUME&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;141;0;0;8;0;4898816;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 25% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 25&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;141;0;0;8;0;4898816;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;146;0;0;7;0;8388608;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 50% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 50&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;145;0;0;7;0;9404416;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 75% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 75&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;146;0;0;7;0;9568256;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
остановить загрузку контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;STOP&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
разорвать соединение&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;SHUTDOWN&lt;br /&gt;
 &amp;lt;&amp;lt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ошибка запуска воспроизведения, отсутствует необходимая платная опция proxyServer===&lt;br /&gt;
&amp;lt;div id=&amp;quot;example-missing-option-on-start&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
В этом примере описана ситуация, когда движок не может начать воспроизведение, так как для этого требуется наличие у пользователя активированной платной опции.&lt;br /&gt;
&lt;br /&gt;
В случае отсутствия платной опции необходимо уведомить пользователя о необходимости приобрести данную опцию. Это может сделать либо клиент, либо движок. Если клиент хочет самостоятельно уведомить пользователя, он должен сообщить движку о готовности получать событие &amp;lt;tt&amp;gt;download_stopped&amp;lt;/tt&amp;gt; с помощью команды &amp;lt;tt&amp;gt;SETOPTIONS&amp;lt;/tt&amp;gt;. Если клиент этого не сделал, то движок самостоятельно уведомит пользователя (открыв окно либо страницу в браузере).&lt;br /&gt;
&lt;br /&gt;
Первый пример описывает ситуацию, когда клиент не хочет уведомлять пользователя (в этом сценарии уведомление пользователю выдаст движок):&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ошибка старта&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:err;0;You need to buy Proxy Server option to continue&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Второй пример описывает ситуацию, когда клиент хочет уведомлять пользователя:&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&lt;br /&gt;
 &amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ошибка старта&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Воспроизведение прервано, так как отсутствует необходимая платная опция proxyServer===&lt;br /&gt;
&lt;br /&gt;
Этот сценарий отличается от предыдущего тем, что воспроизведение начинается, но через некоторое время после старта останавливается по причине отсутствия платной опции.&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&lt;br /&gt;
 &amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;0;0;0;8;0;0;1;0;16384;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6d12f958332ef0bd258053ba1afd833ddf9b74f9/0.289607197304 stream=1&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
некоторое время воспроизведения идет без остановки&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATUS main:dl;0;0;832;0;0;1;0;2392064;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;1339;0;8;3;0;5242880;0;65536&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;1165;0;18;3;0;5767168;0;163840&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977941 live_first=1448976141 pos=1448977941 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976141 last_ts=1448977941 is_live=1 live_last=1448977941 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;396;0;175;4;0;35127296;0;10534912&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448978010 live_first=1448976210 pos=1448978010 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976210 last_ts=1448978010 is_live=1 live_last=1448978010 buffer_pieces=15&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
остановка воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&lt;br /&gt;
 &amp;lt;&amp;lt;STOP&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:err;0;Download stopped&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Engine_API&amp;diff=681</id>
		<title>Engine API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Engine_API&amp;diff=681"/>
		<updated>2018-09-03T09:14:22Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* События от клиента к движку */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Общие понятия==&lt;br /&gt;
ACE Stream Engine (далее - &amp;quot;движок&amp;quot;) - приложение, которое обеспечивает весь функционал системы ACE Stream. Данное приложение работает в фоновом режиме и имеет минимальный графический интерфейс для изменения различных настроек.&lt;br /&gt;
&lt;br /&gt;
ACE Stream Engine API (далее - API) - программный интерфейс, позволяющий сторонним приложениям работать с движком. Под сторонними приложениями, как правило, подразумеваются медиа плееры, работающие с системой ACE Stream.&lt;br /&gt;
&lt;br /&gt;
Клиент - стороннее приложение, которое работает с движком посредством API.&lt;br /&gt;
&lt;br /&gt;
==Схема работы API==&lt;br /&gt;
Обмен данными с движком происходит по протоколу TCP. Общая схема работы выглядит так:&lt;br /&gt;
* клиент устанавливает TCP-соединение с движком&lt;br /&gt;
* клиент и движок обмениваются рукопожатиями&lt;br /&gt;
* клиент и движок обмениваются сообщениями&lt;br /&gt;
* одна из сторон завершает соединение&lt;br /&gt;
&lt;br /&gt;
===Установление соединения===&lt;br /&gt;
Для установления соединения клиент должен знать порт, на котором работает API движка. Методы определения порта зависят от операционной системы, на которой запущен движок.&lt;br /&gt;
&lt;br /&gt;
На Linux используется фиксированный порт: 62062&lt;br /&gt;
&lt;br /&gt;
На Windows используется динамический порт. Движок после запуска создает файл acestream.port в директории, в которой находится сам движок (файл tsengine.exe), и записывает в данный файл порт, на котором работает API. Для того, чтобы узнать порт, клиент должен прочитать указанный файл. Отсутствие данного файла указывает на то, что движок в не запущен. Путь к папке, в которую устанавливается движок, можно считать из реестра:&lt;br /&gt;
 &amp;lt;tt&amp;gt;HKEY_CURRENT_USER\Software\TorrentStream\EnginePath&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ключ &amp;lt;tt&amp;gt;EnginePath&amp;lt;/tt&amp;gt; содержит абсолютный путь к исполняемому файлу движка (tsengine.exe). По умолчанию это &amp;lt;tt&amp;gt;%APPDATA%\TorrentStream\engine\tsengine.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм установления соединения (Windows):&lt;br /&gt;
# считать из реестра ключ &amp;lt;tt&amp;gt;HKEY_CURRENT_USER\Software\TorrentStream\EnginePath&amp;lt;/tt&amp;gt;&lt;br /&gt;
## если ключ отсутствует - движок не установлен&lt;br /&gt;
## запомнить путь к исполняемому файлу движка (engine_path) и директории движка (engine_dir)&lt;br /&gt;
# считать содержимое файла engine_dir/acestream.port и запомнить порт&lt;br /&gt;
# если данный файл отсутствует - запустить движок, дождаться создания файла acestream.port и считать его содержимое&lt;br /&gt;
# установить TCP-соединение на localhost на указанный порт&lt;br /&gt;
# если не получилось установить соединение - движок не запущен и его нужно запустить&lt;br /&gt;
# обменяться рукопожатием и начать обмен сообщениями&lt;br /&gt;
&lt;br /&gt;
Алгоритм установления соединения (Linux):&lt;br /&gt;
# установить TCP-соединение на localhost на порт 62062&lt;br /&gt;
# если не получилось установить соединение - движок не запущен и его нужно запустить (&amp;lt;tt&amp;gt;/usr/bin/acestreamengine-client-gtk&amp;lt;/tt&amp;gt;)&lt;br /&gt;
# обменяться рукопожатием и начать обмен сообщениями&lt;br /&gt;
&lt;br /&gt;
===Рукопожатие===&lt;br /&gt;
После установления соединения клиент и движок должны обменяться рукопожатием:&lt;br /&gt;
* клиент отсылает сообщение&lt;br /&gt;
 &amp;lt;tt&amp;gt;HELLOBG version=&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок отсылает в ответ&lt;br /&gt;
 &amp;lt;tt&amp;gt;HELLOTS version=&amp;#039;&amp;#039;engine_version&amp;#039;&amp;#039; version_code=&amp;#039;&amp;#039;version_code&amp;#039;&amp;#039; key=&amp;#039;&amp;#039;request_key&amp;#039;&amp;#039; http_port=&amp;#039;&amp;#039;http_port&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждое сообщение должно завершаться символами перевода строки CRLF (\r\n)&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&lt;br /&gt;
: версия API, которую поддерживает клиент. Этот параметр служит для поддержки обратной совместимости новых версий движка со старыми клиентами. Если клиент не указал версию, по умолчанию используется версия 1. Для всех сообщений API в документации указано, начиная с какой версии они поддерживаются.&lt;br /&gt;
&lt;br /&gt;
 Текущая версия API - 3&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;engine_version&amp;#039;&amp;#039;&lt;br /&gt;
: версия движка (например, 2.0.8)&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;version_code&amp;#039;&amp;#039;&lt;br /&gt;
: цифровой код версии движка (например, 3003400); клиент должен использовать этот код для сравнения версий движка; код каждой новой версии всегда больше всех кодов предыдущих версий&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;request_key&amp;#039;&amp;#039;&lt;br /&gt;
:используется для авторизации клиента с помощью [[Product key|ключа продукта]]&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;http_port&amp;#039;&amp;#039;&lt;br /&gt;
:порт, на котором работает встроенный HTTP сервер движка&lt;br /&gt;
&lt;br /&gt;
Если клиент в течение некоторого времени после отправки рукопожатия не получил ответ, соединение необходимо завершить.&lt;br /&gt;
&lt;br /&gt;
После получения команды &amp;lt;tt&amp;gt;HELLOTS&amp;lt;/tt&amp;gt; от движка клиент должен отослать такую команду:&lt;br /&gt;
 &amp;lt;tt&amp;gt;READY key=&amp;#039;&amp;#039;response_key&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Формирование &amp;lt;tt&amp;gt;response_key&amp;lt;/tt&amp;gt; описано [[Product_key|здесь]].&lt;br /&gt;
&lt;br /&gt;
===Обмен сообщениями===&lt;br /&gt;
Каждое сообщение представляет собой ASCII-строку, которая завершается символами перевода строки &amp;lt;tt&amp;gt;CRLF&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;\r\n&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Примерный алгоритм приема сообщений выглядит таким образом:&lt;br /&gt;
* клиент в цикле ждет поступления данных по TCP-соединению&lt;br /&gt;
* при получении данных они добавляются в буфер&lt;br /&gt;
* клиент проверяет, есть ли в буфере символы CRLF. Если есть, то из буфера вырезается сообщение (строка от начала буфера до символов CRLF) и отправляется в обработчик сообщений&lt;br /&gt;
* клиент должен учитывать возможность получения нескольких сообщений одновременно (т.е. повторять предыдущий шаг, пока в буфере не будет символов CRLF)&lt;br /&gt;
&lt;br /&gt;
===Завершение соединения===&lt;br /&gt;
Движок при завершении работы отправляет команду &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt; и закрывает сокет. При получении данной команды клиент должен прекратить обработку команд и закрыть свой сокет.&lt;br /&gt;
&lt;br /&gt;
То же самое должен делаь клиент при закрытии - перед закрытием отослать движку команду &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Сообщения==&lt;br /&gt;
&lt;br /&gt;
===Типы сообщений===&lt;br /&gt;
Все сообщения условно делятся на две группы: команды и события.&lt;br /&gt;
&lt;br /&gt;
Команды подразумевают выполнение какого-либо действия от принимающей стороны. Например, командой &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; клиент просит движок начать пребуферизацию указанного контента.&lt;br /&gt;
&lt;br /&gt;
События носят информационный характер. Например, событие &amp;lt;tt&amp;gt;STATUS&amp;lt;/tt&amp;gt; информирует клиента о статусе загрузки (идет ли в данный момент пребуферизация, буферизация, какая скорость загрузки и т.д.)&lt;br /&gt;
&lt;br /&gt;
===Синхронные команды===&lt;br /&gt;
Практически все команды являются асинхронными, т.е. не предполагают наличие ответа от другой стороны.&lt;br /&gt;
&lt;br /&gt;
Исключением являются две команды:&lt;br /&gt;
* &amp;lt;tt&amp;gt;LOAD&amp;lt;/tt&amp;gt; (сихронная загрузка информации о потоке)&lt;br /&gt;
* &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; (получение Content ID для потока)&lt;br /&gt;
&lt;br /&gt;
Для этих команд есть понятие ответа на команду. Ответ передается в виде строки, которая начинается на ##.&lt;br /&gt;
&lt;br /&gt;
Алгоритм обработки синхронных команд такой:&lt;br /&gt;
* клиент отправляет движку синхронную команду (например, &amp;lt;tt&amp;gt;GETCID 4c78e1cf0df23b4f5a16a106829ebed710cb52e0 0 0 0&amp;lt;/tt&amp;gt;) и ждет данных от движка&lt;br /&gt;
* когда от движка приходят данные, клиент проверяет, начинается ли полученный ответ на ## (например, &amp;lt;tt&amp;gt;##36ae4c89ab45b4010b1461c513da38d007356195&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* если это так, то строка от символов ## до CRLF является ответом на синхронную команду (причем ответ может быть пустой, т.е. выглядеть так: &amp;lt;tt&amp;gt;##&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* если нет, значит ответ на команду не может быть получен&lt;br /&gt;
&lt;br /&gt;
 Мы не рекомендуем использовать синхронную команду &amp;lt;tt&amp;gt;LOAD&amp;lt;/tt&amp;gt;, так как она подразумевает блокирование потока на стороне клиента.&lt;br /&gt;
 Эта команда является устаревшей и вместо нее следует использовать асинхронную версию &amp;lt;tt&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ на команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; приходит практически мгновенно, поэтому ее использование не приводит к блокированию. Однако есть одно замечание по использованию данной команды:&lt;br /&gt;
 Команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; не следует отправлять, если движок находится в состоянии &amp;lt;tt&amp;gt;starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Список сообщений===&lt;br /&gt;
В примерах сообщения от клиента к движку отмечены &amp;gt;&amp;gt;, от движка к клиенту - &amp;lt;&amp;lt;&lt;br /&gt;
&lt;br /&gt;
====Команды от клиента к движку====&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;READY&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Информирует движок о том, что клиент готов принимать команды. Это должна быть первая команда после рукопожатия.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;READY&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;READY&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Получить описание контента по идентификатору. Идентификатором может быть content id, ссылка на транспортный файл (.torrent, .acelive), инфохеш транспортного файла и т.п. Описание представляет &lt;br /&gt;
&lt;br /&gt;
собой список названий файлов либо потоков, которые содержатся в транспортном файле. Основное назначение этой команды - возможность сформировать и показать пользователю плейлист.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; TORRENT &amp;#039;&amp;#039;url&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; INFOHASH &amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; RAW &amp;#039;&amp;#039;data&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; PID &amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;request_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: случайное целое число - идентификатор запроса LOADASYNC; этот же идентификатор будет отослан клиенту в команде LOADRESP после того,как будет получен список файлов; данный &lt;br /&gt;
&lt;br /&gt;
идентификатор служит для того, чтобы клиент в случае отправки нескольких запросов LOADASYNC точно знал, на какой из этих запросов получен ответ &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на транспортный файл&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: содержимое транспортного файла в кодировке base64&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: идентификатор контента в системе ACE Stream (Content ID)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
&lt;br /&gt;
;Формат ответа&lt;br /&gt;
:Ответ приходит в формате JSON со следующими полями:&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
** 0 - транспортный файл не содержит аудио/видео файлов&lt;br /&gt;
** 1 - транспортный файл содержит один аудио/видео файл&lt;br /&gt;
** 2 - транспортный файл содержит более одного аудио/видео файла&lt;br /&gt;
** 100 - ошибка получения данных&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;files&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: список файлов/потоков; это массив, каждый элемент в котором состоит из массива из двух элементов: первый - название файла, второй - позиция в транспортном файле (эта позиция &lt;br /&gt;
&lt;br /&gt;
должна отправляться в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; для указания, какой именно файл необходимо загружать, если их несколько)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: хешсумма транспортного файла&lt;br /&gt;
&lt;br /&gt;
:Параметры &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; клиенту нужны для того, чтобы в дальнейшем получить Content ID с помощью команды &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Названия файлов возвращаются в виде urlencoded строк в кодировке UTF-8&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Загрузить контент по Content ID:&lt;br /&gt;
&amp;gt;&amp;gt;LOADASYNC 126500 PID 1ccf192064ee2d95e91a79f91c6097273d582827&lt;br /&gt;
&lt;br /&gt;
В ответ клиент получает от движка:&lt;br /&gt;
&amp;lt;&amp;lt;LOADRESP 126500 {&lt;br /&gt;
  &amp;quot;status&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;files&amp;quot;: [[&amp;quot;sintel-1024-surround.mp4&amp;quot;, 0]],&lt;br /&gt;
  &amp;quot;infohash&amp;quot;: &amp;quot;5410b27fc567c35c8547e3b69b141215ce3a1fd7&amp;quot;,&lt;br /&gt;
  &amp;quot;checksum&amp;quot;: &amp;quot;504275dd71a32d51c63c45ced37807751f5ccfa2&amp;quot;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;START&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Начать проигрывание указанного контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;START TORRENT &amp;#039;&amp;#039;url&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;stream_id&amp;#039;&amp;#039;&lt;br /&gt;
 START INFOHASH &amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START PID &amp;#039;&amp;#039;content_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039;&lt;br /&gt;
 START RAW &amp;#039;&amp;#039;data&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START URL &amp;#039;&amp;#039;direct_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START EFILE &amp;#039;&amp;#039;efile_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на транспортный файл&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: идентификатор контента в системе ACE Stream (Content ID)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: содержимое транспортного файла в кодировке base64&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;direct_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: прямая http-ссылка на контент (для проигрывания без транспортного файла)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;efile_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на acemedia-файл (зашифрованный медиа-файл, который можно воспроизвести с помощью ПО ACE Stream)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: список индексов файлов из торрент-файла, которые необходимо загружать. Индексы файлов клиент получает в сообщении LOADRESP разделенных запятой. Индексы начинаются с нуля и соответствуют списку файлов, который был получен в результате выполнения команды LOAD. Например, если в торрент-файле всего один видео-файл, то необходимо отправлять индекс 0. &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;stream_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: номер потока для multi-stream файлов (значение клиент получает из сообщения LOADRESP)&lt;br /&gt;
&lt;br /&gt;
Если необходимо в параметрах передать ссылку на файл, который находится в локальной файловой системе, следует использовать формат file:///path/to/file.&lt;br /&gt;
&lt;br /&gt;
;Примеры:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Начать проигрывание по ссылке на транспортный файл:&lt;br /&gt;
&amp;gt;&amp;gt;START TORRENT http://rutor.org/download/67346 0 0 0 0&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание по Content ID:&lt;br /&gt;
START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание acemedia-файла c:\acestream\test.acemedia:&lt;br /&gt;
START EFILE file%3A%2F%2F%2Fc%3A%5Cacestream%5Ctest.acemedia&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======&amp;lt;span id=&amp;quot;transcode_settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Настройки транскодирования======&lt;br /&gt;
Начиная с версии 3.1.5 есть возможность задавать формат вывода потока и параметры транскодирования аудио. &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;output_format=hls|http&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: формат вывода потока&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_audio=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать все аудио в AAC&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_mp3=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать MP3 (данная опция применима только если transcode_audio=1)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_ac3=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать только AC3 в AAC (данная опция применима только если transcode_audio=0)&lt;br /&gt;
&lt;br /&gt;
:В версии 3.1.5 данные настройки касаются только live-потоков.&lt;br /&gt;
:Если оригинал потока вещается в формате HLS, то формат вывода будет HLS независимо от настроек.&lt;br /&gt;
:Настройки транскодирования аудио влияют только на выдачу в формате HLS (по HTTP всегда выдается оригинальный поток)&lt;br /&gt;
:Если настройки формата вывода или транскодирования не передаются в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;, то используются настройки, заданные пользователем на движке&lt;br /&gt;
&lt;br /&gt;
;Примеры:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Запустить в формате HLS:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls&lt;br /&gt;
&lt;br /&gt;
Запустить в формате HLS, транскодировать все аудио-кодеки в AAC:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=1&lt;br /&gt;
&lt;br /&gt;
Запустить в формате HLS, транскодировать все аудио-кодеки, кроме MP3, в AAC:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STOP&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Остановить воспроизведение и загрузку&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STOP&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;STOP&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETPID&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:1&lt;br /&gt;
 Эта команда устарела и больше не используется. Вместо нее следует использовать команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETCID&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Получение кода плеера по набору параметров. Эта команда является синхронной командой (см.ниже). В ответ отправляется код плеера, либо пустая строка, если код плеера не может быть получен &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;GETCID checksum=&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039; infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; developer=&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; affiliate=&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; zone=&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: хешсумма транспортного файла (значение клиент из команды LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла (значение клиент из команды LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;GETCID infohash=bc57456ca38b365477e07fa7e912693a7adc57da checksum=888e9891f82a045ea639256b468041fb8c9ac315 developer=0 affiliate=0 zone=0&lt;br /&gt;
&amp;lt;&amp;lt;##68dba76ad7d0b9992581bf72f7835a0de4f84234&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETADURL&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Запрос к движку на получение ссылки на рекламную страницу. Данную команду могут использовать клиенты, которые имеют возможность отображать встроенный браузер в плеере, для того, чтобы показывать пользователям рекламу перед началом проигрывания контента либо когда пользователь нажимает паузу. Если движок определит, что есть доступная к показу реклама, то после получения этой команды отправит клиенту событие &amp;lt;tt&amp;gt;EVENT showurl&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;GETADURL width=&amp;#039;&amp;#039;width&amp;#039;&amp;#039; height=&amp;#039;&amp;#039;height&amp;#039;&amp;#039; infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; action=&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;width&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ширина видео окна клиента (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;height&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: высота видео окна клиента (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: infohash текущего контента (значение клиент получает из сообщения LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: описание события, возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;load&amp;lt;/tt&amp;gt; - загрузка (клиент загрузился, готов к проигрыванию, но пользователь еще не начала проигрывание)&lt;br /&gt;
** &amp;lt;tt&amp;gt;pause&amp;lt;/tt&amp;gt; - пользователь нажал паузу&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;GETADURL width=1328 height=474 infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 action=load&lt;br /&gt;
&amp;gt;&amp;gt;GETADURL width=1328 height=474 infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 action=pause&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;USERDATA&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данная команда используется для передачи движку информации о пользователе. Информация передается в формате JSON.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;USERDATA [{&amp;quot;gender&amp;quot;: &amp;#039;&amp;#039;gender_id&amp;#039;&amp;#039;}, {&amp;quot;age&amp;quot;: &amp;#039;&amp;#039;age_id&amp;#039;&amp;#039;}]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;gender_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: пол пользователя. Возможные значения:&lt;br /&gt;
** 1 - мужчина&lt;br /&gt;
** 2 - женщина&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;age_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: возрастная группа пользователя. Возможные значения:&lt;br /&gt;
** 1 - младше 13 лет&lt;br /&gt;
** 2 - 13-17&lt;br /&gt;
** 3 - 18-24&lt;br /&gt;
** 4 - 25-34&lt;br /&gt;
** 5 - 35-44&lt;br /&gt;
** 6 - 45-54&lt;br /&gt;
** 7 - 55-64&lt;br /&gt;
** 8 - старше 64&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;мужчина, от 18 до 24 лет:&lt;br /&gt;
&amp;gt;&amp;gt;USERDATA [{&amp;quot;gender&amp;quot;: 1}, {&amp;quot;age&amp;quot;: 3}]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SAVE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сохранить контент в указанном месте.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SAVE infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; index=&amp;#039;&amp;#039;index&amp;#039;&amp;#039; path=&amp;#039;&amp;#039;path&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - infohash контента, который неободимо сохранить (значение клиент получает из сообщения &amp;lt;tt&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - индекс файла, который необходимо сохранить (значение клиент получает из сообщения &amp;lt;tt&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;path&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - абсолютный путь к файлу, в который необходимо сохранить контент. Если указанный файл не существует, он будет создан. Если существует, файл будет перезаписан. Путь должен передаваться в виде urlencoded строки в кодировке UTF-8.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Сохранить файл с индексом 0 в папку d:\media под названием sintel-1024-surround.mp4&lt;br /&gt;
&amp;gt;&amp;gt;SAVE infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 path=D%3A%2Fmedia%2Fsintel-1024-surround.mp4&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;LIVESEEK&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
Описание скоро будет&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент завершил работу&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;SHUTDOWN&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SETOPTIONS&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия движка&lt;br /&gt;
:&amp;gt;= 3003600&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о наборе опций, которые поддерживает клиент&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SETOPTIONS name1=value1 [name2=value2 ...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:name - название опции&lt;br /&gt;
:value - значение опции&lt;br /&gt;
&lt;br /&gt;
;Список опций&lt;br /&gt;
:use_stop_notifications - клиент хочет получать от движка событие download_stopped с причиной остановки во время проигрывания&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Команды от движка к клиенту====&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PLAY, PLAYAD, PLAYADI&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:1&lt;br /&gt;
 Эти команды устарели и больше не используется. Вместо них следует использовать команду &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;START&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Начать прогрывание контента. Эта команда отправляется после завершения пребуферизации. Движок отсылает плееру http-ссылку, по которой плеер может начать проигрывание контента. Данная ссылка &lt;br /&gt;
&lt;br /&gt;
обрабатывается http-серверов, встроенным в движок.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;START &amp;#039;&amp;#039;url&amp;#039;&amp;#039; [ad=1 [interruptable=1]] [stream=1] [pos=&amp;#039;&amp;#039;position&amp;#039;&amp;#039;]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка для проигрывания&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;ad=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что ссылка &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ведет на рекламный видеоролик, который клиент должен проиграть перед началом воспроизведения основного контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;interruptable=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что должен проиграться прерываемый рекламный ролик&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;stream=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что проигрываемый контент является живой трансляцией (Live Stream).&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;position&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: целое число от 0 до 100, которое указывает с какой позиции клиент должен начать проигрывание (например, position=50 означает, что клиент должен начать проигрывание с &lt;br /&gt;
&lt;br /&gt;
позиции 50%, т.е. с середины контента)&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Начать проигрывание контента по указанной ссылке:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/5410b27fc567c35c8547e3b69b141215ce3a1fd7/0.628180567194&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание непрерываемого рекламного ролика:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6081f31fe7f1db2ea7183686b46ba382820df574/0.456623456572 ad=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание прерываемого рекламного ролика:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6081f31fe7f1db2ea7183686b46ba382820df574/0.456623456572 ad=1 interruptable=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание live:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/553b7d4cfec8974752d386844cb67e0ee64eae05/0.728180367195 stream=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание с середины (50%):&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/5410b27fc567c35c8547e3b69b141215ce3a1fd7/0.828180567196 pos=50&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PAUSE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок начал буферизацию, клиент по возможности должен остановиться на паузу до получения команды &amp;lt;tt&amp;gt;RESUME&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;PAUSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;PAUSE&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;RESUME&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок завершил буферизацию, клиент может продолжить воспроизведение.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;RESUME&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;RESUME&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STOP&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент должен остановить воспроизведение контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STOP&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;STOP&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок завершил работу&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;SHUTDOWN&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====События от клиента к движку====&lt;br /&gt;
&lt;br /&gt;
События &amp;lt;tt&amp;gt;DUR&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;PLAYBACK&amp;lt;/tt&amp;gt; необходимо отправлять только для VOD-контента (так как live не имеет длительности).&lt;br /&gt;
&lt;br /&gt;
Отправка данных событий является обязательной только при воспроизведении рекламных роликов (когда получена команда &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; с параметром ad=1). См. примечание к событию &amp;lt;tt&amp;gt;PLAYBACK&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При воспроизведении обычных VOD клиент не обязан отправлять данные события.&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;DUR&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о длительности контента, который в данный момент проигрывается клиентом. Данная команда должна отправлять сразу после того, как клиент определил длительность контента. &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;DUR &amp;#039;&amp;#039;video_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;duration&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;video_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на видео, которая была отправлена клиенту после окончания пребуферизации в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;duration&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: длительность в миллисекундах&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Клиент определить длительность контента: 3780 секунд:&lt;br /&gt;
&amp;gt;&amp;gt;DUR http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 3780000&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PLAYBACK&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о прогрессе проигранного контента (сколько процентов проигралось).&lt;br /&gt;
:Данная команда особенно важна, когда идет прогрывание рекламных роликов - переход к основному контенту происходит только после того, как движок получил команду PLAYBACK 100 (т.е. после того, как клиент полностью проиграл рекламный ролик) &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;PLAYBACK &amp;#039;&amp;#039;video_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;event&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;video_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на видео, которая была отправлена клиенту после окончания пребуферизации в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;event&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: одно из указанных событий:&lt;br /&gt;
** 0: начало проигрывания&lt;br /&gt;
** 25: проиграно 25% видео&lt;br /&gt;
** 50: проиграно 50% видео&lt;br /&gt;
** 75: проиграно 75% видео&lt;br /&gt;
** 100: проиграно 100% видео (воспроизведение завершено)&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 0&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 25&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 50&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 75&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 100&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Отправка событий движку. С помощью этого сообщения клиент может отправлять движку события, касающиеся действий пользователя относительно воспроизведения контента (поставил на паузу, перемотал и т.п.)&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT &amp;#039;&amp;#039;event_name&amp;#039;&amp;#039; [param1=value1 [param2=value2] ...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;event_name&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: название события. Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;play&amp;lt;/tt&amp;gt; - начало воспроизведения либо продолжение после паузы&lt;br /&gt;
** &amp;lt;tt&amp;gt;pause&amp;lt;/tt&amp;gt; - пользователь поставил воспроизведение на паузу&lt;br /&gt;
** &amp;lt;tt&amp;gt;stop&amp;lt;/tt&amp;gt; - остановка воспроизведения&lt;br /&gt;
** &amp;lt;tt&amp;gt;seek&amp;lt;/tt&amp;gt; - пользователь осуществил перемотку. Для этого события необходимо отправлять параметр &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;, в котором указывается позиция в секундах&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;EVENT play&lt;br /&gt;
&amp;gt;&amp;gt;EVENT pause&lt;br /&gt;
&amp;gt;&amp;gt;EVENT seek position=1487&lt;br /&gt;
&amp;gt;&amp;gt;EVENT stop&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====События от движка к клиенту====&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STATE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Информация о текущем статусе движка&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATE &amp;#039;&amp;#039;state_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;state_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: состояние движка:&lt;br /&gt;
** 0 (IDLE) - движок ничего не делает&lt;br /&gt;
** 1 (PREBUFFERING) - началась пребуферизация&lt;br /&gt;
** 2 (DOWNLOADING) - идет загрузка контента в обычном режиме&lt;br /&gt;
** 3 (BUFFERING) - началась буферизация&lt;br /&gt;
** 4 (COMPLETED) - загрузка контента завершена&lt;br /&gt;
** 5 (CHECKING) - выполняется инициализация перед началом загрузки&lt;br /&gt;
** 6 (ERROR) - ошибка&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;STATE 0&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;INFO&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Отобразить текстовое сообщение пользователю.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;INFO &amp;#039;&amp;#039;message_id&amp;#039;&amp;#039;;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: числовой идентификатор сообщения&lt;br /&gt;
** 1: сообщение &amp;quot;На данный момент нет активных пиров&amp;quot; (отправляется в том случае, если в течение минуты после начала загрузки не удалось найти ни одного пира)&lt;br /&gt;
** 2: сообщение &amp;quot;Рекламный блок&amp;quot; (отправляется после начала воспроизведения рекламного ролика).&lt;br /&gt;
** 3: сообщение &amp;quot;Основной контент&amp;quot; (отправляется после начала воспроизведения основного контента).&lt;br /&gt;
** 0: другое сообщение (текст сообщения берется из параметра &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: текст сообщения, которое необходимо отобразить&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;INFO 1;Cannot find active peers&lt;br /&gt;
&amp;lt;&amp;lt;INFO 2;Advertising video&lt;br /&gt;
&amp;lt;&amp;lt;INFO 3;Main content&lt;br /&gt;
&amp;lt;&amp;lt;INFO 0;Display some message&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STATUS&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное сообщение отправляется периодически для информирования клиента о текущем статусе загрузки контента. Основное назначение этого сообщение - дать клиенту возможность отображать пользователю о том, что сейчас происходит на движке.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS &amp;#039;&amp;#039;status_string&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status_string&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - строка описанного ниже формата&lt;br /&gt;
&lt;br /&gt;
Если идет проигрывание основного контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS main:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если идет проигрывание рекламного ролика (рекламный ролик и основной контент описываются отдельно; например, рекламный ролик уже полность загружен, а основной контент проходит стадию пребуферизации):&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS main:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;|ad:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Возможные значения &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status_description:&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок ничего не делает - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;idle&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок загружает транспортный файл (обрабатывает команду &amp;lt;tt&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;) - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;loading&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок выполняет предварительную инициализацию воспроизведения (движок переходит в это состояние после получения команды &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; от клиента) - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;starting&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* ошибка - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;err;error_id;error_message&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; (код и описание)&lt;br /&gt;
* проверка - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;check;progress&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* пребуферизация - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;prebuf;progress;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* контент загружается либо уже полностью загружен - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;dl&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* буферизация - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;buf;progress;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* ожидание достаточной скорости - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;wait;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ко всем &amp;lt;tt&amp;gt;status_string&amp;lt;/tt&amp;gt; (кроме &amp;lt;tt&amp;gt;idle, loading, starting, err, check&amp;lt;/tt&amp;gt;) добавляются общие данные:&lt;br /&gt;
 &amp;lt;tt&amp;gt;total_progress;immediate_progress;speed_down;http_speed_down;speed_up;peers;http_peers;downloaded;http_downloaded;uploaded&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;total_progress&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сколько всего закачано по данному файлу&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;immediate_progress&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сколько непрерывных данных закачано начиная с текущей позиции (для отображения кол-ва закачанного в бегунке)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;speed_down&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скорость загрузки (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_speed_down&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скорость загрузки от прямых http-источников (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;speed_up&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скороть отдачи (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;peers&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - количество подсоединенных пиров&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_peers&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - количество подсоединенных прямых http-источников&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;downloaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем загруженных данных (байт)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_downloaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем загруженных по http данных (байт)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;uploaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем отданных данных (байт)&lt;br /&gt;
&lt;br /&gt;
Все числа передаются как integer.&lt;br /&gt;
&lt;br /&gt;
Все progress принимают значение от 0 до 100.&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Движок ничего не делает:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
&lt;br /&gt;
Загружается транспортный файл:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:loading&lt;br /&gt;
&lt;br /&gt;
Инициализация воспроизведения:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:starting&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 0%, еще нет подсоединенных пиров:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;0;2147483648;0;0;0;0;0;0;0;0;0;0;&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 20%, скорость загрузки 328 Кбайт/с, подсоединено 7 пиров, загружено 5505024 байт:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 90%, скорость загрузки 420 Кбайт/с, подсоединено 9 пиров, загружено 11659264байт:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;90;3299;1;0;420;0;0;9;0;11659264;0;0&lt;br /&gt;
&lt;br /&gt;
Идет загрузка контента, загружен 1%, скорость загрузки 442 Кбайт/с, подсоединено 10 пиров, загружено 13920256:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:dl;1;0;442;0;0;10;0;13920256;0;0&lt;br /&gt;
&lt;br /&gt;
Рекламный ролик полность загружен и воспроизводится, основной контент пребуферизируется (20%):&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0|ad:dl;100;0;0;0;0;0;0;13920256;0;0&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Пример трансформации статусов в текстовые сообщения, понятные пользователю&lt;br /&gt;
 &amp;lt;tt&amp;gt;check - Проверка xx%&lt;br /&gt;
 prebuf - Пребуферизация xx%&lt;br /&gt;
 buf - Буферизация xx%&lt;br /&gt;
 wait - Ожидание достаточной скорости&lt;br /&gt;
 err - выводим сообщение об ошибке&lt;br /&gt;
 loading - Загрузка...&lt;br /&gt;
 starting - Запуск...&lt;br /&gt;
 dl, idle - ничего не выводим&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;AUTH&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Уровень доступа пользователя &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;AUTH &amp;#039;&amp;#039;user_auth_level&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;user_auth_level&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: уровень доступа пользователя&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Пользователь не зарегистрирован:&lt;br /&gt;
&amp;lt;&amp;lt;AUTH 0&lt;br /&gt;
&lt;br /&gt;
Пользователь зарегистрирован:&lt;br /&gt;
&amp;lt;&amp;lt;AUTH 1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT getuserdata&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок запрашивает у клиента данные пользователя (пол и возрастную группу). Такой запрос приходит при попытке что-либо проиграть, если данные о пользователе не были переданы ранее (т.е. фактически при первом после установки просмотре в ответ на команду &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;).&lt;br /&gt;
:При получении этого события клиент должен запросить данные у пользователя, затем отправить их движку командой &amp;lt;tt&amp;gt;USERDATA&amp;lt;/tt&amp;gt; и начать воспроизведение командой &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT getuserdata&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;EVENT getuserdata&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное событие информирует клиента о том, что контент может быть сохранен на диске в указанном пользователем месте. Например, при получении данного события клиент может отобразить кнопку &amp;quot;Сохранить&amp;quot; в пользовательском интерфейсе. При нажатии на кнопку пользователь должен будет выбрать, куда сохранять контент, после чего клиент отправит движку команду &amp;lt;tt&amp;gt;SAVE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT cansave infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; index=&amp;#039;&amp;#039;index&amp;#039;&amp;#039; format=&amp;#039;&amp;#039;format&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - infohash контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - номер файла, который можно сохранить&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;format&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - формат файла, в котором будет сохранен контент. Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;plain&amp;lt;/tt&amp;gt; - файл будет сохранен в незашифрованном виде&lt;br /&gt;
** &amp;lt;tt&amp;gt;encrypted&amp;lt;/tt&amp;gt; - файл будет сохранен в зашифрованном виде (файл должен иметь расширение .acemedia). Зашифрованные файлы могут быть воспроизведены только с помощью программного обеспечение ACE Stream (с помощью команды &amp;lt;tt&amp;gt;START EFILE&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Параметры &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; клиент может использовать в команде &amp;lt;tt&amp;gt;SAVE&amp;lt;/tt&amp;gt;, если пользователь решит сохранить контент.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Доступен для сохранения файл под номером 0, файл может быть сохранен в открытом виде:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT cansave infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 format=plain&lt;br /&gt;
&lt;br /&gt;
Файл может быть сохранен только в зашифрованном виде:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT cansave infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 format=encrypted&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT showurl&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент должен отобразить встроенный браузер и загрузить указанную ссылку. В случае, если клиент не имеет встроенного браузера, это событие можно проигнорировать.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT showurl type=&amp;#039;&amp;#039;type&amp;#039;&amp;#039; url=&amp;#039;&amp;#039;url&amp;#039;&amp;#039; [width=&amp;#039;&amp;#039;width&amp;#039;&amp;#039;] [height=&amp;#039;&amp;#039;height&amp;#039;&amp;#039;]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;type&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - тип запроса (причина, по которой движок просит отобразить браузер). Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;ad&amp;lt;/tt&amp;gt;: отобразить рекламу (такой запрос приходит в ответ на команду &amp;lt;tt&amp;gt;GETADURL&amp;lt;/tt&amp;gt;)&lt;br /&gt;
** &amp;lt;tt&amp;gt;notification&amp;lt;/tt&amp;gt;: отобразить пользователю страницу-уведомление. Такой запрос используется в том случае, если пользователя необходимо уведомить о чем-то и уведомление потребует от пользователя каких-либо действий (например, если доступ к контенту открыт только для зарегистрированных пользователей, то клиенту будет отослана ссылка на страницу, на которой пользователь сможет зарегистрироваться). Такие запросы дублируются событием &amp;lt;tt&amp;gt;INFO&amp;lt;/tt&amp;gt; для того, чтобы клиенты без встроенного браузера могли отобразить пользователю текстовое уведомление.&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - ссылка на страницу, которую необходимо отобразить&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;width&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - ширина страницы (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;height&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - высота страницы (в пикселях)&lt;br /&gt;
&lt;br /&gt;
Если размеры окна браузера, передаваемые в параметрах &amp;lt;tt&amp;gt;width&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;, больше размера окна клиента, то клиент должен отобразить браузер на все окно.&lt;br /&gt;
&lt;br /&gt;
Если параметры &amp;lt;tt&amp;gt;width&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt; отсутствуют либо равны нулю, клиент должен отобразить браузер на все окно.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Показать рекламную страницу с адресом http://ad.example.com в браузере с размером окна 400x250 пикселей:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT showurl type=ad url=http://ad.example.com width=400 height=250&lt;br /&gt;
&lt;br /&gt;
Отобразить на все окно браузер со страницой http://www.example.com/notification:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT showurl type=notification url=http://www.example.com/notification&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT livepos&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
Описание скоро будет&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT download_stopped&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия движка&lt;br /&gt;
:&amp;gt;= 3003600&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное событие информирует клиента о причине остановки воспроизведения контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT download_stopped reason=&amp;#039;&amp;#039;reason&amp;#039;&amp;#039; option=&amp;#039;&amp;#039;option&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;reason&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - причина остановки; возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;missing_option&amp;lt;/tt&amp;gt;: не активирована платная опция, необходимая для воспроизведения данного контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;option&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - идентификатор платной опции&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Воспроизведение остановлено, так как у пользователя отсутствует активированная платная опция proxyServer:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;gt;&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сообщения от клиента к движку&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;&amp;lt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сообщения от движка к клиенту&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Проигрывание торрент-файла по ссылке без рекламных роликов===&lt;br /&gt;
(необходимость проигрывания рекламных роликов определяет движок).&lt;br /&gt;
&lt;br /&gt;
Для загрузки содержимого торрента используется асинхронная команда LOADASYNC.&lt;br /&gt;
&lt;br /&gt;
Торрент файл содержит один видео-файл.&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент готов принимать сообщения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
пользователю доступны расширенные функции&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;AUTH 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
загрузить торрент по ссылке&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;LOADASYNC 467763 TORRENT http://rutor.org/download/67346 0 0 0&lt;br /&gt;
 &amp;lt;&amp;lt;LOADRESP 467763 {&amp;quot;status&amp;quot;: 1, &amp;quot;files&amp;quot;: &amp;lt;nowiki&amp;gt;[[&amp;quot;Prey%202_%20E3%202011%20Official%20Trailer_2.mp4&amp;quot;, 0]]&amp;lt;/nowiki&amp;gt;, &amp;quot;infohash&amp;quot;:  &lt;br /&gt;
 &amp;quot;4c78e1cf0df23b4f5a16a106829ebed710cb52e0&amp;quot;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
узнать код плеера (например, чтобы показать его пользователю)&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;GETPID 4c78e1cf0df23b4f5a16a106829ebed710cb52e0 0 0 0&lt;br /&gt;
 &amp;lt;&amp;lt;##36ae4c89ab45b4010b1461c513da38d007356195&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
начать пребуферизацию видео&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START TORRENT http://rutor.org/download/67346 0 0 0 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
идет процесс пребуферизации&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;2147483447;0;0;0;0;0;0;0;0;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;2132;0;0;29;0;0;8;0;131072;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;8;942;0;0;60;0;0;9;0;393216;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;50;591;0;0;87;0;0;8;0;835584;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;75;497;0;0;98;0;0;8;0;1146880;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;91;448;0;0;105;0;0;8;0;1441792;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
пребуферизация завершена, клиент получает ссылку для проигрывания контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;PLAY http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент отправляет длительность контента (~201 секунда)&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;DUR http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 201964&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент информирует о том, что началось проигрывание&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
движок загружает контент&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATUS main:dl;0;0;110;0;0;8;0;1622016;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;128;0;0;8;0;2965504;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;130;0;0;8;0;3129344;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
движку недостаточно данных для проигрывания, начинает буферизация&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;PAUSE&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 3&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;0;315;0;0;130;0;0;8;0;3260416;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;90;299;0;0;133;0;0;8;0;3866624;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;90;278;0;0;138;0;0;8;0;4390912;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
буферизация завершена&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;RESUME&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;141;0;0;8;0;4898816;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 25% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 25&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;141;0;0;8;0;4898816;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;146;0;0;7;0;8388608;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 50% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 50&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;145;0;0;7;0;9404416;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 75% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 75&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;146;0;0;7;0;9568256;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
остановить загрузку контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;STOP&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
разорвать соединение&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;SHUTDOWN&lt;br /&gt;
 &amp;lt;&amp;lt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ошибка запуска воспроизведения, отсутствует необходимая платная опция proxyServer===&lt;br /&gt;
&amp;lt;div id=&amp;quot;example-missing-option-on-start&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
В этом примере описана ситуация, когда движок не может начать воспроизведение, так как для этого требуется наличие у пользователя активированной платной опции.&lt;br /&gt;
&lt;br /&gt;
В случае отсутствия платной опции необходимо уведомить пользователя о необходимости приобрести данную опцию. Это может сделать либо клиент, либо движок. Если клиент хочет самостоятельно уведомить пользователя, он должен сообщить движку о готовности получать событие &amp;lt;tt&amp;gt;download_stopped&amp;lt;/tt&amp;gt; с помощью команды &amp;lt;tt&amp;gt;SETOPTIONS&amp;lt;/tt&amp;gt;. Если клиент этого не сделал, то движок самостоятельно уведомит пользователя (открыв окно либо страницу в браузере).&lt;br /&gt;
&lt;br /&gt;
Первый пример описывает ситуацию, когда клиент не хочет уведомлять пользователя (в этом сценарии уведомление пользователю выдаст движок):&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ошибка старта&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:err;0;You need to buy Proxy Server option to continue&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Второй пример описывает ситуацию, когда клиент хочет уведомлять пользователя:&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&lt;br /&gt;
 &amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ошибка старта&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Воспроизведение прервано, так как отсутствует необходимая платная опция proxyServer===&lt;br /&gt;
&lt;br /&gt;
Этот сценарий отличается от предыдущего тем, что воспроизведение начинается, но через некоторое время после старта останавливается по причине отсутствия платной опции.&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&lt;br /&gt;
 &amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;0;0;0;8;0;0;1;0;16384;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6d12f958332ef0bd258053ba1afd833ddf9b74f9/0.289607197304 stream=1&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
некоторое время воспроизведения идет без остановки&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATUS main:dl;0;0;832;0;0;1;0;2392064;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;1339;0;8;3;0;5242880;0;65536&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;1165;0;18;3;0;5767168;0;163840&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977941 live_first=1448976141 pos=1448977941 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976141 last_ts=1448977941 is_live=1 live_last=1448977941 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;396;0;175;4;0;35127296;0;10534912&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448978010 live_first=1448976210 pos=1448978010 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976210 last_ts=1448978010 is_live=1 live_last=1448978010 buffer_pieces=15&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
остановка воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&lt;br /&gt;
 &amp;lt;&amp;lt;STOP&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:err;0;Download stopped&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Engine_API&amp;diff=680</id>
		<title>Engine API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Engine_API&amp;diff=680"/>
		<updated>2018-09-03T09:05:36Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* PLAYBACK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Общие понятия==&lt;br /&gt;
ACE Stream Engine (далее - &amp;quot;движок&amp;quot;) - приложение, которое обеспечивает весь функционал системы ACE Stream. Данное приложение работает в фоновом режиме и имеет минимальный графический интерфейс для изменения различных настроек.&lt;br /&gt;
&lt;br /&gt;
ACE Stream Engine API (далее - API) - программный интерфейс, позволяющий сторонним приложениям работать с движком. Под сторонними приложениями, как правило, подразумеваются медиа плееры, работающие с системой ACE Stream.&lt;br /&gt;
&lt;br /&gt;
Клиент - стороннее приложение, которое работает с движком посредством API.&lt;br /&gt;
&lt;br /&gt;
==Схема работы API==&lt;br /&gt;
Обмен данными с движком происходит по протоколу TCP. Общая схема работы выглядит так:&lt;br /&gt;
* клиент устанавливает TCP-соединение с движком&lt;br /&gt;
* клиент и движок обмениваются рукопожатиями&lt;br /&gt;
* клиент и движок обмениваются сообщениями&lt;br /&gt;
* одна из сторон завершает соединение&lt;br /&gt;
&lt;br /&gt;
===Установление соединения===&lt;br /&gt;
Для установления соединения клиент должен знать порт, на котором работает API движка. Методы определения порта зависят от операционной системы, на которой запущен движок.&lt;br /&gt;
&lt;br /&gt;
На Linux используется фиксированный порт: 62062&lt;br /&gt;
&lt;br /&gt;
На Windows используется динамический порт. Движок после запуска создает файл acestream.port в директории, в которой находится сам движок (файл tsengine.exe), и записывает в данный файл порт, на котором работает API. Для того, чтобы узнать порт, клиент должен прочитать указанный файл. Отсутствие данного файла указывает на то, что движок в не запущен. Путь к папке, в которую устанавливается движок, можно считать из реестра:&lt;br /&gt;
 &amp;lt;tt&amp;gt;HKEY_CURRENT_USER\Software\TorrentStream\EnginePath&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ключ &amp;lt;tt&amp;gt;EnginePath&amp;lt;/tt&amp;gt; содержит абсолютный путь к исполняемому файлу движка (tsengine.exe). По умолчанию это &amp;lt;tt&amp;gt;%APPDATA%\TorrentStream\engine\tsengine.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм установления соединения (Windows):&lt;br /&gt;
# считать из реестра ключ &amp;lt;tt&amp;gt;HKEY_CURRENT_USER\Software\TorrentStream\EnginePath&amp;lt;/tt&amp;gt;&lt;br /&gt;
## если ключ отсутствует - движок не установлен&lt;br /&gt;
## запомнить путь к исполняемому файлу движка (engine_path) и директории движка (engine_dir)&lt;br /&gt;
# считать содержимое файла engine_dir/acestream.port и запомнить порт&lt;br /&gt;
# если данный файл отсутствует - запустить движок, дождаться создания файла acestream.port и считать его содержимое&lt;br /&gt;
# установить TCP-соединение на localhost на указанный порт&lt;br /&gt;
# если не получилось установить соединение - движок не запущен и его нужно запустить&lt;br /&gt;
# обменяться рукопожатием и начать обмен сообщениями&lt;br /&gt;
&lt;br /&gt;
Алгоритм установления соединения (Linux):&lt;br /&gt;
# установить TCP-соединение на localhost на порт 62062&lt;br /&gt;
# если не получилось установить соединение - движок не запущен и его нужно запустить (&amp;lt;tt&amp;gt;/usr/bin/acestreamengine-client-gtk&amp;lt;/tt&amp;gt;)&lt;br /&gt;
# обменяться рукопожатием и начать обмен сообщениями&lt;br /&gt;
&lt;br /&gt;
===Рукопожатие===&lt;br /&gt;
После установления соединения клиент и движок должны обменяться рукопожатием:&lt;br /&gt;
* клиент отсылает сообщение&lt;br /&gt;
 &amp;lt;tt&amp;gt;HELLOBG version=&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок отсылает в ответ&lt;br /&gt;
 &amp;lt;tt&amp;gt;HELLOTS version=&amp;#039;&amp;#039;engine_version&amp;#039;&amp;#039; version_code=&amp;#039;&amp;#039;version_code&amp;#039;&amp;#039; key=&amp;#039;&amp;#039;request_key&amp;#039;&amp;#039; http_port=&amp;#039;&amp;#039;http_port&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждое сообщение должно завершаться символами перевода строки CRLF (\r\n)&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;api_version&amp;#039;&amp;#039;&lt;br /&gt;
: версия API, которую поддерживает клиент. Этот параметр служит для поддержки обратной совместимости новых версий движка со старыми клиентами. Если клиент не указал версию, по умолчанию используется версия 1. Для всех сообщений API в документации указано, начиная с какой версии они поддерживаются.&lt;br /&gt;
&lt;br /&gt;
 Текущая версия API - 3&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;engine_version&amp;#039;&amp;#039;&lt;br /&gt;
: версия движка (например, 2.0.8)&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;version_code&amp;#039;&amp;#039;&lt;br /&gt;
: цифровой код версии движка (например, 3003400); клиент должен использовать этот код для сравнения версий движка; код каждой новой версии всегда больше всех кодов предыдущих версий&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;request_key&amp;#039;&amp;#039;&lt;br /&gt;
:используется для авторизации клиента с помощью [[Product key|ключа продукта]]&lt;br /&gt;
&lt;br /&gt;
;&amp;#039;&amp;#039;http_port&amp;#039;&amp;#039;&lt;br /&gt;
:порт, на котором работает встроенный HTTP сервер движка&lt;br /&gt;
&lt;br /&gt;
Если клиент в течение некоторого времени после отправки рукопожатия не получил ответ, соединение необходимо завершить.&lt;br /&gt;
&lt;br /&gt;
После получения команды &amp;lt;tt&amp;gt;HELLOTS&amp;lt;/tt&amp;gt; от движка клиент должен отослать такую команду:&lt;br /&gt;
 &amp;lt;tt&amp;gt;READY key=&amp;#039;&amp;#039;response_key&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Формирование &amp;lt;tt&amp;gt;response_key&amp;lt;/tt&amp;gt; описано [[Product_key|здесь]].&lt;br /&gt;
&lt;br /&gt;
===Обмен сообщениями===&lt;br /&gt;
Каждое сообщение представляет собой ASCII-строку, которая завершается символами перевода строки &amp;lt;tt&amp;gt;CRLF&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;\r\n&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Примерный алгоритм приема сообщений выглядит таким образом:&lt;br /&gt;
* клиент в цикле ждет поступления данных по TCP-соединению&lt;br /&gt;
* при получении данных они добавляются в буфер&lt;br /&gt;
* клиент проверяет, есть ли в буфере символы CRLF. Если есть, то из буфера вырезается сообщение (строка от начала буфера до символов CRLF) и отправляется в обработчик сообщений&lt;br /&gt;
* клиент должен учитывать возможность получения нескольких сообщений одновременно (т.е. повторять предыдущий шаг, пока в буфере не будет символов CRLF)&lt;br /&gt;
&lt;br /&gt;
===Завершение соединения===&lt;br /&gt;
Движок при завершении работы отправляет команду &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt; и закрывает сокет. При получении данной команды клиент должен прекратить обработку команд и закрыть свой сокет.&lt;br /&gt;
&lt;br /&gt;
То же самое должен делаь клиент при закрытии - перед закрытием отослать движку команду &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Сообщения==&lt;br /&gt;
&lt;br /&gt;
===Типы сообщений===&lt;br /&gt;
Все сообщения условно делятся на две группы: команды и события.&lt;br /&gt;
&lt;br /&gt;
Команды подразумевают выполнение какого-либо действия от принимающей стороны. Например, командой &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; клиент просит движок начать пребуферизацию указанного контента.&lt;br /&gt;
&lt;br /&gt;
События носят информационный характер. Например, событие &amp;lt;tt&amp;gt;STATUS&amp;lt;/tt&amp;gt; информирует клиента о статусе загрузки (идет ли в данный момент пребуферизация, буферизация, какая скорость загрузки и т.д.)&lt;br /&gt;
&lt;br /&gt;
===Синхронные команды===&lt;br /&gt;
Практически все команды являются асинхронными, т.е. не предполагают наличие ответа от другой стороны.&lt;br /&gt;
&lt;br /&gt;
Исключением являются две команды:&lt;br /&gt;
* &amp;lt;tt&amp;gt;LOAD&amp;lt;/tt&amp;gt; (сихронная загрузка информации о потоке)&lt;br /&gt;
* &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; (получение Content ID для потока)&lt;br /&gt;
&lt;br /&gt;
Для этих команд есть понятие ответа на команду. Ответ передается в виде строки, которая начинается на ##.&lt;br /&gt;
&lt;br /&gt;
Алгоритм обработки синхронных команд такой:&lt;br /&gt;
* клиент отправляет движку синхронную команду (например, &amp;lt;tt&amp;gt;GETCID 4c78e1cf0df23b4f5a16a106829ebed710cb52e0 0 0 0&amp;lt;/tt&amp;gt;) и ждет данных от движка&lt;br /&gt;
* когда от движка приходят данные, клиент проверяет, начинается ли полученный ответ на ## (например, &amp;lt;tt&amp;gt;##36ae4c89ab45b4010b1461c513da38d007356195&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* если это так, то строка от символов ## до CRLF является ответом на синхронную команду (причем ответ может быть пустой, т.е. выглядеть так: &amp;lt;tt&amp;gt;##&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* если нет, значит ответ на команду не может быть получен&lt;br /&gt;
&lt;br /&gt;
 Мы не рекомендуем использовать синхронную команду &amp;lt;tt&amp;gt;LOAD&amp;lt;/tt&amp;gt;, так как она подразумевает блокирование потока на стороне клиента.&lt;br /&gt;
 Эта команда является устаревшей и вместо нее следует использовать асинхронную версию &amp;lt;tt&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ на команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; приходит практически мгновенно, поэтому ее использование не приводит к блокированию. Однако есть одно замечание по использованию данной команды:&lt;br /&gt;
 Команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt; не следует отправлять, если движок находится в состоянии &amp;lt;tt&amp;gt;starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Список сообщений===&lt;br /&gt;
В примерах сообщения от клиента к движку отмечены &amp;gt;&amp;gt;, от движка к клиенту - &amp;lt;&amp;lt;&lt;br /&gt;
&lt;br /&gt;
====Команды от клиента к движку====&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;READY&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Информирует движок о том, что клиент готов принимать команды. Это должна быть первая команда после рукопожатия.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;READY&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;READY&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Получить описание контента по идентификатору. Идентификатором может быть content id, ссылка на транспортный файл (.torrent, .acelive), инфохеш транспортного файла и т.п. Описание представляет &lt;br /&gt;
&lt;br /&gt;
собой список названий файлов либо потоков, которые содержатся в транспортном файле. Основное назначение этой команды - возможность сформировать и показать пользователю плейлист.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; TORRENT &amp;#039;&amp;#039;url&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; INFOHASH &amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; RAW &amp;#039;&amp;#039;data&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 LOADASYNC &amp;#039;&amp;#039;request_id&amp;#039;&amp;#039; PID &amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;request_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: случайное целое число - идентификатор запроса LOADASYNC; этот же идентификатор будет отослан клиенту в команде LOADRESP после того,как будет получен список файлов; данный &lt;br /&gt;
&lt;br /&gt;
идентификатор служит для того, чтобы клиент в случае отправки нескольких запросов LOADASYNC точно знал, на какой из этих запросов получен ответ &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на транспортный файл&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: содержимое транспортного файла в кодировке base64&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: идентификатор контента в системе ACE Stream (Content ID)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
&lt;br /&gt;
;Формат ответа&lt;br /&gt;
:Ответ приходит в формате JSON со следующими полями:&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
** 0 - транспортный файл не содержит аудио/видео файлов&lt;br /&gt;
** 1 - транспортный файл содержит один аудио/видео файл&lt;br /&gt;
** 2 - транспортный файл содержит более одного аудио/видео файла&lt;br /&gt;
** 100 - ошибка получения данных&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;files&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: список файлов/потоков; это массив, каждый элемент в котором состоит из массива из двух элементов: первый - название файла, второй - позиция в транспортном файле (эта позиция &lt;br /&gt;
&lt;br /&gt;
должна отправляться в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; для указания, какой именно файл необходимо загружать, если их несколько)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: хешсумма транспортного файла&lt;br /&gt;
&lt;br /&gt;
:Параметры &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; клиенту нужны для того, чтобы в дальнейшем получить Content ID с помощью команды &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Названия файлов возвращаются в виде urlencoded строк в кодировке UTF-8&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Загрузить контент по Content ID:&lt;br /&gt;
&amp;gt;&amp;gt;LOADASYNC 126500 PID 1ccf192064ee2d95e91a79f91c6097273d582827&lt;br /&gt;
&lt;br /&gt;
В ответ клиент получает от движка:&lt;br /&gt;
&amp;lt;&amp;lt;LOADRESP 126500 {&lt;br /&gt;
  &amp;quot;status&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;files&amp;quot;: [[&amp;quot;sintel-1024-surround.mp4&amp;quot;, 0]],&lt;br /&gt;
  &amp;quot;infohash&amp;quot;: &amp;quot;5410b27fc567c35c8547e3b69b141215ce3a1fd7&amp;quot;,&lt;br /&gt;
  &amp;quot;checksum&amp;quot;: &amp;quot;504275dd71a32d51c63c45ced37807751f5ccfa2&amp;quot;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;START&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Начать проигрывание указанного контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;START TORRENT &amp;#039;&amp;#039;url&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;stream_id&amp;#039;&amp;#039;&lt;br /&gt;
 START INFOHASH &amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START PID &amp;#039;&amp;#039;content_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039;&lt;br /&gt;
 START RAW &amp;#039;&amp;#039;data&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START URL &amp;#039;&amp;#039;direct_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039; &amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; &amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&lt;br /&gt;
 START EFILE &amp;#039;&amp;#039;efile_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на транспортный файл&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;content_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: идентификатор контента в системе ACE Stream (Content ID)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: содержимое транспортного файла в кодировке base64&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;direct_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: прямая http-ссылка на контент (для проигрывания без транспортного файла)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;efile_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на acemedia-файл (зашифрованный медиа-файл, который можно воспроизвести с помощью ПО ACE Stream)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;file_indexes&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: список индексов файлов из торрент-файла, которые необходимо загружать. Индексы файлов клиент получает в сообщении LOADRESP разделенных запятой. Индексы начинаются с нуля и соответствуют списку файлов, который был получен в результате выполнения команды LOAD. Например, если в торрент-файле всего один видео-файл, то необходимо отправлять индекс 0. &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;stream_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: номер потока для multi-stream файлов (значение клиент получает из сообщения LOADRESP)&lt;br /&gt;
&lt;br /&gt;
Если необходимо в параметрах передать ссылку на файл, который находится в локальной файловой системе, следует использовать формат file:///path/to/file.&lt;br /&gt;
&lt;br /&gt;
;Примеры:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Начать проигрывание по ссылке на транспортный файл:&lt;br /&gt;
&amp;gt;&amp;gt;START TORRENT http://rutor.org/download/67346 0 0 0 0&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание по Content ID:&lt;br /&gt;
START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание acemedia-файла c:\acestream\test.acemedia:&lt;br /&gt;
START EFILE file%3A%2F%2F%2Fc%3A%5Cacestream%5Ctest.acemedia&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======&amp;lt;span id=&amp;quot;transcode_settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Настройки транскодирования======&lt;br /&gt;
Начиная с версии 3.1.5 есть возможность задавать формат вывода потока и параметры транскодирования аудио. &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;output_format=hls|http&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: формат вывода потока&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_audio=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать все аудио в AAC&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_mp3=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать MP3 (данная опция применима только если transcode_audio=1)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;transcode_ac3=0|1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: транскодировать только AC3 в AAC (данная опция применима только если transcode_audio=0)&lt;br /&gt;
&lt;br /&gt;
:В версии 3.1.5 данные настройки касаются только live-потоков.&lt;br /&gt;
:Если оригинал потока вещается в формате HLS, то формат вывода будет HLS независимо от настроек.&lt;br /&gt;
:Настройки транскодирования аудио влияют только на выдачу в формате HLS (по HTTP всегда выдается оригинальный поток)&lt;br /&gt;
:Если настройки формата вывода или транскодирования не передаются в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;, то используются настройки, заданные пользователем на движке&lt;br /&gt;
&lt;br /&gt;
;Примеры:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Запустить в формате HLS:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls&lt;br /&gt;
&lt;br /&gt;
Запустить в формате HLS, транскодировать все аудио-кодеки в AAC:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=1&lt;br /&gt;
&lt;br /&gt;
Запустить в формате HLS, транскодировать все аудио-кодеки, кроме MP3, в AAC:&lt;br /&gt;
&amp;gt;&amp;gt; START PID 1ccf192064ee2d95e91a79f91c6097273d582827 0 output_format=hls transcode_audio=1 transcode_mp3=0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STOP&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Остановить воспроизведение и загрузку&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STOP&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;STOP&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETPID&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:1&lt;br /&gt;
 Эта команда устарела и больше не используется. Вместо нее следует использовать команду &amp;lt;tt&amp;gt;GETCID&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETCID&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Получение кода плеера по набору параметров. Эта команда является синхронной командой (см.ниже). В ответ отправляется код плеера, либо пустая строка, если код плеера не может быть получен &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;GETCID checksum=&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039; infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; developer=&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039; affiliate=&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039; zone=&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;checksum&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: хешсумма транспортного файла (значение клиент из команды LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: инфохеш транспортного файла (значение клиент из команды LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;developer_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код разработчика (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;affiliate_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код партнера (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;zone_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: код зоны партнера (если неизвестно, необходимо передавать 0 либо не передавать данный параметр) &lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;GETCID infohash=bc57456ca38b365477e07fa7e912693a7adc57da checksum=888e9891f82a045ea639256b468041fb8c9ac315 developer=0 affiliate=0 zone=0&lt;br /&gt;
&amp;lt;&amp;lt;##68dba76ad7d0b9992581bf72f7835a0de4f84234&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;GETADURL&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Запрос к движку на получение ссылки на рекламную страницу. Данную команду могут использовать клиенты, которые имеют возможность отображать встроенный браузер в плеере, для того, чтобы показывать пользователям рекламу перед началом проигрывания контента либо когда пользователь нажимает паузу. Если движок определит, что есть доступная к показу реклама, то после получения этой команды отправит клиенту событие &amp;lt;tt&amp;gt;EVENT showurl&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;GETADURL width=&amp;#039;&amp;#039;width&amp;#039;&amp;#039; height=&amp;#039;&amp;#039;height&amp;#039;&amp;#039; infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; action=&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;width&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ширина видео окна клиента (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;height&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: высота видео окна клиента (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: infohash текущего контента (значение клиент получает из сообщения LOADRESP)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: описание события, возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;load&amp;lt;/tt&amp;gt; - загрузка (клиент загрузился, готов к проигрыванию, но пользователь еще не начала проигрывание)&lt;br /&gt;
** &amp;lt;tt&amp;gt;pause&amp;lt;/tt&amp;gt; - пользователь нажал паузу&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;GETADURL width=1328 height=474 infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 action=load&lt;br /&gt;
&amp;gt;&amp;gt;GETADURL width=1328 height=474 infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 action=pause&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;USERDATA&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данная команда используется для передачи движку информации о пользователе. Информация передается в формате JSON.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;USERDATA [{&amp;quot;gender&amp;quot;: &amp;#039;&amp;#039;gender_id&amp;#039;&amp;#039;}, {&amp;quot;age&amp;quot;: &amp;#039;&amp;#039;age_id&amp;#039;&amp;#039;}]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;gender_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: пол пользователя. Возможные значения:&lt;br /&gt;
** 1 - мужчина&lt;br /&gt;
** 2 - женщина&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;age_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: возрастная группа пользователя. Возможные значения:&lt;br /&gt;
** 1 - младше 13 лет&lt;br /&gt;
** 2 - 13-17&lt;br /&gt;
** 3 - 18-24&lt;br /&gt;
** 4 - 25-34&lt;br /&gt;
** 5 - 35-44&lt;br /&gt;
** 6 - 45-54&lt;br /&gt;
** 7 - 55-64&lt;br /&gt;
** 8 - старше 64&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;мужчина, от 18 до 24 лет:&lt;br /&gt;
&amp;gt;&amp;gt;USERDATA [{&amp;quot;gender&amp;quot;: 1}, {&amp;quot;age&amp;quot;: 3}]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SAVE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сохранить контент в указанном месте.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SAVE infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; index=&amp;#039;&amp;#039;index&amp;#039;&amp;#039; path=&amp;#039;&amp;#039;path&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - infohash контента, который неободимо сохранить (значение клиент получает из сообщения &amp;lt;tt&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - индекс файла, который необходимо сохранить (значение клиент получает из сообщения &amp;lt;tt&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;path&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - абсолютный путь к файлу, в который необходимо сохранить контент. Если указанный файл не существует, он будет создан. Если существует, файл будет перезаписан. Путь должен передаваться в виде urlencoded строки в кодировке UTF-8.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Сохранить файл с индексом 0 в папку d:\media под названием sintel-1024-surround.mp4&lt;br /&gt;
&amp;gt;&amp;gt;SAVE infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 path=D%3A%2Fmedia%2Fsintel-1024-surround.mp4&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;LIVESEEK&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
Описание скоро будет&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент завершил работу&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;SHUTDOWN&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SETOPTIONS&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия движка&lt;br /&gt;
:&amp;gt;= 3003600&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о наборе опций, которые поддерживает клиент&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SETOPTIONS name1=value1 [name2=value2 ...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:name - название опции&lt;br /&gt;
:value - значение опции&lt;br /&gt;
&lt;br /&gt;
;Список опций&lt;br /&gt;
:use_stop_notifications - клиент хочет получать от движка событие download_stopped с причиной остановки во время проигрывания&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Команды от движка к клиенту====&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PLAY, PLAYAD, PLAYADI&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:1&lt;br /&gt;
 Эти команды устарели и больше не используется. Вместо них следует использовать команду &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;START&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Начать прогрывание контента. Эта команда отправляется после завершения пребуферизации. Движок отсылает плееру http-ссылку, по которой плеер может начать проигрывание контента. Данная ссылка &lt;br /&gt;
&lt;br /&gt;
обрабатывается http-серверов, встроенным в движок.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;START &amp;#039;&amp;#039;url&amp;#039;&amp;#039; [ad=1 [interruptable=1]] [stream=1] [pos=&amp;#039;&amp;#039;position&amp;#039;&amp;#039;]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка для проигрывания&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;ad=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что ссылка &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ведет на рекламный видеоролик, который клиент должен проиграть перед началом воспроизведения основного контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;interruptable=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что должен проиграться прерываемый рекламный ролик&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;stream=1&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: флаг, указывающий на то, что проигрываемый контент является живой трансляцией (Live Stream).&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;position&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: целое число от 0 до 100, которое указывает с какой позиции клиент должен начать проигрывание (например, position=50 означает, что клиент должен начать проигрывание с &lt;br /&gt;
&lt;br /&gt;
позиции 50%, т.е. с середины контента)&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Начать проигрывание контента по указанной ссылке:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/5410b27fc567c35c8547e3b69b141215ce3a1fd7/0.628180567194&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание непрерываемого рекламного ролика:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6081f31fe7f1db2ea7183686b46ba382820df574/0.456623456572 ad=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание прерываемого рекламного ролика:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6081f31fe7f1db2ea7183686b46ba382820df574/0.456623456572 ad=1 interruptable=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание live:&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/553b7d4cfec8974752d386844cb67e0ee64eae05/0.728180367195 stream=1&lt;br /&gt;
&lt;br /&gt;
Начать проигрывание с середины (50%):&lt;br /&gt;
&amp;lt;&amp;lt;START http://127.0.0.1:6878/content/5410b27fc567c35c8547e3b69b141215ce3a1fd7/0.828180567196 pos=50&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PAUSE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок начал буферизацию, клиент по возможности должен остановиться на паузу до получения команды &amp;lt;tt&amp;gt;RESUME&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;PAUSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;PAUSE&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;RESUME&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок завершил буферизацию, клиент может продолжить воспроизведение.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;RESUME&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;RESUME&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STOP&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент должен остановить воспроизведение контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STOP&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;STOP&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок завершил работу&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;SHUTDOWN&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====События от клиента к движку====&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;DUR&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о длительности контента, который в данный момент проигрывается клиентом. Данная команда должна отправлять сразу после того, как клиент определил длительность контента. &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;DUR &amp;#039;&amp;#039;video_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;duration&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;video_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на видео, которая была отправлена клиенту после окончания пребуферизации в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;duration&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: длительность в миллисекундах&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Клиент определить длительность контента: 3780 секунд:&lt;br /&gt;
&amp;gt;&amp;gt;DUR http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 3780000&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;PLAYBACK&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Сообщить движку о прогрессе проигранного контента (сколько процентов проигралось).&lt;br /&gt;
:Данная команда особенно важна, когда идет прогрывание рекламных роликов - переход к основному контенту происходит только после того, как движок получил команду PLAYBACK 100 (т.е. после того, как клиент полностью проиграл рекламный ролик) &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;PLAYBACK &amp;#039;&amp;#039;video_url&amp;#039;&amp;#039; &amp;#039;&amp;#039;event&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;video_url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: ссылка на видео, которая была отправлена клиенту после окончания пребуферизации в команде &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;event&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: одно из указанных событий:&lt;br /&gt;
** 0: начало проигрывания&lt;br /&gt;
** 25: проиграно 25% видео&lt;br /&gt;
** 50: проиграно 50% видео&lt;br /&gt;
** 75: проиграно 75% видео&lt;br /&gt;
** 100: проиграно 100% видео (воспроизведение завершено)&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 0&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 25&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 50&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 75&lt;br /&gt;
&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/5b5ba8c462f4014d8b57377c97d2e13caee52cdd/0.685119063624 100&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Отправка событий движку. С помощью этого сообщения клиент может отправлять движку события, касающиеся действий пользователя относительно воспроизведения контента (поставил на паузу, перемотал и т.п.)&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT &amp;#039;&amp;#039;event_name&amp;#039;&amp;#039; [param1=value1 [param2=value2] ...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;event_name&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: название события. Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;play&amp;lt;/tt&amp;gt; - начало воспроизведения либо продолжение после паузы&lt;br /&gt;
** &amp;lt;tt&amp;gt;pause&amp;lt;/tt&amp;gt; - пользователь поставил воспроизведение на паузу&lt;br /&gt;
** &amp;lt;tt&amp;gt;stop&amp;lt;/tt&amp;gt; - остановка воспроизведения&lt;br /&gt;
** &amp;lt;tt&amp;gt;seek&amp;lt;/tt&amp;gt; - пользователь осуществил перемотку. Для этого события необходимо отправлять параметр &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;, в котором указывается позиция в секундах&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;gt;&amp;gt;EVENT play&lt;br /&gt;
&amp;gt;&amp;gt;EVENT pause&lt;br /&gt;
&amp;gt;&amp;gt;EVENT seek position=1487&lt;br /&gt;
&amp;gt;&amp;gt;EVENT stop&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====События от движка к клиенту====&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STATE&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Информация о текущем статусе движка&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATE &amp;#039;&amp;#039;state_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;state_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: состояние движка:&lt;br /&gt;
** 0 (IDLE) - движок ничего не делает&lt;br /&gt;
** 1 (PREBUFFERING) - началась пребуферизация&lt;br /&gt;
** 2 (DOWNLOADING) - идет загрузка контента в обычном режиме&lt;br /&gt;
** 3 (BUFFERING) - началась буферизация&lt;br /&gt;
** 4 (COMPLETED) - загрузка контента завершена&lt;br /&gt;
** 5 (CHECKING) - выполняется инициализация перед началом загрузки&lt;br /&gt;
** 6 (ERROR) - ошибка&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;STATE 0&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;INFO&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Отобразить текстовое сообщение пользователю.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;INFO &amp;#039;&amp;#039;message_id&amp;#039;&amp;#039;;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_id&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: числовой идентификатор сообщения&lt;br /&gt;
** 1: сообщение &amp;quot;На данный момент нет активных пиров&amp;quot; (отправляется в том случае, если в течение минуты после начала загрузки не удалось найти ни одного пира)&lt;br /&gt;
** 2: сообщение &amp;quot;Рекламный блок&amp;quot; (отправляется после начала воспроизведения рекламного ролика).&lt;br /&gt;
** 3: сообщение &amp;quot;Основной контент&amp;quot; (отправляется после начала воспроизведения основного контента).&lt;br /&gt;
** 0: другое сообщение (текст сообщения берется из параметра &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;message_text&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: текст сообщения, которое необходимо отобразить&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;INFO 1;Cannot find active peers&lt;br /&gt;
&amp;lt;&amp;lt;INFO 2;Advertising video&lt;br /&gt;
&amp;lt;&amp;lt;INFO 3;Main content&lt;br /&gt;
&amp;lt;&amp;lt;INFO 0;Display some message&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;STATUS&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное сообщение отправляется периодически для информирования клиента о текущем статусе загрузки контента. Основное назначение этого сообщение - дать клиенту возможность отображать пользователю о том, что сейчас происходит на движке.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS &amp;#039;&amp;#039;status_string&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status_string&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - строка описанного ниже формата&lt;br /&gt;
&lt;br /&gt;
Если идет проигрывание основного контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS main:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если идет проигрывание рекламного ролика (рекламный ролик и основной контент описываются отдельно; например, рекламный ролик уже полность загружен, а основной контент проходит стадию пребуферизации):&lt;br /&gt;
 &amp;lt;tt&amp;gt;STATUS main:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;|ad:&amp;#039;&amp;#039;status_description&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Возможные значения &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;status_description:&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок ничего не делает - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;idle&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок загружает транспортный файл (обрабатывает команду &amp;lt;tt&amp;gt;LOADASYNC&amp;lt;/tt&amp;gt;) - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;loading&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* движок выполняет предварительную инициализацию воспроизведения (движок переходит в это состояние после получения команды &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt; от клиента) - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;starting&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* ошибка - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;err;error_id;error_message&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; (код и описание)&lt;br /&gt;
* проверка - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;check;progress&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* пребуферизация - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;prebuf;progress;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* контент загружается либо уже полностью загружен - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;dl&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* буферизация - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;buf;progress;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* ожидание достаточной скорости - &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;wait;time&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ко всем &amp;lt;tt&amp;gt;status_string&amp;lt;/tt&amp;gt; (кроме &amp;lt;tt&amp;gt;idle, loading, starting, err, check&amp;lt;/tt&amp;gt;) добавляются общие данные:&lt;br /&gt;
 &amp;lt;tt&amp;gt;total_progress;immediate_progress;speed_down;http_speed_down;speed_up;peers;http_peers;downloaded;http_downloaded;uploaded&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;total_progress&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сколько всего закачано по данному файлу&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;immediate_progress&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сколько непрерывных данных закачано начиная с текущей позиции (для отображения кол-ва закачанного в бегунке)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;speed_down&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скорость загрузки (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_speed_down&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скорость загрузки от прямых http-источников (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;speed_up&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - скороть отдачи (Кбайт/с)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;peers&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - количество подсоединенных пиров&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_peers&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - количество подсоединенных прямых http-источников&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;downloaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем загруженных данных (байт)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;http_downloaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем загруженных по http данных (байт)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;uploaded&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - объем отданных данных (байт)&lt;br /&gt;
&lt;br /&gt;
Все числа передаются как integer.&lt;br /&gt;
&lt;br /&gt;
Все progress принимают значение от 0 до 100.&lt;br /&gt;
&lt;br /&gt;
;Примеры&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Движок ничего не делает:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
&lt;br /&gt;
Загружается транспортный файл:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:loading&lt;br /&gt;
&lt;br /&gt;
Инициализация воспроизведения:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:starting&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 0%, еще нет подсоединенных пиров:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;0;2147483648;0;0;0;0;0;0;0;0;0;0;&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 20%, скорость загрузки 328 Кбайт/с, подсоединено 7 пиров, загружено 5505024 байт:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0&lt;br /&gt;
&lt;br /&gt;
Пребуферизация 90%, скорость загрузки 420 Кбайт/с, подсоединено 9 пиров, загружено 11659264байт:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;90;3299;1;0;420;0;0;9;0;11659264;0;0&lt;br /&gt;
&lt;br /&gt;
Идет загрузка контента, загружен 1%, скорость загрузки 442 Кбайт/с, подсоединено 10 пиров, загружено 13920256:&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:dl;1;0;442;0;0;10;0;13920256;0;0&lt;br /&gt;
&lt;br /&gt;
Рекламный ролик полность загружен и воспроизводится, основной контент пребуферизируется (20%):&lt;br /&gt;
&amp;lt;&amp;lt;STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0|ad:dl;100;0;0;0;0;0;0;13920256;0;0&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Пример трансформации статусов в текстовые сообщения, понятные пользователю&lt;br /&gt;
 &amp;lt;tt&amp;gt;check - Проверка xx%&lt;br /&gt;
 prebuf - Пребуферизация xx%&lt;br /&gt;
 buf - Буферизация xx%&lt;br /&gt;
 wait - Ожидание достаточной скорости&lt;br /&gt;
 err - выводим сообщение об ошибке&lt;br /&gt;
 loading - Загрузка...&lt;br /&gt;
 starting - Запуск...&lt;br /&gt;
 dl, idle - ничего не выводим&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;AUTH&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 1&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Уровень доступа пользователя &lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;AUTH &amp;#039;&amp;#039;user_auth_level&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;user_auth_level&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;: уровень доступа пользователя&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Пользователь не зарегистрирован:&lt;br /&gt;
&amp;lt;&amp;lt;AUTH 0&lt;br /&gt;
&lt;br /&gt;
Пользователь зарегистрирован:&lt;br /&gt;
&amp;lt;&amp;lt;AUTH 1&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT getuserdata&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Движок запрашивает у клиента данные пользователя (пол и возрастную группу). Такой запрос приходит при попытке что-либо проиграть, если данные о пользователе не были переданы ранее (т.е. фактически при первом после установки просмотре в ответ на команду &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;).&lt;br /&gt;
:При получении этого события клиент должен запросить данные у пользователя, затем отправить их движку командой &amp;lt;tt&amp;gt;USERDATA&amp;lt;/tt&amp;gt; и начать воспроизведение командой &amp;lt;tt&amp;gt;START&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT getuserdata&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
:нет&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;EVENT getuserdata&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT cansave&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное событие информирует клиента о том, что контент может быть сохранен на диске в указанном пользователем месте. Например, при получении данного события клиент может отобразить кнопку &amp;quot;Сохранить&amp;quot; в пользовательском интерфейсе. При нажатии на кнопку пользователь должен будет выбрать, куда сохранять контент, после чего клиент отправит движку команду &amp;lt;tt&amp;gt;SAVE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT cansave infohash=&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; index=&amp;#039;&amp;#039;index&amp;#039;&amp;#039; format=&amp;#039;&amp;#039;format&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - infohash контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - номер файла, который можно сохранить&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;format&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - формат файла, в котором будет сохранен контент. Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;plain&amp;lt;/tt&amp;gt; - файл будет сохранен в незашифрованном виде&lt;br /&gt;
** &amp;lt;tt&amp;gt;encrypted&amp;lt;/tt&amp;gt; - файл будет сохранен в зашифрованном виде (файл должен иметь расширение .acemedia). Зашифрованные файлы могут быть воспроизведены только с помощью программного обеспечение ACE Stream (с помощью команды &amp;lt;tt&amp;gt;START EFILE&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Параметры &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;infohash&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;index&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; клиент может использовать в команде &amp;lt;tt&amp;gt;SAVE&amp;lt;/tt&amp;gt;, если пользователь решит сохранить контент.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Доступен для сохранения файл под номером 0, файл может быть сохранен в открытом виде:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT cansave infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 format=plain&lt;br /&gt;
&lt;br /&gt;
Файл может быть сохранен только в зашифрованном виде:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT cansave infohash=5410b27fc567c35c8547e3b69b141215ce3a1fd7 index=0 format=encrypted&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT showurl&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия API&lt;br /&gt;
:&amp;gt;= 3&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Клиент должен отобразить встроенный браузер и загрузить указанную ссылку. В случае, если клиент не имеет встроенного браузера, это событие можно проигнорировать.&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT showurl type=&amp;#039;&amp;#039;type&amp;#039;&amp;#039; url=&amp;#039;&amp;#039;url&amp;#039;&amp;#039; [width=&amp;#039;&amp;#039;width&amp;#039;&amp;#039;] [height=&amp;#039;&amp;#039;height&amp;#039;&amp;#039;]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;type&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - тип запроса (причина, по которой движок просит отобразить браузер). Возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;ad&amp;lt;/tt&amp;gt;: отобразить рекламу (такой запрос приходит в ответ на команду &amp;lt;tt&amp;gt;GETADURL&amp;lt;/tt&amp;gt;)&lt;br /&gt;
** &amp;lt;tt&amp;gt;notification&amp;lt;/tt&amp;gt;: отобразить пользователю страницу-уведомление. Такой запрос используется в том случае, если пользователя необходимо уведомить о чем-то и уведомление потребует от пользователя каких-либо действий (например, если доступ к контенту открыт только для зарегистрированных пользователей, то клиенту будет отослана ссылка на страницу, на которой пользователь сможет зарегистрироваться). Такие запросы дублируются событием &amp;lt;tt&amp;gt;INFO&amp;lt;/tt&amp;gt; для того, чтобы клиенты без встроенного браузера могли отобразить пользователю текстовое уведомление.&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - ссылка на страницу, которую необходимо отобразить&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;width&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - ширина страницы (в пикселях)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;height&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - высота страницы (в пикселях)&lt;br /&gt;
&lt;br /&gt;
Если размеры окна браузера, передаваемые в параметрах &amp;lt;tt&amp;gt;width&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;, больше размера окна клиента, то клиент должен отобразить браузер на все окно.&lt;br /&gt;
&lt;br /&gt;
Если параметры &amp;lt;tt&amp;gt;width&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt; отсутствуют либо равны нулю, клиент должен отобразить браузер на все окно.&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Показать рекламную страницу с адресом http://ad.example.com в браузере с размером окна 400x250 пикселей:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT showurl type=ad url=http://ad.example.com width=400 height=250&lt;br /&gt;
&lt;br /&gt;
Отобразить на все окно браузер со страницой http://www.example.com/notification:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT showurl type=notification url=http://www.example.com/notification&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT livepos&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
Описание скоро будет&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;tt style=&amp;quot;color: #009;&amp;quot;&amp;gt;EVENT download_stopped&amp;lt;/tt&amp;gt;=====&lt;br /&gt;
;Версия движка&lt;br /&gt;
:&amp;gt;= 3003600&lt;br /&gt;
&lt;br /&gt;
;Описание&lt;br /&gt;
:Данное событие информирует клиента о причине остановки воспроизведения контента&lt;br /&gt;
&lt;br /&gt;
;Синтаксис&lt;br /&gt;
 &amp;lt;tt&amp;gt;EVENT download_stopped reason=&amp;#039;&amp;#039;reason&amp;#039;&amp;#039; option=&amp;#039;&amp;#039;option&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Параметры&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;reason&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - причина остановки; возможные значения:&lt;br /&gt;
** &amp;lt;tt&amp;gt;missing_option&amp;lt;/tt&amp;gt;: не активирована платная опция, необходимая для воспроизведения данного контента&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;option&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - идентификатор платной опции&lt;br /&gt;
&lt;br /&gt;
;Пример:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;Воспроизведение остановлено, так как у пользователя отсутствует активированная платная опция proxyServer:&lt;br /&gt;
&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;gt;&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сообщения от клиента к движку&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;&amp;lt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; - сообщения от движка к клиенту&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Проигрывание торрент-файла по ссылке без рекламных роликов===&lt;br /&gt;
(необходимость проигрывания рекламных роликов определяет движок).&lt;br /&gt;
&lt;br /&gt;
Для загрузки содержимого торрента используется асинхронная команда LOADASYNC.&lt;br /&gt;
&lt;br /&gt;
Торрент файл содержит один видео-файл.&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент готов принимать сообщения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
пользователю доступны расширенные функции&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;AUTH 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
загрузить торрент по ссылке&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;LOADASYNC 467763 TORRENT http://rutor.org/download/67346 0 0 0&lt;br /&gt;
 &amp;lt;&amp;lt;LOADRESP 467763 {&amp;quot;status&amp;quot;: 1, &amp;quot;files&amp;quot;: &amp;lt;nowiki&amp;gt;[[&amp;quot;Prey%202_%20E3%202011%20Official%20Trailer_2.mp4&amp;quot;, 0]]&amp;lt;/nowiki&amp;gt;, &amp;quot;infohash&amp;quot;:  &lt;br /&gt;
 &amp;quot;4c78e1cf0df23b4f5a16a106829ebed710cb52e0&amp;quot;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
узнать код плеера (например, чтобы показать его пользователю)&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;GETPID 4c78e1cf0df23b4f5a16a106829ebed710cb52e0 0 0 0&lt;br /&gt;
 &amp;lt;&amp;lt;##36ae4c89ab45b4010b1461c513da38d007356195&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
начать пребуферизацию видео&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START TORRENT http://rutor.org/download/67346 0 0 0 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
идет процесс пребуферизации&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;2147483447;0;0;0;0;0;0;0;0;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;2132;0;0;29;0;0;8;0;131072;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;8;942;0;0;60;0;0;9;0;393216;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;50;591;0;0;87;0;0;8;0;835584;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;75;497;0;0;98;0;0;8;0;1146880;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;91;448;0;0;105;0;0;8;0;1441792;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
пребуферизация завершена, клиент получает ссылку для проигрывания контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;PLAY http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент отправляет длительность контента (~201 секунда)&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;DUR http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 201964&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент информирует о том, что началось проигрывание&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
движок загружает контент&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATUS main:dl;0;0;110;0;0;8;0;1622016;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;128;0;0;8;0;2965504;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;130;0;0;8;0;3129344;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
движку недостаточно данных для проигрывания, начинает буферизация&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;PAUSE&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 3&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;0;315;0;0;130;0;0;8;0;3260416;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;90;299;0;0;133;0;0;8;0;3866624;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:buf;90;278;0;0;138;0;0;8;0;4390912;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
буферизация завершена&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;RESUME&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;141;0;0;8;0;4898816;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 25% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 25&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;141;0;0;8;0;4898816;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;146;0;0;7;0;8388608;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 50% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 50&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;145;0;0;7;0;9404416;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
клиент проиграл 75% контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;PLAYBACK http://127.0.0.1:6878/content/4c78e1cf0df23b4f5a16a106829ebed710cb52e0/0.673752283974 75&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;146;0;0;7;0;9568256;0;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
остановить загрузку контента&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;STOP&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
разорвать соединение&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;SHUTDOWN&lt;br /&gt;
 &amp;lt;&amp;lt;SHUTDOWN&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ошибка запуска воспроизведения, отсутствует необходимая платная опция proxyServer===&lt;br /&gt;
&amp;lt;div id=&amp;quot;example-missing-option-on-start&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
В этом примере описана ситуация, когда движок не может начать воспроизведение, так как для этого требуется наличие у пользователя активированной платной опции.&lt;br /&gt;
&lt;br /&gt;
В случае отсутствия платной опции необходимо уведомить пользователя о необходимости приобрести данную опцию. Это может сделать либо клиент, либо движок. Если клиент хочет самостоятельно уведомить пользователя, он должен сообщить движку о готовности получать событие &amp;lt;tt&amp;gt;download_stopped&amp;lt;/tt&amp;gt; с помощью команды &amp;lt;tt&amp;gt;SETOPTIONS&amp;lt;/tt&amp;gt;. Если клиент этого не сделал, то движок самостоятельно уведомит пользователя (открыв окно либо страницу в браузере).&lt;br /&gt;
&lt;br /&gt;
Первый пример описывает ситуацию, когда клиент не хочет уведомлять пользователя (в этом сценарии уведомление пользователю выдаст движок):&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ошибка старта&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:err;0;You need to buy Proxy Server option to continue&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Второй пример описывает ситуацию, когда клиент хочет уведомлять пользователя:&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&lt;br /&gt;
 &amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ошибка старта&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Воспроизведение прервано, так как отсутствует необходимая платная опция proxyServer===&lt;br /&gt;
&lt;br /&gt;
Этот сценарий отличается от предыдущего тем, что воспроизведение начинается, но через некоторое время после старта останавливается по причине отсутствия платной опции.&lt;br /&gt;
&lt;br /&gt;
рукопожатие&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;HELLOBG version=3&lt;br /&gt;
 &amp;lt;&amp;lt;HELLOTS version=3.1.1 version_code=3003400 key=5eb1f78f http_port=6878&lt;br /&gt;
 &amp;gt;&amp;gt;READY key=123456-fd2a247d83adffed56d82cca150d5fab225f1408&lt;br /&gt;
 &amp;lt;&amp;lt;AUTH 5&lt;br /&gt;
 &amp;gt;&amp;gt;SETOPTIONS use_stop_notifications=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
старт воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;gt;&amp;gt;START PID c894b23a65d64a0dae2076d2a01ec6bface83b01 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 1&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:starting&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:prebuf;0;0;0;0;8;0;0;1;0;16384;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;START http://127.0.0.1:6878/content/6d12f958332ef0bd258053ba1afd833ddf9b74f9/0.289607197304 stream=1&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
некоторое время воспроизведения идет без остановки&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;STATUS main:dl;0;0;832;0;0;1;0;2392064;0;0&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;1339;0;8;3;0;5242880;0;65536&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977939 live_first=1448976139 pos=1448977939 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976139 last_ts=1448977939 is_live=1 live_last=1448977939 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;1165;0;18;3;0;5767168;0;163840&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448977941 live_first=1448976141 pos=1448977941 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976141 last_ts=1448977941 is_live=1 live_last=1448977941 buffer_pieces=15&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:dl;0;0;396;0;175;4;0;35127296;0;10534912&lt;br /&gt;
 &amp;lt;&amp;lt;EVENT livepos last=1448978010 live_first=1448976210 pos=1448978010 &amp;amp;crarr;&lt;br /&gt;
         first_ts=1448976210 last_ts=1448978010 is_live=1 live_last=1448978010 buffer_pieces=15&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
остановка воспроизведения&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;EVENT download_stopped reason=missing_option option=proxyServer&lt;br /&gt;
 &amp;lt;&amp;lt;STOP&lt;br /&gt;
 &amp;lt;&amp;lt;STATE 0&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:idle&lt;br /&gt;
 &amp;lt;&amp;lt;STATUS main:err;0;Download stopped&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Using_Ace_Stream_as_service_on_Android&amp;diff=677</id>
		<title>Using Ace Stream as service on Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Using_Ace_Stream_as_service_on_Android&amp;diff=677"/>
		<updated>2018-05-16T12:06:19Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To start engine on Android you should bind to Ace Stream Service and send a &amp;quot;start&amp;quot; command to this service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The preferred way to start engine is to use Ace Stream Client helper module:&lt;br /&gt;
https://github.com/acestream/android-service-client&lt;br /&gt;
&lt;br /&gt;
The example application which shows usage of this module is here:&lt;br /&gt;
https://github.com/acestream/android-service-client-example&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After starting service you should work with Ace Stream engine using [[Engine API]] or [[Engine HTTP API]]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=676</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=676"/>
		<updated>2018-05-15T12:41:58Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Android Beta Test==&lt;br /&gt;
If you want to became an Android beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* Ace Stream Media: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* Ace Stream Media for Android TV: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* Ace Stream Engine: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* Ace Stream Engine for Android TV: https://play.google.com/apps/testing/org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=675</id>
		<title>Install Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=675"/>
		<updated>2018-05-10T08:51:45Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The preferred way to install on Android is to install from Google Play store:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://play.google.com/store/apps/details?id=org.acestream.media&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to became a beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Media&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Media for Android TV&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Engine&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Engine for Android TV&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.core.atv&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=674</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=674"/>
		<updated>2018-05-10T08:51:29Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Android TV */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=673</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=673"/>
		<updated>2018-05-10T08:51:17Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=672</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=672"/>
		<updated>2018-05-09T16:47:31Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=671</id>
		<title>Install Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=671"/>
		<updated>2018-05-09T15:44:04Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The preferred way to install on Android is to install from Google Play store:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://play.google.com/store/apps/details?id=org.acestream.core&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to became a beta-tester, please visit one of these links:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Media&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.media&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Media for Android TV&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.media.atv&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Engine&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.core&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ace Stream Engine for Android TV&amp;#039;&amp;#039;&amp;#039;: https://play.google.com/apps/testing/org.acestream.core.atv&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=670</id>
		<title>Install Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=670"/>
		<updated>2018-05-09T15:35:12Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The preferred way to install on Android is to install from Google Play store:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://play.google.com/store/apps/details?id=org.acestream.core&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to became a beta-tester, please visit this link: https://play.google.com/apps/testing/org.acestream.core&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=669</id>
		<title>Install Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=669"/>
		<updated>2018-05-03T07:41:15Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The preferred way to install on Android is to install from Google Play store:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://play.google.com/store/apps/details?id=org.acestream.core&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=668</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=668"/>
		<updated>2018-05-03T07:40:52Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=667</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=667"/>
		<updated>2018-05-01T19:25:18Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Android TV */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=666</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=666"/>
		<updated>2018-05-01T19:25:03Z</updated>

		<summary type="html">&lt;p&gt;Anton: /* Android */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.media&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=665</id>
		<title>Install Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=665"/>
		<updated>2018-05-01T19:24:36Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The preferred way to install on Android is to install from Google Play store:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://play.google.com/store/apps/details?id=org.acestream.media&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Download&amp;diff=664</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Download&amp;diff=664"/>
		<updated>2018-04-21T19:45:48Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find the links the latest versions of Ace Stream software for all available platforms.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
* stable version: http://dl.acestream.org/products/acestream-full/win/latest&lt;br /&gt;
* beta version: http://dl.acestream.org/products/acestream3-beta/win/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android/latest&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;beta version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine-beta/android/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine-beta/android/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine-beta/android/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android TV==&lt;br /&gt;
* Google Play: https://play.google.com/store/apps/details?id=org.acestream.core.atv&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;stable version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** ARM: http://dl.acestream.org/products/acestream-engine/android-tv/armv7/latest&lt;br /&gt;
** x86: http://dl.acestream.org/products/acestream-engine/android-tv/x86/latest&lt;br /&gt;
** universal (contains both ARM and x86): http://dl.acestream.org/products/acestream-engine/android-tv/latest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 16&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 14&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_14.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ubuntu 12&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_12.04_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Debian 8&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* amd64: http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;More info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can find more info about linux builds and packages prepared by community on our forum: http://forum.torrentstream.org/index.php?topic=12086.0&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=663</id>
		<title>Install Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Install_Android&amp;diff=663"/>
		<updated>2018-04-21T19:45:00Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The preferred way to install on Android is to install from Google Play store:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://play.google.com/store/apps/details?id=org.acestream.core&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=648</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=648"/>
		<updated>2018-04-07T09:45:09Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Ace Stream&amp;#039;&amp;#039;&amp;#039; – это медиа-платформа нового поколения, с децентрализованной/распределенной системой поставки и хранения мультимедийных данных, предназначенная для создания интернет-сервисов с функциями AVoD (Аудио и Видео по Запросу) и Live Streaming («живого»/потокового вещания), с обширной социальной и интерактивной составляющей.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ace Stream&amp;#039;&amp;#039;&amp;#039; позволяет обеспечить наилучшее в мире аудиовизуальное качество онлайн вещания, без необходимости содержания парка серверов и осуществления расходов на оплату сетевого трафика!&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__ &lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;width:49%;&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto; text-align: center; color: #333; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0 auto; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Установка&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Download|Скачать]]&lt;br /&gt;
&lt;br /&gt;
[[Install_Windows|Установка на Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Install_Android|Установка на Android]]&lt;br /&gt;
&lt;br /&gt;
[[Install_Ubuntu|Установка на Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0 auto; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Релизы&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[AceStream 3.0]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:20px auto 0; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Партнерам&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Resellers|Реселлеры]]&lt;br /&gt;
&lt;br /&gt;
[[Developers|Разработчики приложений]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:20px auto 0; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Бродкастинг&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Create HLS Broadcast]]&lt;br /&gt;
&lt;br /&gt;
[[Check engine version|Проверка версии движка]]&lt;br /&gt;
&lt;br /&gt;
[[Embedded Player|Встроенный плеер]]&lt;br /&gt;
&lt;br /&gt;
[[Multi Stream]]&lt;br /&gt;
&lt;br /&gt;
[[Streaming]]&lt;br /&gt;
&lt;br /&gt;
[[Premium Broadcasts|Премиум трансляции]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:49%;&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0 auto; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Разработчикам&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Playlist API]]&lt;br /&gt;
&lt;br /&gt;
[[JavaScript Library]]&lt;br /&gt;
&lt;br /&gt;
[[Search API]]&lt;br /&gt;
&lt;br /&gt;
[[Engine HTTP API|HTTP API движка]]&lt;br /&gt;
&lt;br /&gt;
[[Product key]]&lt;br /&gt;
&lt;br /&gt;
[[Tracker]]&lt;br /&gt;
&lt;br /&gt;
[[Content ID Generation]]&lt;br /&gt;
&lt;br /&gt;
[[External Playlist|Внешний плейлист]]&lt;br /&gt;
&lt;br /&gt;
[[OAuth2|Протокол OAuth2]]&lt;br /&gt;
&lt;br /&gt;
[[WebPlugin]]&lt;br /&gt;
&lt;br /&gt;
[[Create Transport File|Создание транспортного файла]]&lt;br /&gt;
&lt;br /&gt;
[[Engine API|API движка]]&lt;br /&gt;
&lt;br /&gt;
[[API Errors]]&lt;br /&gt;
&lt;br /&gt;
[[Engine_Service_API|Сервисное API движка]]&lt;br /&gt;
&lt;br /&gt;
[[Reseller API|API для реселлеров]]&lt;br /&gt;
&lt;br /&gt;
[[Developer API|API для разработчиков]]&lt;br /&gt;
&lt;br /&gt;
[[Application_Developers_Example|Пример для разработчиков приложений]]&lt;br /&gt;
&lt;br /&gt;
[[Using_Ace_Stream_as_service_on_Android|Using Ace Stream as service on Android]]&lt;br /&gt;
&lt;br /&gt;
[[Launch_Ace_Stream_on_Android|Launch Ace Stream on Android]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end of the middle section --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Playlist_API&amp;diff=647</id>
		<title>Playlist API</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Playlist_API&amp;diff=647"/>
		<updated>2018-04-07T09:43:48Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;Added in version 3.1.28&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Brief description ==&lt;br /&gt;
Playlist API allows to export playlist in different formats from Ace Stream Media Server.&lt;br /&gt;
&lt;br /&gt;
API endpoint:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;http://&amp;lt;engine_host&amp;gt;:6878/playlist/get&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Parameters:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;format&amp;#039;&amp;#039; (list) - set output format;&lt;br /&gt;
* &amp;#039;&amp;#039;category&amp;#039;&amp;#039; (list) - filter by category (media type);&lt;br /&gt;
* &amp;#039;&amp;#039;subcategory&amp;#039;&amp;#039; (string) - filter by subcategory (tags);&lt;br /&gt;
* &amp;#039;&amp;#039;favorites&amp;#039;&amp;#039; (bool, default is 0) - filter favorites; favorites=0 means to output both favorite and non-favorite items;&lt;br /&gt;
* &amp;#039;&amp;#039;items&amp;#039;&amp;#039; (list of integers) - filter by playlist item ids;&lt;br /&gt;
* &amp;#039;&amp;#039;host&amp;#039;&amp;#039; (string) - configure playback URL: set &amp;quot;host&amp;quot; part of URL. Actually this is an IP address of Ace Stream Media Server. By default the host from endpoint URL is used;&lt;br /&gt;
* &amp;#039;&amp;#039;protocol&amp;#039;&amp;#039; (string, defaults to server settings) - configure playback URL: set output protocol (http or hls);&lt;br /&gt;
* &amp;#039;&amp;#039;transcode_audio&amp;#039;&amp;#039; (bool, defaults to server settings) - configure playback URL: enabled audio transcoding;&lt;br /&gt;
* &amp;#039;&amp;#039;transcode_mp3&amp;#039;&amp;#039; (bool, defaults to server settings) - configure playback URL: transcode MP3 to AAC (by default MP3 is not transcoded);&lt;br /&gt;
* &amp;#039;&amp;#039;transcode_ac3&amp;#039;&amp;#039; (bool, defaults to server settings) - configure playback URL: transcode only AC3 to AAC and don&amp;#039;t transcode other codecs;&lt;br /&gt;
* &amp;#039;&amp;#039;preferred_audio_language&amp;#039;&amp;#039; (string, defaults to server settings) - configure playback ULR: set preferred audio language;&lt;br /&gt;
* &amp;#039;&amp;#039;download&amp;#039;&amp;#039; (bool, default is 0) - download playlist as file;&lt;br /&gt;
* &amp;#039;&amp;#039;skip_autosearch&amp;#039;&amp;#039; (bool, default is 0) - don&amp;#039;t replace playlist data with autosearch results; this doesn&amp;#039;t affect playlist items with disabled autosearch.&lt;br /&gt;
&lt;br /&gt;
Boolean values are passed as 0 or 1 (e.g. transcode_audio=1), list of integers is passed as string of values concatenated with comma (e.g. items=14,115,127).&lt;br /&gt;
&lt;br /&gt;
Allowed values for list parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;format&amp;#039;&amp;#039;&amp;#039; - acestream, m3u, json;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;category&amp;#039;&amp;#039;&amp;#039; - tv, movies, music_video, music, other;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;protocol&amp;#039;&amp;#039;&amp;#039; - http, hls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Playlist output formats ==&lt;br /&gt;
&amp;quot;&amp;#039;&amp;#039;&amp;#039;m3u&amp;#039;&amp;#039;&amp;#039;&amp;quot; format is intented for different media players.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;#039;&amp;#039;&amp;#039;acestream&amp;#039;&amp;#039;&amp;#039;&amp;quot; format is used to export playlist in such way so it can be imported in the Ace Stream software running somewhere else.&lt;br /&gt;
At the moment we use M3U format with some additional fields, specific to Ace Stream.&lt;br /&gt;
Each playlist item is identified either by Content ID (start with acestream://) or infohash (starts with magnet:). Infohash is used when Content ID is not available for some playlist item.&lt;br /&gt;
Both types of identifiers are recognized by Ace Stream Media Server when playlist is imported.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;#039;&amp;#039;&amp;#039;json&amp;#039;&amp;#039;&amp;#039;&amp;quot; format is indented to be used for automation. Playlist is returned as list of items, each item is an object with such fields:&lt;br /&gt;
* &amp;#039;&amp;#039;id&amp;#039;&amp;#039; (integer) - playlist item id unique for this media server; this id can be passed in &amp;quot;items&amp;quot; parameter to filter specific playlist items;&lt;br /&gt;
* &amp;#039;&amp;#039;title&amp;#039;&amp;#039; (string) - title;&lt;br /&gt;
* &amp;#039;&amp;#039;playback_url&amp;#039;&amp;#039; (string)  playback URL;&lt;br /&gt;
* &amp;#039;&amp;#039;content_id&amp;#039;&amp;#039; (string) - Content ID (may be null);&lt;br /&gt;
* &amp;#039;&amp;#039;infohash&amp;#039;&amp;#039; (string) - infohash (may be null);&lt;br /&gt;
* &amp;#039;&amp;#039;transport_file_url&amp;#039;&amp;#039; (string) - transport file URL (may be null);&lt;br /&gt;
* &amp;#039;&amp;#039;category&amp;#039;&amp;#039; (string) - media type (see list for &amp;quot;category&amp;quot; parameter);&lt;br /&gt;
* &amp;#039;&amp;#039;is_live&amp;#039;&amp;#039; (integer) - 1: live content, 0: VOD, -1: unknown;&lt;br /&gt;
* &amp;#039;&amp;#039;auto_search&amp;#039;&amp;#039; (bool) - whether autosearch is enabled for this playlist item;&lt;br /&gt;
* &amp;#039;&amp;#039;tags&amp;#039;&amp;#039; (list of strings) - list of tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Get playlist in &amp;quot;m3u&amp;quot; format:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Request:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1:6878/playlist/get?format=m3u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
 #EXTM3U&lt;br /&gt;
 #EXTINF:-1,Test Channel 1&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1:6878/ace/getstream?id=acbfd1954084ffc68c65b0948485e5d0f82173e2&amp;amp;hlc=1&amp;amp;transcode_audio=0&lt;br /&gt;
 &amp;amp;transcode_mp3=0&amp;amp;transcode_ac3=0&amp;amp;preferred_audio_language=eng&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 #EXTINF:-1 acestream-autosearch=&amp;quot;1&amp;quot;,Test Channel 2&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1:6878/ace/getstream?infohash=7889e5f0cea9b72f5dcd7a9c67e665c7f4f5b3eb&amp;amp;hlc=1&amp;amp;transcode_audio=0&lt;br /&gt;
 &amp;amp;transcode_mp3=0&amp;amp;transcode_ac3=0&amp;amp;preferred_audio_language=eng&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Get playlist in &amp;quot;acestream&amp;quot; format:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Request:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1:6878/playlist/get?format=acestream&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 #EXTM3U&lt;br /&gt;
 #EXTINF:-1,Test Channel 1&lt;br /&gt;
 acestream://acbfd1954084ffc68c65b0948485e5d0f82173e2&lt;br /&gt;
 #EXTINF:-1 acestream-autosearch=&amp;quot;1&amp;quot;,Test Channel 2&lt;br /&gt;
 magnet:?xt=urn:btih:7889e5f0cea9b72f5dcd7a9c67e665c7f4f5b3eb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Get playlist in &amp;quot;json&amp;quot; format:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Request:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1:6878/playlist/get?format=json&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 [&lt;br /&gt;
 {&lt;br /&gt;
 &amp;quot;category&amp;quot;: &amp;quot;tv&amp;quot;,&lt;br /&gt;
 &amp;quot;auto_search&amp;quot;: false,&lt;br /&gt;
 &amp;quot;title&amp;quot;: &amp;quot;Test Channel 1&amp;quot;,&lt;br /&gt;
 &amp;quot;playback_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6878/ace/getstream?id=acbfd1954084ffc68c65b0948485e5d0f82173e2&amp;amp;hlc=1&amp;amp;transcode_audio=0&lt;br /&gt;
 &amp;amp;transcode_mp3=0&amp;amp;transcode_ac3=0&amp;amp;preferred_audio_language=eng&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
 &amp;quot;is_live&amp;quot;: 1,&lt;br /&gt;
 &amp;quot;transport_file_url&amp;quot;: null,&lt;br /&gt;
 &amp;quot;content_id&amp;quot;: &amp;quot;acbfd1954084ffc68c65b0948485e5d0f82173e2&amp;quot;,&lt;br /&gt;
 &amp;quot;infohash&amp;quot;: &amp;quot;a1231ebb2a26263cb37b305fced076961990812e&amp;quot;,&lt;br /&gt;
 &amp;quot;id&amp;quot;: 3&lt;br /&gt;
 },&lt;br /&gt;
 {&lt;br /&gt;
 &amp;quot;category&amp;quot;: &amp;quot;tv&amp;quot;,&lt;br /&gt;
 &amp;quot;auto_search&amp;quot;: true,&lt;br /&gt;
 &amp;quot;title&amp;quot;: &amp;quot;Test Channel 2&amp;quot;,&lt;br /&gt;
 &amp;quot;playback_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6878/ace/getstream?infohash=7889e5f0cea9b72f5dcd7a9c67e665c7f4f5b3eb&amp;amp;hlc=1&amp;amp;transcode_audio=0&lt;br /&gt;
 &amp;amp;transcode_mp3=0&amp;amp;transcode_ac3=0&amp;amp;preferred_audio_language=eng&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
 &amp;quot;is_live&amp;quot;: 1,&lt;br /&gt;
 &amp;quot;transport_file_url&amp;quot;: null,&lt;br /&gt;
 &amp;quot;content_id&amp;quot;: null,&lt;br /&gt;
 &amp;quot;infohash&amp;quot;: &amp;quot;7889e5f0cea9b72f5dcd7a9c67e665c7f4f5b3eb&amp;quot;,&lt;br /&gt;
 &amp;quot;id&amp;quot;: 4&lt;br /&gt;
 }&lt;br /&gt;
 ]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=Using_Ace_Stream_as_service_on_Android&amp;diff=616</id>
		<title>Using Ace Stream as service on Android</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=Using_Ace_Stream_as_service_on_Android&amp;diff=616"/>
		<updated>2017-12-12T09:42:38Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To start engine on Android you should bind to AceStreamEngineService and send a &amp;quot;start&amp;quot; command to this service.&lt;br /&gt;
&lt;br /&gt;
Brief description and source code with examples of using the engine as a service can be found here:&lt;br /&gt;
https://bitbucket.org/AceStream/androidacestreamserviceclientexample&lt;br /&gt;
&lt;br /&gt;
After starting service you should work with Ace Stream engine using [[Engine API]] or [[Engine HTTP API]]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=613</id>
		<title>JavaScript Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=613"/>
		<updated>2017-09-16T05:31:11Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ace Stream JavaScript Library provides tools to embed video player on web-pages with minimum effort.&lt;br /&gt;
&lt;br /&gt;
== Example of using Ace Stream JavaScript Library to embed player on the page. ==&lt;br /&gt;
First, add javascript library on the page (inside the &amp;lt;head&amp;gt; tag):&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;script src=&amp;quot;//static.acestream.net/jsapi/acestream.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/tt&amp;gt;              &lt;br /&gt;
&lt;br /&gt;
Then you can create the player with this code:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;    &lt;br /&gt;
 var playerContext = null;&lt;br /&gt;
 AceStream.createPlayer(&amp;quot;#player&amp;quot;, {&lt;br /&gt;
     onLoad: function (player) {&lt;br /&gt;
         playerContext = player;&lt;br /&gt;
         playerContext.loadContentId(&amp;quot;94c2fd8fb9bc8f2fc71a2cbe9d4b866f227a0209&amp;quot;);&lt;br /&gt;
     },&lt;br /&gt;
     onError: function(err) {&lt;br /&gt;
         console.log(&amp;quot;init: error: &amp;quot; + err);&lt;br /&gt;
     }&lt;br /&gt;
 });&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Player is created in the HTML-container with id &amp;quot;player&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Upon successful player creation &amp;#039;&amp;#039;&amp;#039;onLoad&amp;#039;&amp;#039;&amp;#039; callback is called and player object is passed as parameter.&lt;br /&gt;
You should save player object to some variable to be able to call player methods later, for example, to switch to another content.&lt;br /&gt;
Currently such method are available:&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadContentId(contentId)&amp;lt;/tt&amp;gt; - load by Content ID (unique identified in Ace Stream system);&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadTransportFileUrl(url)&amp;lt;/tt&amp;gt; - load by transport file URL;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadInfohash(infohash)&amp;lt;/tt&amp;gt; - load by infohash;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadMagnet(magnetUri)&amp;lt;/tt&amp;gt; - load by magnet link;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadDirectUrl(url)&amp;lt;/tt&amp;gt; - load by direct content URL (this can be direct link to some video file, HLS stream or link supported by Ace Stream plugins: youtube, twitch etc).&lt;br /&gt;
&lt;br /&gt;
Buttons on the top of the pages show how to use different content loading methods.&lt;br /&gt;
&lt;br /&gt;
Working example is available [http://acestream.net/demos/embedding/index.html here]&lt;br /&gt;
&lt;br /&gt;
==Additional features==&lt;br /&gt;
If the user has a browser extension Ace Script with the activated userscript Ace Cast, the following additional features will be available:&lt;br /&gt;
* Automatically start Ace Stream application for content playback (there is no need to manually start the application if it isn&amp;#039;t running)&lt;br /&gt;
* Select any installed desktop player for playback&lt;br /&gt;
* Playback content on remote devices over protocols Ace Cast, Google Cast, AirPlay and others&lt;br /&gt;
* Add content to user&amp;#039;s playlist, in his Ace Stream personal media server&lt;br /&gt;
* Convenient ways to share content&lt;br /&gt;
In order to inform the user about these features, the corresponding information block is shown after clicking on &amp;quot;menu&amp;quot; or &amp;quot;play&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
Attention! The need to use a browser extension and a userscript to make additional features available is temporary, until we implement a solution that allows direct and secure communication between javascript code and the Ace Stream application.&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
New JS library consists of reusable javascript modules which are bundled with browserify. Currently only the bundled version is distributed, but we plan to prepare documentation for these modules and publish it along with the source code on github.&lt;br /&gt;
&lt;br /&gt;
Modules will implement such functionality like:&lt;br /&gt;
* checking engine status and version and running it if necessary&lt;br /&gt;
* encapsulate all avaialble Ace Stream HTTP API methods&lt;br /&gt;
* provide reusable markup&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
== Legacy JS Library ==&lt;br /&gt;
The old version of JS Library is still available. You can find test page and links [http://acestream.net/demos/embedding/index-legacy.html here.]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=612</id>
		<title>JavaScript Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=612"/>
		<updated>2017-09-16T05:30:11Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ace Stream JavaScript Library provides tools to embed video player on web-pages with minimum effort.&lt;br /&gt;
&lt;br /&gt;
== Example of using Ace Stream Javascript API to embed player on the page. ==&lt;br /&gt;
First, add javascript library on the page (inside the &amp;lt;head&amp;gt; tag):&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;script src=&amp;quot;//static.acestream.net/jsapi/acestream.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/tt&amp;gt;              &lt;br /&gt;
&lt;br /&gt;
Then you can create the player with this code:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;    &lt;br /&gt;
 var playerContext = null;&lt;br /&gt;
 AceStream.createPlayer(&amp;quot;#player&amp;quot;, {&lt;br /&gt;
     onLoad: function (player) {&lt;br /&gt;
         playerContext = player;&lt;br /&gt;
         playerContext.loadContentId(&amp;quot;94c2fd8fb9bc8f2fc71a2cbe9d4b866f227a0209&amp;quot;);&lt;br /&gt;
     },&lt;br /&gt;
     onError: function(err) {&lt;br /&gt;
         console.log(&amp;quot;init: error: &amp;quot; + err);&lt;br /&gt;
     }&lt;br /&gt;
 });&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Player is created in the HTML-container with id &amp;quot;player&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Upon successful player creation &amp;#039;&amp;#039;&amp;#039;onLoad&amp;#039;&amp;#039;&amp;#039; callback is called and player object is passed as parameter.&lt;br /&gt;
You should save player object to some variable to be able to call player methods later, for example, to switch to another content.&lt;br /&gt;
Currently such method are available:&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadContentId(contentId)&amp;lt;/tt&amp;gt; - load by Content ID (unique identified in Ace Stream system);&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadTransportFileUrl(url)&amp;lt;/tt&amp;gt; - load by transport file URL;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadInfohash(infohash)&amp;lt;/tt&amp;gt; - load by infohash;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadMagnet(magnetUri)&amp;lt;/tt&amp;gt; - load by magnet link;&lt;br /&gt;
*&amp;lt;tt&amp;gt;loadDirectUrl(url)&amp;lt;/tt&amp;gt; - load by direct content URL (this can be direct link to some video file, HLS stream or link supported by Ace Stream plugins: youtube, twitch etc).&lt;br /&gt;
&lt;br /&gt;
Buttons on the top of the pages show how to use different content loading methods.&lt;br /&gt;
&lt;br /&gt;
Working example is available [http://acestream.net/demos/embedding/index.html here]&lt;br /&gt;
&lt;br /&gt;
==Additional features==&lt;br /&gt;
If the user has a browser extension Ace Script with the activated userscript Ace Cast, the following additional features will be available:&lt;br /&gt;
* Automatically start Ace Stream application for content playback (there is no need to manually start the application if it isn&amp;#039;t running)&lt;br /&gt;
* Select any installed desktop player for playback&lt;br /&gt;
* Playback content on remote devices over protocols Ace Cast, Google Cast, AirPlay and others&lt;br /&gt;
* Add content to user&amp;#039;s playlist, in his Ace Stream personal media server&lt;br /&gt;
* Convenient ways to share content&lt;br /&gt;
In order to inform the user about these features, the corresponding information block is shown after clicking on &amp;quot;menu&amp;quot; or &amp;quot;play&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
Attention! The need to use a browser extension and a userscript to make additional features available is temporary, until we implement a solution that allows direct and secure communication between javascript code and the Ace Stream application.&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
New JS API consists of reusable javascript modules which are bundled with browserify. Currently only the bundled version is distributed, but we plan to prepare documentation for these modules and publish it along with the source code on github.&lt;br /&gt;
&lt;br /&gt;
Modules will implement such functionality like:&lt;br /&gt;
* checking engine status and version and running it if necessary&lt;br /&gt;
* encapsulate all avaialble Ace Stream HTTP API methods&lt;br /&gt;
* provide reusable markup&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
== Legacy JS API ==&lt;br /&gt;
The old version of JS API is still available. You can find test page and links [http://acestream.net/demos/embedding/index-legacy.html here.]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=608</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=608"/>
		<updated>2017-09-15T06:18:06Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Ace Stream&amp;#039;&amp;#039;&amp;#039; – это медиа-платформа нового поколения, с децентрализованной/распределенной системой поставки и хранения мультимедийных данных, предназначенная для создания интернет-сервисов с функциями AVoD (Аудио и Видео по Запросу) и Live Streaming («живого»/потокового вещания), с обширной социальной и интерактивной составляющей.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ace Stream&amp;#039;&amp;#039;&amp;#039; позволяет обеспечить наилучшее в мире аудиовизуальное качество онлайн вещания, без необходимости содержания парка серверов и осуществления расходов на оплату сетевого трафика!&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__ &lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;width:49%;&amp;quot; valign=&amp;quot;top&amp;quot;| &lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto; text-align: center; color: #333; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0 auto; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Установка&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Download|Скачать]]&lt;br /&gt;
&lt;br /&gt;
[[Install_Windows|Установка на Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Install_Android|Установка на Android]]&lt;br /&gt;
&lt;br /&gt;
[[Install_Ubuntu|Установка на Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0 auto; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Релизы&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[AceStream 3.0]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:20px auto 0; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Партнерам&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Resellers|Реселлеры]]&lt;br /&gt;
&lt;br /&gt;
[[Developers|Разработчики приложений]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:20px auto 0; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Бродкастинг&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[Create HLS Broadcast]]&lt;br /&gt;
&lt;br /&gt;
[[Check engine version|Проверка версии движка]]&lt;br /&gt;
&lt;br /&gt;
[[Embedded Player|Встроенный плеер]]&lt;br /&gt;
&lt;br /&gt;
[[Multi Stream]]&lt;br /&gt;
&lt;br /&gt;
[[Streaming]]&lt;br /&gt;
&lt;br /&gt;
[[Premium Broadcasts|Премиум трансляции]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:49%;&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0 auto; background:#7aabc8; font-size:120%; font-weight:bold; color:#fff; padding:0.2em 0.4em; width: 250px; border: none;&amp;quot;&amp;gt;Разработчикам&amp;lt;/h2&amp;gt;&lt;br /&gt;
[[JavaScript Library]]&lt;br /&gt;
&lt;br /&gt;
[[Search API]]&lt;br /&gt;
&lt;br /&gt;
[[Engine HTTP API|HTTP API движка]]&lt;br /&gt;
&lt;br /&gt;
[[Product key]]&lt;br /&gt;
&lt;br /&gt;
[[Tracker]]&lt;br /&gt;
&lt;br /&gt;
[[Content ID Generation]]&lt;br /&gt;
&lt;br /&gt;
[[External Playlist|Внешний плейлист]]&lt;br /&gt;
&lt;br /&gt;
[[OAuth2|Протокол OAuth2]]&lt;br /&gt;
&lt;br /&gt;
[[WebPlugin]]&lt;br /&gt;
&lt;br /&gt;
[[Create Transport File|Создание транспортного файла]]&lt;br /&gt;
&lt;br /&gt;
[[Engine API|API движка]]&lt;br /&gt;
&lt;br /&gt;
[[API Errors]]&lt;br /&gt;
&lt;br /&gt;
[[Engine_Service_API|Сервисное API движка]]&lt;br /&gt;
&lt;br /&gt;
[[Reseller API|API для реселлеров]]&lt;br /&gt;
&lt;br /&gt;
[[Developer API|API для разработчиков]]&lt;br /&gt;
&lt;br /&gt;
[[Application_Developers_Example|Пример для разработчиков приложений]]&lt;br /&gt;
&lt;br /&gt;
[[Using_Ace_Stream_as_service_on_Android|Using Ace Stream as service on Android]]&lt;br /&gt;
&lt;br /&gt;
[[Launch_Ace_Stream_on_Android|Launch Ace Stream on Android]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end of the middle section --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=607</id>
		<title>JavaScript Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=607"/>
		<updated>2017-09-15T05:49:06Z</updated>

		<summary type="html">&lt;p&gt;Anton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ace Stream JavaScript Library provides tools to embed video player on web-pages with minimum effort.&lt;br /&gt;
&lt;br /&gt;
The latest version with some documentation and examples is available [http://acestream.net/demos/embedding/index.html here]&lt;br /&gt;
&lt;br /&gt;
On this page detailed technical documentation to the library will be provided.&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=606</id>
		<title>JavaScript Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.acestream.media/index.php?title=JavaScript_Library&amp;diff=606"/>
		<updated>2017-09-15T05:44:27Z</updated>

		<summary type="html">&lt;p&gt;Anton: Новая страница: «Ace Stream JavaScript Library provides tools to embed video player on web-pages with minimum effort.  The latest version with some documentation and examples is a…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ace Stream JavaScript Library provides tools to embed video player on web-pages with minimum effort.&lt;br /&gt;
&lt;br /&gt;
The latest version with some documentation and examples is available [http://acestream.net/demos/embedding/index.html here]&lt;/div&gt;</summary>
		<author><name>Anton</name></author>
		
	</entry>
</feed>