<UPDATE>: Установка AceStream 3.1.27 на базе Raspbian for Raspberry Pi 3 B+.

Ввиду того что мы пока не уверены в полной поддержки разными OS, решили протестовать на том что рекомендует офф. Разработчики, а именно: Raspbian Stretch Lite(Release notes). Использовать будем только как сервер и конкректно в качестве AceStream + HTTPAceProxy.

Для того чтобы в Raspbian активировать SSH по умолчанию, записываем файл изображения, как обычно, на SD-карту. После завершения действия вы не сразу извлекайте карту из устройства чтения карт, а откройте /boot загрузочный раздел системы Raspbian в файловом менеджере по вашему выбору и создайте пустой файл с именем ssh.

Каждое Raspbian Image идентично, поэтому пользователь, созданный в системе, всегда «pi» с паролем «raspberry». Это можно быстро изменить с помощью команды passwd.

Дальше как обычно:

apt-get update

1. Устанавливаем Ace Stream Media(версия: 3.1.27).

wget -o - https://sybdata.de/files/public-docs/acestream.zip -O acestream.zip
unzip acestream.zip -d /opt/

1b. Update > версия: 3.1.28

wget -o - https://sybdata.de/files/public-docs/acestream_3.1.28_py2.7.14_webUI_ARMv8l.tar.gz
tar --show-transformed-names --transform='s/acestream_3.1.28_py2.7.14_webUI_ARMv8l/acestream.engine/' -vzxf acestream_3.1.28_py2.7.14_webUI_ARMv8l.tar.gz
mv acestream.engine /opt/acestream.engine/

 

2. Настраиваем запуск в фоновом режиме.

apt-get install curl
curl -sSL https://raw.githubusercontent.com/sybdata/acestream/master/acestream.service > /etc/systemd/system/acestream.service
chmod +x /opt/acestream/acestream.engine/acestream.start
chmod +x /opt/acestream/acestream.engine/acestream.stop
systemctl daemon-reload
systemctl enable acestream.service
systemctl start acestream.service

6. Устанавливаем HTTPAceProxy.

apt-get install unzip python-gevent python-pip python-dev gcc
pip install --upgrade pip
pip install psutil --upgrade
pip install gevent --upgrade
apt-get remove gcc python-pip python-dev
apt-get autoremove
wget -o - https://github.com/pepsik-kiev/HTTPAceProxy/archive/master.zip -O aceproxy.zip 
unzip aceproxy.zip -d /opt/
curl -sSL https://raw.githubusercontent.com/sybdata/acestream/master/aceproxy.service > /etc/systemd/system/aceproxy.service
systemctl daemon-reload
systemctl enable aceproxy.service
systemctl start aceproxy.service
systemctl status aceproxy.service

Важно: прокси запускается от пользователя, мы используем уже существующего <pi>

Здесь можно посмотреть логи работы aceproxy: log1, log2

логи работы acestram: log1

Using python 2.7.14 .....
Try to load conf file /acestream.engine/acestream.conf
Start AceStream engine .....
Load library: /acestream.engine/eggs/six-1.11.0-py2.7.egg
Load library: /acestream.engine/eggs/chardet-4.0.0-py2.7.egg
Load library: /acestream.engine/eggs/urllib3-1.22-py2.7.egg
Load library: /acestream.engine/eggs/futures-3.2.0-py2.7.egg
Load library: /acestream.engine/eggs/certifi-2018.1.18-py2.7.egg
Load library: /acestream.engine/eggs/iso8601-0.1.12-py2.7.egg
Load library: /acestream.engine/eggs/enum34-1.1.6-py2.7.egg
Load library: /acestream.engine/eggs/xmltodict-0.11.0-py2.7.egg
Load library: /acestream.engine/eggs/html5lib-1.0.1-py2.7.egg
Load library: /acestream.engine/eggs/singledispatch-3.4.0.3-py2.7.egg
Load library: /acestream.engine/eggs/Routes-2.4.1-py2.7.egg
Load library: /acestream.engine/eggs/beautifulsoup4-4.6.0-py2.7.egg
Load library: /acestream.engine/eggs/webencodings-0.5.1-py2.7.egg
Load library: /acestream.engine/eggs/websocket_client-0.46.0-py2.7.egg
Load library: /acestream.engine/eggs/dnspython-1.15.0-py2.7.egg
Load library: /acestream.engine/eggs/idna-2.6-py2.7.egg
Load library: /acestream.engine/eggs/pkg_resources.egg
Load library: /acestream.engine/eggs/requests-2.18.4-py2.7.egg
Load library: /acestream.engine/eggs/repoze.lru-0.7-py2.7.egg
Load library: /acestream.engine/eggs/opengraph-0.5-py2.7.egg
2018-03-24 09:37:20,702|MainThread|acestream|language=en_GB.UTF-8
2018-03-24 09:37:20,703|MainThread|acestream|exec_dir='/acestream.engine'
2018-03-24 09:37:20,704|MainThread|acestream|logs_dir='/acestream.engine'
2018-03-24 09:37:20,704|MainThread|acestream|install_dir='/acestream.engine'
2018-03-24 09:37:20,713|MainThread|acestream|init segmenter done: log_path=/acestream.engine/segmenter.log
2018-03-24 09:37:20,713|MainThread|acestream|platform=android
2018-03-24 09:37:20,714|MainThread|acestream|app=acestream
2018-03-24 09:37:20,715|MainThread|acestream|version=3.1.27 code=3012700 revision=fc01 date=2018-03-21
2018-03-24 09:37:20,715|MainThread|acestream|use_local_db=True
2018-03-24 09:37:20,716|MainThread|acestream|use_m2crypto=False
2018-03-24 09:37:20,716|MainThread|acestream|enable debug: 0
2018-03-24 09:37:20,719|MainThread|acestream|get_default_api_version: 2
2018-03-24 09:37:20,720|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2018-03-24 09:37:20,720|MainThread|acestream.coreapp|state_dir='/acestream.engine/.ACEStream'
2018-03-24 09:37:20,744|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:37702
2018-03-24 09:37:20,746|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2018-03-24 09:37:20,746|MainThread|acestream.LM|listen on 8621
2018-03-24 09:37:20,810|MainThread|acestream.VideoServer|start: addr= port=6878 allow_remote=1 allow_intranet=1
2018-03-24 09:37:20,814|MainThread|acestream.VideoServer|start: addr= port=6879 allow_remote=1 allow_intranet=1
2018-03-24 09:37:20,830|ServiceTaskQueueThread-2|acestream.Session|sync_time: no response
2018-03-24 09:37:20,837|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:43933
2018-03-24 09:37:20,839|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=62062
2018-03-24 09:37:20,874|Instance2InstanceThread-26|acestream.APIServer|run: ready to receive remote commands on 62062

 

для мониторинга температуры и трафика можно по желанию поставить что то типа этого:

apt-get install nginx
/etc/init.d/nginx start
apt-get install php7.0 php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php-pear php7.0-imagick php7.0-imap php7.0-mcrypt php7.0-memcache php7.0-sqlite php7.0-zip
curl https://pi-control.de/pic_installer | sudo bash  #если не из под root !

меняем порт:

nano /etc/nginx/sites-enabled/default
...
# Default server configuration
#
server {
        listen 8080 default_server;
        listen [::]:8080 default_server;

 

 

 

 

Далее: Отчасти уже устаревшие Инструкции!

Технология AceStream, предоставляющая пользователю доступ к видеопотокам по закрытому P2P протоколу, уже наверняка многим известна и конечно её уже и интенсивно используют. На сегодняшний момент официально существует основная актуальная поддержка только для windows и android(update: для linux также продолжилась поддержка, наконец-то) .

Но теперь есть и хорошая новость для обладателей медиаплеера на основе raspberry 3 (OSMC): благодаря усилиям активного Пользователя с ресурса 4pda.ru, появилась сборка с актуальной версией acestream и под arm, что позволило установить его прямо на raspberry pi. В этой статье предлагается инструкция по установке acestream на raspberry pi 3.

Установка AceStream 3.1.14.0 на базе OSMC Test Builds for Kodi 18 for Raspberry Pi 1 & 2/3.

Важно!

требуется чтобы следующие порты были у вас свободны и открыты:

8000, 6878, 8621, 62062

для WebGUI  Supervisor port 9033

монитор движка acestream по умолчанию  8621

Устанавливаем крайнюю стабильную версию: https://osmc.tv/download/.

1. Добавляем gmc-18 repository и обновляем версию osmc до 18.

login as: osmc
osmc@192.168.178.116's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jan 15 12:23:09 2017 from sybdata.fritz.box

osmc@osmc:~$ sudo -i
root@osmc:~#
root@osmc:~# nano /etc/apt/sources.list

root@osmc:~# apt-get update 
root@osmc:~# apt-get dist-upgrade
root@osmc:~# apt-get install rbp2-mediacenter-osmc
root@osmc:~# dpkg -l | grep mediacenter-osmc | awk '{ print $3 }'
17.8-011

2. Устанавливаем Ace Stream Media(версия: 3.1.14.0).

root@osmc:~# cd ..
root@osmc:/# cd home/osmc/.kodi/
root@osmc:/home/osmc/.kodi# wget http://cloud.sybdata.com/acestream_3.1.14.tar.gz
...
HTTP request sent, awaiting response... 200 OK
Length: 27143854 (26M) [application/x-gzip]
Saving to: 'acestream_3.1.14.tar.gz'

acestream_3.1.14.ta 100%[=====================>]  25.89M  2.10MB/s   in 17s

2017-01-15 16:45:23 (1.56 MB/s) - 'acestream_3.1.14.tar.gz' saved [27143854/27143854]

root@osmc:/home/osmc/.kodi# tar -xzf acestream_3.1.14.tar.gz

3. Настраиваем запуск в фоновом режиме.

  1. Способ(штатный и основной) с помощью systemd:
root@osmc:~# curl -sSL https://raw.githubusercontent.com/sybdata/acestream/master/acestream.service > /etc/systemd/system/acestream.service
root@osmc:~# systemctl daemon-reload
root@osmc:~# systemctl enable acestream.service
root@osmc:~# systemctl start acestream.service

 

Второй способ это с помощью supervisor:

root@osmc:/# cd /etc/supervisor/conf.d/
root@osmc:/etc/supervisor/conf.d# wget http://cloud.sybdata.com/supervisord.conf
HTTP request sent, awaiting response... 200 OK
Length: 262 [text/x-config]
Saving to: 'supervisord.conf'

supervisord.conf    100%[=====================>]     262  --.-KB/s   in 0s

2017-01-15 16:56:53 (2.20 MB/s) - 'supervisord.conf' saved [262/262]
root@osmc:~# systemctl enable supervisor
Synchronizing state for supervisor.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d supervisor defaults
Executing /usr/sbin/update-rc.d supervisor enable
root@osmc:~# systemctl start supervisor
root@osmc:~# service supervisor status
* supervisor.service - LSB: Start/stop supervisor
   Loaded: loaded (/etc/init.d/supervisor)
   Active: active (running) since Sun 2017-01-15 12:41:49 CET; 7min ago
   CGroup: /system.slice/supervisor.service
           `-668 /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supe...

Jan 15 12:41:49 osmc supervisor[664]: Starting supervisor: supervisord.
Jan 15 12:41:49 osmc systemd[1]: Started LSB: Start/stop supervisor.
Jan 15 12:48:49 osmc systemd[1]: Started LSB: Start/stop supervisor.




Проверка наличия движка:

4. Настраиваем supervisor webgui

В файле /etc/supervisor/supervisord.conf добавляем в конце следующюю запись:

[inet_http_server]
port=*:9903
username=user
password=0000

проверяем

5. Получение потока.

в формате HLS:

http://127.0.0.1:6878/ace/manifest.m3u8?id=dd1e67078381739d14beca697356ab76d49d1a2d

Запуск HLS-трансляции:

http://127.0.0.1:6878/hls/manifest.m3u8?manifest_url=http%3A%2F%2Fwin.cdn.bonus-tv.ru%2FTVB7%2Fntv%2Fplaylist.m3u8

 

по HTTP:

http://127.0.0.1:6878/ace/getstream?id=dd1e67078381739d14beca697356ab76d49d1a2d

6. Получение потока через Ace Stream HTTP Proxy.

Установка Ace Stream HTTP Proxy:

root@osmc:~# apt-get install git unzip python-gevent python-pip python-dev gcc
root@osmc:~# pip install psutil
root@osmc:~# pip install psutil --upgrade
root@osmc:~# pip install gevent --upgrade
root@osmc:~# apt-get remove gcc python-pip python-dev
root@osmc:~# apt-get autoremove
root@osmc:~# cd /
root@osmc:/# git clone https://github.com/AndreyPavlenko/aceproxy.git
root@osmc:/# adduser --disabled-password --gecos "" aceproxy
root@osmc:~# curl -sSL https://raw.githubusercontent.com/sybdata/acestream/master/aceproxy.service > /etc/systemd/system/aceproxy.service
root@osmc:~# systemctl daemon-reload
root@osmc:~# systemctl enable aceproxy.service
root@osmc:~# systemctl start aceproxy.service
root@osmc:~# systemctl status aceproxy.service

3 комментария

  1. Макс

    А еще вылезла такая проблема:

    apt-get install rbp2-mediacenter-osmc

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    rbp2-mediacenter-osmc : Depends: libtinyxml2.6.2v5 but it is not installable
    Depends: libmicrohttpd12 but it is not installable
    Depends: libmariadbclient18 but it is not installable
    Depends: libpng16-16 but it is not installable
    Depends: libtag1v5-vanilla but it is not installable
    Depends: libgif7 but it is not installable
    Depends: libpcrecpp0v5 but it is not installable
    Depends: libssl1.0.2 but it is not installable
    Depends: libplist3 but it is not installable
    Depends: libcrossguid0 but it is not installable
    E: Unable to correct problems, you have held broken packages.

    Из какого репозитория взять их — не понятно…

    Ответить
  2. sybdata

    ман не актуален и давно не обновлялся, ссылки и версии устарели

    Acestream уже 3.1.23
    крайняя обнова про размер кэша VOD особенно интересна и по возможности перепишу или дополню этот ман
    Изменения:

    3.1.23:
    - можно задавать размер кэша VOD в настройках приложения
    - исправлено несколько багов
    3.1.22:
    - Теперь можно смотреть фильмы даже в том случае, если на диске недостаточно места для полной загрузки файла.
    3.1.21.2:
    - Исправлены проблемы с выбором плеера
    - Исправлен баг с несохранением настроек (папка кэша).
    - Добавлена поддержка протокола Ace Cast. Теперь приложение может находить другие устройства с поддержкой Ace Cast в локальной сети и запускать воспроизведение контента на этих устройствах.

    3.1.21.1 ATV:
    - Исправлен баг с несохранением настроек (папка кэша).
    - исправлена навигация с раздела "Отчёт об ошибке".
    - Исправлена проблема с запуском на Android 8.0

    3.1.19.1:
    - Исправлена проблема с "зависанием" приложения на Android 7
    3.1.19.0:
    - Уменьшен обьем используемой оперативной памяти
    3.1.18.0:
    - Исправлены проблемы с воспроизведением live контента в MX Player с использованием формата выдачи HTTP.
    3.1.17.0:
    - приложение теперь требует меньше разрешений
    - добавлена возможность переключать язык в настройках приложения

    Ответить

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *