Установка aceproxy возможна и в Windows, и в Linux. Последний вариант полегче, его и рассмотрим далее.
Перед установкой aceproxy, нужно установить Ace Stream Engine. Всё это можно сделать и в Windows, и в Linux, но в последнем случае у меня получилось всё настроить намного быстрее (на Ubuntu 17.10).
Существует несколько версий aceproxy:
- https://github.com/ValdikSS/aceproxy
- https://github.com/AndreyPavlenko/aceproxy
- https://github.com/pepsik-kiev/HTTPAceProxy
Сколько я не мучился с первыми двумя, ничего так и не заработало. К тому же приходилось даже заменять устаревший код в двух местах, мучиться с зависимостями со старым софтом. HTTPAceProxy от pepsik-kiev в этом плане показал себя намного лучше.
Для начала поставим зависимости:
sudo apt-get install python-gevent git python-psutil python-pkg-resources
Клонируем себе обновляемый код из репозитория HTTPAceProxy от pepsik-kiev:
cd /opt
git clone https://github.com/pepsik-kiev/HTTPAceProxy/
Далее редактируем настройки в /opt/HTTPAceProxy/aceconfig.py:
- acespawn = True - автоматически запускаем Ace Stream Engine при запуске aceproxy
- --live-buffer для онлайн каналов можно присвоить значение 50 (при 25, установленных по умолчанию, у меня появлялась постоянна буферизация, так что смотреть было практически невозможно)
- --live-cache-type memory - храним кэш в ОЗУ, а не на диске
- --log-debug 0 - чтобы лишний логи не писались (особенно актуально при наличии SSD)
acespawn = True
acecmd = "/opt/acestream/acestreamengine --client-console \
--live-cache-type memory \
--live-mem-cache-size 209715200 \
--upload-limit 0 \
--live-buffer 70 \
--vod-buffer 300 \
--log-debug 0"
Также в Output format (Live) и (VOD) для предотвращения буферизации может понадобиться изменить настройки на original, auto, HTTP или HLS. В каждом случае это индивидуально.
Для запуска aceproxy нужно выполнить следующую команду:
python /opt/HTTPAceProxy/acehttp.py
Убедитесь, что прокси успешно стартует, ошибок (error) не возникает.
При этом в терминале можно увидеть как IP адрес компьютера, так и используемый порт. Именно эти данные понадобятся далее для создания плейлиста. Если обратиться по тому же IP адресу, но использовать другой порт, то умный телевизор с OTT Player ничего не покажет. Также проблема может возникать, если на роутере не проброшен порт.
Если порт занят или вы хотите его изменить по какой-то другой причине, то в aceconfig.py отредактируйте следующие строчки:
# HTTP Server port
httpport = 8000
В общем-то на этом можно остановиться. Но удобнее конечно добавить автоматический запуск acestreamengine и aceproxy, чтобы не делать это вручную после перезапуска компьютера.
Устанавливаем supervisor
sudo apt-get install supervisor
Редактируем настройки /etc/supervisor/conf.d/supervisord.conf:
[supervisord]
nodaemon=true
[program:acestream]
command=/opt/acestream/acestreamengine --client-console --live-cache-type memory --live-mem-cache-size 209715200 --upload-limit 0 --live-buffer 70 --vod-buffer 300 --log-debug 0 $
directory=/opt/acestream/
stdout_logfile=/var/log/supervisor/acest ream.log
stderr_logfile=/var/log/supervisor/acest ream.log
priority=999
startsecs=5
autostart=true
[program:acehttp]
command=python /opt/HTTPAceProxy/acehttp.py
directory=/opt/HTTPAceProxy/
stdout_logfile=/var/log/supervisor/aceht tp.log
stderr_logfile=/var/log/supervisor/aceht tp.log
startsecs=30
priority=1
autostart=true
autorestart=true
Задействуем supervisor
systemctl enable supervisor
Запускаем
systemctl start supervisor
Проверяем статус
service supervisor status
Если всё в порядке, то увидим что-то вроде
янв 26 21:03:37 athunder-PC systemd[1]: Started Supervisor process control system for UNIX.
янв 26 21:03:38 athunder-PC supervisord[802]: 2018-01-26 21:03:38,768 CRIT Supervisor running as root (no use
янв 26 21:03:38 athunder-PC supervisord[802]: 2018-01-26 21:03:38,769 INFO Included extra file "/etc/supervis
янв 26 21:03:38 athunder-PC supervisord[802]: 2018-01-26 21:03:38,786 INFO RPC interface 'supervisor' initial
янв 26 21:03:38 athunder-PC supervisord[802]: 2018-01-26 21:03:38,786 CRIT Server 'unix_http_server' running
янв 26 21:03:38 athunder-PC supervisord[802]: 2018-01-26 21:03:38,786 INFO supervisord started with pid 802
янв 26 21:03:39 athunder-PC supervisord[802]: 2018-01-26 21:03:39,789 INFO spawned: 'acehttp' with pid 949
янв 26 21:03:39 athunder-PC supervisord[802]: 2018-01-26 21:03:39,793 INFO spawned: 'acestream' with pid 950
янв 26 21:03:45 athunder-PC supervisord[802]: 2018-01-26 21:03:45,066 INFO success: acestream entered RUNNING
янв 26 21:04:10 athunder-PC supervisord[802]: 2018-01-26 21:04:10,346 INFO success: acehttp entered RUNNING
Перегружаем компьютер и переходим к поиску и настройке плейлистов для OTT Player.
В таком варианте aceproxy спокойно раздавал параллельно 2 онлайн ТВ канала на умные телевизоры в локальной сети, причём даже при использовании старенького компьютера с процессором core 2 duo e6300. При этом совершенно не важно, один и тот же канал вы смотрите или два различных. Кстати, поскольку это пиринговое онлайн ТВ и требуется буферизация онлайн потока Ace Stream, то при просмотре одного и того же канала в локальной сети на разных устройствах, видео на них воспроизводится не синхронно (т.е. вы можете спокойно смотреть один и тот же канал в разных комнатах, но при этом на одном из устройств может быть значительная задержка с началом воспроизведения того же контента).
Единственный недостаток такого решения - необходимость наличия компьютера или другого устройства, на котором будет работать aceproxy. Если компьютер слабый, а вы параллельно будете на нём работать, то это может сказаться на качестве воспроизведения видео на Смарт ТВ.
Свой proxy присутствует и в самом в acestream версии 3.1+. Но в данный момент идёт его тестирование, а разработчики планируют сделать его платным в будущем. Так что aceproxy от ValdikSS и его ответвления от AndreyPavlenko pepsik-kiev - это отличные бесплатные альтернативы. Кроме того, proxy от acestream у меня нормально так и не заработал, тогда aceproxy удалось успешно настроить для просмотра пирингового ТВ на основе Ace Stream.
В Ubuntu 18.04 и 18.10 acestream уже не установился из репозитория (такой вариант доступен до Убунту 16.04, хотя также работает и в 17.10).
acestream можно поставить при помощи snap:
sudo snap install acestreamplayer
Далее попробовал изменить путь к AceStream Engine в двух конфигурационных файлах:
/opt/HTTPAceProxy/aceconfig.py:
acecmd = "/snap/bin/acestreamplayer.engine --client-console \
--live-cache-type memory \
--live-mem-cache-size 209715200 \
--upload-limit 0 \
--live-buffer 70 \
--vod-buffer 300 \
--log-debug 0"
/etc/supervisor/conf.d/supervisord.conf:
[supervisord]
nodaemon=true
[program:acestream]
command=/snap/bin/acestreamplayer.engine --client-console --live-cache-type memory --live-mem-cache-size 209715200 --upload-limit 0 --live-buffer 70 --vod-buffer 300 --log-debug 0 $
directory=/snap/bin/acestreamplayer.engine/current/
stdout_logfile=/var/log/supervisor/acest ream.log
stderr_logfile=/var/log/supervisor/acest ream.log
priority=999
startsecs=5
autostart=true
[program:acehttp]
command=python /opt/HTTPAceProxy/acehttp.py
directory=/opt/HTTPAceProxy/
stdout_logfile=/var/log/supervisor/aceht tp.log
stderr_logfile=/var/log/supervisor/aceht tp.log
startsecs=30
priority=1
autostart=true
autorestart=true
Но результата пока не добился. В отличии от Ubuntu 17.10, в 18.04и 18.10 не могу найти ошибку.
via
Journal information