ACE Stream Media 3.1 (for Windows)

…этот скрипт кладем на сервер где есть php(предварительно вписав адрес своего плэйлиста):
(этот для коротких листов)

``` <?php /* коррекция плэйлиста torrent-tv этот скрипт будет отрублен по времени где-то на 200-й строке */ //URL вашего плэйлиста... можно локальный $plurl = "123.m3u"; //функция получает AceStream Conetnt ID по торренту function cid($t){ $api_url = 'http://api.torrentstream.net/upload/raw'; $params = base64_encode(file_get_contents($t)); $head = 'Content-Type: application/octet-stream\r\n'; $opts = array( 'http' => array( 'method' => 'POST', 'header' => $head, 'content'=> $params ) ); $ctx = stream_context_create($opts); $data = json_decode(file_get_contents($api_url, false, $ctx), true); return $data[content_id]; } //выводим новый плэйлист $lines = file($plurl); foreach($lines as $line){ if(strstr($line,'http') != false){ $line = "http://127.0.0.1:6878/ace/getstream?id=".cid(trim($line))."&hlc=1&spv=1&transcode_audio=0&transcode_mp3=0&preferred_audio_language=RUS&sid=".mt_rand(9,99999)."\n"; } echo $line; } ?>
</blockquote>

(а этот для любых)
<blockquote>
<?php /* коррекция плэйлиста torrent-tv */ //URL вашего плэйлиста... можно локальный $plurl = "123.m3u"; //выводим новый плэйлист $lines = file($plurl); foreach($lines as $line){ if(strstr($line,'http') != false){ $line = "http://127.0.0.1:6878/ace/getstream?url=".trim($line)."&hlc=1&spv=1&transcode_audio=0&transcode_mp3=0&preferred_audio_language=RUS&sid=".mt_rand(9,99999)."\n"; } echo $line; } ?>
</blockquote>
...я использую первый, т.к. определяю cid по одному

P.S.
получившийся плэйлист можно не скармливать ace_engine, а сразу вставлять в плэйер

Подскажите, что я делаю не правильно:
по инструкции:
http://wiki.acestream.media/Engine_HTTP_API

Пример HTML-страницы для запуска HLS-трансляции через движок в плеере VideoJS:
<!DOCTYPE html>
<html>
<head>
<title>HLS example</title>
  <link href="http://vjs.zencdn.net/4.12/video-js.css" rel="stylesheet">
  <script src="http://vjs.zencdn.net/4.12/video.js"></script>
  <script src="https://github.com/videojs/videojs-contrib-media-sources/releases/download/v0.1.0/videojs-media-sources.js"></script>
  <script src="https://github.com/videojs/videojs-contrib-hls/releases/download/v0.11.2/videojs.hls.min.js"></script>
</head>
<body>
  <video id="myvideo" class="video-js vjs-default-skin" controls preload="auto" width="640" height="390" data-setup='{}'>
    <source
      src="http://127.0.0.1:6878/hls/manifest.m3u8?manifest_url=http%3A%2F%2Fwin.cdn.bonus-tv.ru%2FTVB7%2Fntv%2Fplaylist.m3u8"
      type="application/x-mpegurl">
  </video>
</body>
</html>

создал страницу:
http://usbmu.valuehost.ru/hls_test.html

…не работает - “No compatible source was found for this video.

кому надо - есть и такой вариант получения контента:

http://127.0.0.1:6878/ace/getstream?infohash=0faec54a3e3f90116733a99d61cb4cf2bf75955f&format=json

…а я ведь спрашивал раньше про magnet ссылки, но никто не ответил
…пока сам в коде сервера не пороешься…

…когда уже гадать перестанем и wiki будет полный

что то я не могу так запустить
http://127.0.0.1:6878/ace/getstream?http://content.torrent-tv.ru/xxxx/cdn/69_reg.acelive

или как надо, чтото я не понял?

http://127.0.0.1:6878/ace/getstream?url=http://content.torrent-tv.ru/xxxx/cdn/69_reg.acelive

Читайте WiKi - Engine HTTP API - Ace Stream Wiki

Спасибо разобрался.
Мультистриминг не работает, только один канал одновременно смотреть можно или можно что исправить?

после вывода в основной релиз версии 3.1.

И когда же примерно это будет?

Что вы подразумеваете (понимаете) под словом “Мультистриминг”?

Извините не так выразился.
Я имею в виду что больше одного канала одновременно смотреть нельзя или я чтото не правильно делаю?
Один и тотже канал смотреть можно например на телеке, планшете и телефоне, но как включаешь другой канал все выбивает.
Не идет разные каналы однавремнно на na телеке, планшете, телефоне итд смотреть.
Это будет исправляться или так и останеться?
Когда примерно версия выйдет для линукса, я понимаю что это не реально сказать , но можно сказать планируется через месяц 2 илл полгода?

…читаем WIKI - это там уже давно:
в адресе ссылки добавляем &sid=123456 - где 123456 - случайное число для разделения запросов от разных клиентов(каждому клиенту своё…) - тогда и “выбивать” не будет
…у меня одновеменно телик и ipad пашут и никто никому не мешает

P.S.
…но мои предидущие вопросы к разработчикам я не снимаю :slight_smile:

у меня на рс2 такая ошибка появилась,
“time limit exceeded”
есть уже решение?

Спасибо за подсказку с &sid=123456

Постоянно вышибает ace_engine с ошибкой:

Сигнатура проблемы:
  Имя события проблемы:	APPCRASH
  Имя приложения:	ace_engine.exe
  Версия приложения:	0.0.0.0
  Отметка времени приложения:	547c2acc
  Имя модуля с ошибкой:	acestreamengine.pysegmenter.pyd
  Версия модуля с ошибкой:	0.0.0.0
  Отметка времени модуля с ошибкой:	00000000
  Код исключения:	c0000005
  Смещение исключения:	00005381
  Версия ОС:	6.1.7601.2.1.0.256.1
  Код языка:	1049
  Дополнительные сведения 1:	0a9e
  Дополнительные сведения 2:	0a9e372d3b4ad19135b953a78882e789
  Дополнительные сведения 3:	0a9e
  Дополнительные сведения 4:	0a9e372d3b4ad19135b953a78882e789

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
  C:\Windows\system32\ru-RU\erofflps.txt

Использую в связке с P2pProxy на отдельном ПК (в роли домашнего сервера). Ночью обнаружил ошибку (не знаю когда выскочила), из-за чего программа вообще не работала. Показатели Up/Down зависли на определенных значениях. При попытке закрыть через “Выход” в трее сервак подвис минут на 10. Бывает такое, что вообще не отвисает часами и приходится делать ресет…

Текст ошибки (из окошка) не сохранился, но log’и прилагаю!


Сделайте, плиз отдельный инсталятор движка. А то теперь, по большому Гамбурскому, нет смысла в Ace Player.
И ещё: можете ли Вы сделать, чтоб движок сам перезапускался при крахе? А то при ошибке движок вышибает, и обычные юзеры потом ищут, как же его запустить (В скрытой-то папке AppData в винде)…

Ваш пример

Пример HTML-страницы с кнопкой для проверки движка (JSONP-запросы отправляются с помощью библиотеки jQuery):
из wiki - работает не правильно. Если движок не запущен, даже ошибку не возвращает (.ajax error:), просто в консоли браузера
GET http://127.0.0.1:6878/webui/api/service?callback=jQuery1112021120891370810568_1439905431793&method=get_version&format=jsonp&_=1439905431794 net::ERR_CONNECTION_REFUSED

А как тогда отсутствие движка отловить?

телевизор 42lg650, torrent-tv 0.38
ace stream version=3.1.0-rc3
torrentTV Proxy version 2.0.2.1
установлен локальный прокси, доступ в инет - 30 мб/с
свободного места под кэш: 200Гбайт, 4 ядра, озу 16гБ, Windows 8. систему переустанавливал…
каналы при просмотре на телевизоре периодически зависают, при первом зависании достаточно переключить канал, но со второго или третьего зависания переключение каналов уже не помогает и приходиться в диспетчере задач принудительно снимать задачу ace_engine…
лог прилагается…


А как он может что-то вернуть, если на порте ничего не висит? Отлавливаете таймаут и тут либо нет Ace, либо он не запущен. Как запускать AceEngine из браузера без npapi я пока не в курсе и не уверен, что это вообще реально в текущих условиях и политике безопасности.

Уже и так таймаут отлавливаю, но это как-то не правильно, да ладно. А на счет запуска AceEngine - я имел ввиду, чтоб его нельзя было закрыть без нажатия кнопки закрыть в трее. Чтоб при любом крахе AceEngine перезапускался. Или какое-нибудь мизерное приложение следило за AceEngine и в случае сбоя перезапускало его. Как то так…

Я имел ввиду то, что чтобы проверять наличие AceEngine нужен какой-то инструмент, который бы пытался запустить AceEngine и уже потом была проверка по json . Но, к сожалению, я такого инструмента не знаю и не уверен, что он будет без npapi. А тогда будет жопа для всех сервисов с Ace :slight_smile: