Запуск acestream CentOS 7

root ~ # cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

Движок CentOS 7 amd64: http://dl.acestream.media/centos/7/acestream_3.0.3_centos_7_amd64.tar.gz

root ~ # /opt/acestream/acestreamengine --lib-path /opt/acestream --version
version: 3.0.3 revision: 1355M

root ~ # /opt/acestream/acestreamengine --client-console

[details=Spoiler]2018-01-29 17:07:58,386|MainThread|acestream|error during startup
Traceback (most recent call last):
File “core.c”, line 1591, in
File “core.c”, line 423, in
File “core.c”, line 243, in
File “core.c”, line 63, in
File “ACEStream/third_party/pychromecast/pychromecast/init.py”, line 12, in
File “ACEStream/third_party/pychromecast/pychromecast/config.py”, line 6, in
ImportError: No module named requests
[/details]файл подкидываю, но он его не видит /opt/acestream/lib/requests-2.12.5-py2.7.egg

Движок Ubuntu 16:amd64: http://dl.acestream.media/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz
root ~ # /opt/acestream_3.1.16/acestreamengine --lib-path /opt/acestream_3.1.16 --version
version: 3.1.16 revision: 3258

root ~ # /opt/acestream_3.1.16/acestreamengine --client-console

[details=Spoiler]2018-01-29 17:07:22,613|MainThread|acestream|init segmenter done: log_path=/root/.ACEStream/logs/segmenter.log
2018-01-29 17:07:22,614|MainThread|acestream|platform=linux
2018-01-29 17:07:22,614|MainThread|acestream|app=acestream
2018-01-29 17:07:22,614|MainThread|acestream|version=3.1.16 code=3011600 revision=3258 date=2017-02-08
2018-01-29 17:07:22,614|MainThread|acestream|use_local_db=True
2018-01-29 17:07:22,615|MainThread|acestream|use_m2crypto=True
2018-01-29 17:07:22,615|MainThread|acestream|enable debug: 0
2018-01-29 17:07:22,616|MainThread|acestream|get_default_api_version: 2
2018-01-29 17:07:22,617|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2018-01-29 17:07:22,617|MainThread|acestream.coreapp|state_dir=u’/root/.ACEStream’
2018-01-29 17:07:22,643|MainThread|acestream.coreapp|cannot load session config, use default
2018-01-29 17:07:22,645|MainThread|acestream|failed to init app
Traceback (most recent call last):
File “core.c”, line 336, in
File “core.c”, line 1064, in
File “core.c”, line 1054, in
File “ACEStream/Core/Session.py”, line 167, in init
File “ACEStream/Core/Overlay/permid.py”, line 42, in generate_keypair
File “/usr/lib64/python2.7/site-packages/M2Crypto/EC.py”, line 269, in gen_params
return EC(m2.ec_key_new_by_curve_name(curve), 1)
File “/usr/lib64/python2.7/site-packages/M2Crypto/EC.py”, line 106, in init
assert m2.ec_key_type_check(ec), “‘ec’ type error”
ValueError: Received a NULL pointer.
[/details]
Пытаюсь запустить эти движки, но пока безрезультатно.
Кто может чем помочь.

Редхатообразные дистрибутивы как были со своими задвигами, так и остались.

Порядок действий примерно такой:

  1. Качаем два архива (отсюда AceStream 3.0/en - Ace Stream Wiki - CentOS-7-amd64) и (отсюда Download - Ace Stream Wiki Debian-8-amd64)
  2. Распаковываем 3.1.16 версию в /opt, а 3.0.3 версию в /tmp, например.
  3. Переписываем содержимое из 3.0.3 ./usr/local/ssl/lib в 3.1.16 ./lib, плюс копируем файл M2Crypto-0.21.1-py2.7-linux-x86_64.egg из 3.0.3 ./lib в 3.1.16 ./lib. После этого 3.0.3 версия уже не нужна.
  4. Устанавливаем дополнительные зависимости (python-setuptools net-tools libxslt-python python-apsw), причем для некоторых могут понадобиться сторонние репозитории.
  5. Пробуем запускать движок через “start-engine --client-console”.
    Если сам запуск успешен, но в логах есть ругань на плагины, то можно либо продолжать разбираться с тем, какого именно модуля/компонента/версии не хватает, либо просто удалить сбойный плагин из ./data/plugins

В идеале должно быть как-то так:


Не знаю правильно или нет, но результат пока положительный. Движок запустился.
Я скачал и распаковал архив отсюда http://dl.acestream.media/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz.
Все что в пункте 4 я установил + установлено m2crypto-0.23.0-2.fc24.x86_64.rpm. Обновил Openssl до openssl-1.1.0g не знаю влияет оно на что-нибудь или нет уже обновил.
Потом решил до слияния библиотек за пустить движок и о чудо.

root ~ # /opt/acestream_3.1.16_debian_8.7/start-engine --client-console

[details=Spoiler]2018-01-29 22:10:51,859|MainThread|acestream|init segmenter done: log_path=/root/.ACEStream/logs/segmenter.log
2018-01-29 22:10:51,870|MainThread|acestream|platform=linux
2018-01-29 22:10:51,870|MainThread|acestream|app=acestream
2018-01-29 22:10:51,870|MainThread|acestream|version=3.1.16 code=3011600 revision=3258 date=2017-02-08
2018-01-29 22:10:51,871|MainThread|acestream|use_local_db=True
2018-01-29 22:10:51,882|MainThread|acestream|use_m2crypto=True
2018-01-29 22:10:51,891|MainThread|acestream|enable debug: 0
2018-01-29 22:10:51,917|MainThread|acestream|get_default_api_version: 2
2018-01-29 22:10:51,917|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2018-01-29 22:10:51,918|MainThread|acestream.coreapp|state_dir=u’/root/.ACEStream’
2018-01-29 22:10:52,188|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:34073
2018-01-29 22:10:52,188|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2018-01-29 22:10:52,189|MainThread|acestream.LM|listen on 8621
2018-01-29 22:10:52,368|MainThread|acestream.VideoServer|start: addr= port=6878 allow_remote=0 allow_intranet=1
2018-01-29 22:10:53,123|MainThread|acestream.Livestreamer|Failed to load plugin news
Traceback (most recent call last):
File “ACEStream/PluginsContainer/livestreamer/session.py”, line 417, in load_plugins
File “ACEStream/PluginsContainer/livestreamer/session.py”, line 479, in load_plugin
File “/opt/acestream_3.1.16_debian_8.7/data/plugins/news.py”, line 10, in
from lxml.html.clean import clean_html, Cleaner
File “build/bdist.linux-x86_64/egg/lxml/html/init.py”, line 54, in
File “build/bdist.linux-x86_64/egg/lxml/etree.py”, line 7, in
File “build/bdist.linux-x86_64/egg/lxml/etree.py”, line 6, in bootstrap
ImportError: /root/.python-eggs/lxml-3.7.2-py2.7-linux-x86_64.egg-tmp/lxml/etree.so: undefined symbol: PyFPE_jbuf
2018-01-29 22:10:53,604|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:53353
2018-01-29 22:10:53,605|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=62062
2018-01-29 22:10:53,606|Instance2InstanceThread-30|acestream.APIServer|run: ready to receive remote commands on 62062[/details]

Спасибо Benny.

Загрузка acestreamengine останавливается на этом шаге:

[details=Spoiler][root@mx1 ~]# /opt/acestream/start.sh --client-console
2019-03-28 11:50:07,680|MainThread|acestream|platform=linux
2019-03-28 11:50:07,680|MainThread|acestream|app=acestream
2019-03-28 11:50:07,680|MainThread|acestream|version=3.0.3 code=3000300 revision=1355M date=2014-10-30
2019-03-28 11:50:07,680|MainThread|acestream|use_local_db=False
2019-03-28 11:50:07,681|MainThread|acestream|use_m2crypto=True
2019-03-28 11:50:07,681|MainThread|acestream|enable debug: 0
2019-03-28 11:50:07,681|MainThread|acestream|get_default_api_version: 2
2019-03-28 11:50:07,681|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2019-03-28 11:50:07,983|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:53533
2019-03-28 11:50:07,983|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2019-03-28 11:50:07,984|MainThread|acestream.LM|listen on 8621
2019-03-28 11:50:07,996|MainThread|acestream.VideoServer|start: addr=127.0.0.1 port=6878
2019-03-28 11:50:08,005|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:35195
2019-03-28 11:50:08,005|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=127.0.0.1 port=62062
2019-03-28 11:50:08,006|Instance2InstanceThread-24|acestream.APIServer|run: ready to receive remote commands on 62062
2019-03-28 11:50:08,255|AceStreamCoreThread|acestream.LM|start_multicast: error
Traceback (most recent call last):
File “ACEStream/Core/APIImplementation/LaunchManyCore.py”, line 997, in start_multicast
File “ACEStream/Core/BitTornado/RawServer.py”, line 380, in create_multicast_sockets
File “ACEStream/Core/BitTornado/SocketHandler.py”, line 794, in create_multicast_sockets
File “ACEStream/Core/BitTornado/SocketHandler.py”, line 898, in get_local_ips
gaierror: [Errno -2] Name or service not known[/details]

сеть (DNS) настроить нужно. Или, как минимум, в hosts прописать имя/IP хоста.

Так проблема похоже не в этом а в мультикасте
В хосте вот так:

[details=Spoiler]
127.0.0.1 hostname.ru localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

dig ys.ru

; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> ys.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27618
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;ys.ru. IN A

;; ANSWER SECTION:
ys.ru. 3600 IN A 109.206.181.75

;; Query time: 99 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Thu Mar 28 14:04:12 +05 2019
;; MSG SIZE rcvd: 50[/details]

Проблема не “в мультикасте”, а в том, что SocketHandler.py не может сопоставить/получить имя/IP хоста по доступной ему информации - как правило, это вызвано либо ошибками в настройке сети, либо как следствие какой-нить “урезанной” конфигурации (VDS/VPS/контейнер), в редких случаях - политиками selinux.

В предыдущем логе я вижу имя хоста “mx1”. Где эта запись в hosts и зачем проверять через dig какой-то “ys.ru”? В данном случае смысл не в определении адреса какого-то удаленного хоста, а в правильном резолве/бекрезолве локального.

PS - “простыни” вывода из консоли - прячем под “спойлер”. Да, и пока не поздно - точно нужна именно древняя 3.0.3 версия движка? А то как бы следующим вопросом не было “почему у меня не работает” применительно к фичам из 3.1.х.

Спасибо, вроде стало запускаться,

Spoiler

[root@zabbix ~]# /opt/acestream/start.sh --client-console --service-remote-access
2019-03-28 14:51:45,592|MainThread|acestream|platform=linux
2019-03-28 14:51:45,592|MainThread|acestream|app=acestream
2019-03-28 14:51:45,592|MainThread|acestream|version=3.0.3 code=3000300 revision=1355M date=2014-10-30
2019-03-28 14:51:45,593|MainThread|acestream|use_local_db=False
2019-03-28 14:51:45,593|MainThread|acestream|use_m2crypto=True
2019-03-28 14:51:45,593|MainThread|acestream|enable debug: 0
2019-03-28 14:51:45,594|MainThread|acestream|get_default_api_version: 2
2019-03-28 14:51:45,594|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2019-03-28 14:51:46,049|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:49405
2019-03-28 14:51:46,050|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2019-03-28 14:51:46,050|MainThread|acestream.LM|listen on 8621
2019-03-28 14:51:46,067|MainThread|acestream.VideoServer|start: addr=127.0.0.1 port=6878
2019-03-28 14:51:46,072|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:55413
2019-03-28 14:51:46,072|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=127.0.0.1 port=62062
2019-03-28 14:51:46,073|Instance2InstanceThread-24|acestream.APIServer|run: ready to receive remote commands on 62062

Но, на 6878 и на 8621 web интерфейс не запускается

А я предупреждал - “а то как бы следующим вопросом не было “почему у меня не работает” применительно к фичам из 3.1.х”.

Запустил новую версию, в консоль вываливает: deny access from
при этом пробовал запускать с --service-remote-access, а также прописывать в файл acestream.conf и добавлять параметр “1”

см. Медиа-Сервер и ниже.

Спасибо, почему на вики не слово что переименовали?
Не получается добавить плейлист вида:

Spoiler

#EXTINF:-1 acestream-autosearch=“1” group-title=“sport”,morningstreams.com - Sky Sports F1 HD - 1080p
magnet:?xt=urn:btih:cbbf4c8f6eea7e5ffa1e13e0c49b2717a99bb673
#EXTINF:-1 acestream-autosearch=“1” group-title=“webcam”,Матч! Арена (allfon)
magnet:?xt=urn:btih:e74fdf4d1e6fa6915d085133f849937aa99e4292
#EXTINF:-1 acestream-autosearch=“1” group-title=“tv”,Матч! Арена HD
magnet:?xt=urn:btih:e74fdf4d1e6fa6915d085133f849937aa99e4292

после нажатия на кнопку ничего не происходит просто

Не “переименовали”, а именно для веб-интерфейса эти ключи называются иначе. Но вики не обновлена, это да.

Не факт, что 3.1.16 поймет “магниты” в импортируемом плейлисте, эта фича только с 3.1.28 и дальше вроде как есть (нужно проверять). Оптимально использовать для импорта в медиа-сервер плейлисты, содержащие “acestream://” ссылки.

Спасибо, все заработала, проблема с маршрутизацие была, а плейлист даже с магнитами работает. Спасибо за помощь.