acestream-3-1-16 ★ ubuntu-16-04 ★ debian-9 ★ setup

С момента выхода версии acestream_3.0.5.1 для linux систем прошло уже порядком времени и вот наконец-то Разработчики acestream решились всё-таки на мега акцию и выпустили актуальную версию на сегодняшний момент а именно 3.1.16 , в этом обзоре мы посмотрим как это встанет допустим на Ubuntu-16 или debian-9.

Саму Ubuntu на физический сервер мы ставить не будем, пока!, потаму как есть прекрасное облачное железо которое так любезно и что в двойне приятно абсолютно бесплатно предоставляет команда Докера, в дальнейшем после обкатки весь процес установки из dockerfile можно без проблем перенести на физическое железо.

И вот собственно само содержание dockerfile ubuntu,  dockerfile debian

И всё таки пример установки на физический сервер, возьмём свежий Debian 9.4:

cd tmp
apt-get update -y
apt-get install -y ca-certificates libpython2.7 python-m2ext net-tools nano mc python-apsw python-m2crypto unzip wget python-pip curl libxslt1.1
apt-get install --reinstall python-pkg-resources
pip install --upgrade pip 
pip install psutil --upgrade 
pip install gevent --upgrade
apt-get purge python-pip -y
apt-get autoremove -y
wget -o - http://dl.acestream.org/linux/acestream_3.1.16_debian_8.7_x86_64.tar.gz 
tar --show-transformed-names --transform='s/acestream_3.1.16_debian_8.7_x86_64/acestream/' -vzxf acestream_3.1.16_debian_8.7_x86_64.tar.gz
mv acestream /opt/
curl -sSL https://github.com/sybdata/debproxy/raw/master/libcrypto.so.1.0.0 > /opt/acestream/lib/libcrypto.so.1.0.0
curl -sSL https://github.com/sybdata/debproxy/raw/master/libssl.so.1.0.0> /opt/acestream/lib/libssl.so.1.0.0
curl -sSL https://raw.githubusercontent.com/sybdata/debproxy/master/acestream.service > /etc/systemd/system/acestream.service
adduser --disabled-password --gecos "" aceproxy
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/debproxy/master/aceproxy.service > /etc/systemd/system/aceproxy.service
systemctl daemon-reload
systemctl enable acestream.service
systemctl enable aceproxy.service
systemctl start acestream.service
systemctl start aceproxy.service
rm -rf /tmp/* /opt/acestream/data/plugins/*
reboot

проверяем статус движка и прокси:

systemctl status acestream.service
systemctl status aceproxy.service

если всё правильно ту увидите такую картину(это от дебиана на arm но разницы нет):

дальше настраиваем чистку кеша в кроне:

crontab -e
0 */2 * * * find /tmp/state/.ACEStream/collected_torrent_files/* -depth -type f -mmin +5 -print0 | xargs -0 -r rm -f > /dev/null 2>&1

 

проверяем лог:

tail -f -n 20 /tmp/aceproxy.log
2018-03-26 22:44:21,405|MainThread|acestream|init segmenter done: log_path=/root/.ACEStream/logs/segmenter.log
2018-03-26 22:44:21,406|MainThread|acestream|platform=linux
2018-03-26 22:44:21,407|MainThread|acestream|app=acestream
2018-03-26 22:44:21,407|MainThread|acestream|version=3.1.16 code=3011600 revision=3258 date=2017-02-08
2018-03-26 22:44:21,408|MainThread|acestream|use_local_db=True
2018-03-26 22:44:21,408|MainThread|acestream|use_m2crypto=True
2018-03-26 22:44:21,409|MainThread|acestream|enable debug: 0
2018-03-26 22:44:21,412|MainThread|acestream|get_default_api_version: 2
2018-03-26 22:44:21,412|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2018-03-26 22:44:21,413|MainThread|acestream.coreapp|state_dir='/tmp/state/.ACEStream'
2018-03-26 22:44:21,704|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:59151
2018-03-26 22:44:21,705|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2018-03-26 22:44:21,705|MainThread|acestream.LM|listen on 8621
2018-03-26 22:44:21,733|MainThread|acestream.VideoServer|start: addr= port=6878 allow_remote=1 allow_intranet=1
2018-03-26 22:44:22,661|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:56713
2018-03-26 22:44:22,663|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=62062
2018-03-26 22:44:22,666|Instance2InstanceThread-30|acestream.APIServer|run: ready to receive remote commands on 62062
2018-03-26 22:44:24,627|MainThread|acestream.coreapp|onexit

 

 

 

Отличия от версии acestream_3.0.5.1

Что касается самой работы движка то ничего особого мы пока не заметили как то либо в лучшую или худшую сторону, а вот что касается функционала то здесь просто «4 технологическая революция», имеется ввиду конечно же выбор разных форматов потока трансляции и кодирования звука и само сабой это собственный встроенный прокси сервер c веб интерфейсом и возможностью менять настройки, загрузка сторонних плейлистов.

Настраиваем доступ к Прокси-сервер с помощью ключа в команде запуска.

Для первоначальной настройки нужно запустить движок с дополнительным ключом —access-token «some_token» (по умолчанию «access token» генерируется случайным образом при каждом запуске движка). Допустим в супервизоре это будет выглядеть так:

[program:acestream] command=/opt/acestream/start-engine --client-console --access-token 69696969 --...

 

После старта или перезапуска системы или движка, веб-интерфейс будет доступен по этой ссылке   «http://host:6878/webui/app/69696969/server»

После первоначальной настройки сводящейся в задании пароля, веб-интерфейс будет уже доступен по этой ссылке: «http://host:6878/server»

Предлагается для тестирования полноценный Образ Контейнера с уже установленным Acestream 3.1.16 и актуальной AceProxy. Это позволит легко развернуть этот образ  на любой ОС на которой установлен Docker.

Версия на базе Ubuntu 16.04 из repository : https://hub.docker.com/r/sybdata/aceubase/

docker pull sybdata/aceubase

<<<<<<<<<<<<<<Update 26.03.17>>>>>>>>>>>>>>

Добавлен скрипт генерации плейлистов

Скрипт качает json плейлист с суперпомойки, парсит его, выкидывает эротический раздел и генерит стандартный m3u плейлист и m3u плейлист в формате Kodi, для любителей PVR, в папку m3u.
При желании, скрипт довольно гибкий, можно генерить разные плейлисты, меняя url_prefix и играясь с условием .cat != \»$pron\» (например .cat == \»$pron\» для любителей клубнички или генерации плейлистов любых других отдельных категорий).
Так же надо заменить ip адрес в переменной url_prefix на ip вашего сервера:

url_prefix="http://192.168.1.2:6878/ace/getstream?id="

 

путь для редактирования:

nano /mnt/media/playlists/ace.hls_parser.sh

 

Чтобы все плейлисты были доступны через бразузер на вашем сервере вам неоходимо только чтобы вебсервер, а это в случае с synology dsm, был активирован и доступен и тогда только пробросить папку  /mnt/media/playlists/m3u из  докера в папку /web/media/playlists/m3u на synology dsm  и тогда плейлисты будут доступны например по такому адресу http//ip nas/media/playlists/m3u/ttv.m3u

После монтирования слетают права скрипта(в будущем поправим) и поэтому ещё раз их назначим:

chmod +x /mnt/media/playlists/ace.hls_parser.sh

 

Запустим скрипт:

/mnt/media/playlists/ace.hls_parser.sh

 

 

Осталось прописать и запустить в кроне(в этом контейнере не установлен! требуется доустановить «ручками»!):

crontab -e

 

Добавьте строчки и сохраните, будет обновляться раз в 2 часа:

0 */2 * * * /mnt/media/playlists/ace.hls_parser.sh > /dev/null 2>&1


@reboot sleep 20 && /mnt/media/playlists/ace.hls_parser.sh > /dev/null 2>&1

 


Перезапустите крон:

service cron restart

 

<<<<<<<<<<<<<<Update 26.03.17>>>>>>>>>>>>>>

Изменена команда запуска движка в супервизоре

command=/opt/acestream/start-engine --client-console /opt/acestream/start-engine --client-console --allow_remote_access --bind-all --cache-dir /tmp/.ACEStream --state-dir /opt/state/.ACEStream --log-file /tmp/acestream.log --access-token 69696969 --core-sandbox-max-peers 5 --live-buffer 10 --service-remote-access --stats-report-peers --port 9944

 

Кеш теперь пишет:  —cache-dir /tmp/.ACEStream 

Лог: —log-file /tmp/acestream.log

а также добавлено:

--state-dir /opt/state/.ACEStream 
--allow_remote_access
--bind-all

 

Ключ —bind-all отвечает за удалённый доступ

но вариант с  файлом «playerconf.pickle» тоже оставлю так как он тоже рабочий:

sS'allow_remote_access' 
p(номер записи) 
I01

 

Путь: nano /opt/state/.ACEStream/playerconf.pickle

(dp0
S'total_max_upload_rate'
p1
I0
sS'preferred_video_quality'
p2
S'1080'
p3
sS'preferred_video_bitrate'
p4
S'4'
p5
sS'download_dir'
p6
S'/tmp/.ACEStream'
p7
sS'total_max_download_rate'
p8
I0
sS'disk_cache_limit'
p9
L10737418240L
sS'playlist_output_format_vod'
p10
S'hls'
p11
sS'playlist_output_format_live'
p12
S'hls'
p13
sS'allow_remote_access'
p14
I01
sS'ad_storage_limit'
p15
L1073741824L
sS'max_peers'
p16
I50
sS'preferred_audio_language'
p17
S'rus'
p18
s.

 

 

2017-03-26 15:52:21,412|MainThread|acestream|init segmenter done: log_path=/root/.ACEStream/logs/segmenter.log
2017-03-26 15:52:21,413|MainThread|acestream|platform=linux
2017-03-26 15:52:21,413|MainThread|acestream|app=acestream
2017-03-26 15:52:21,413|MainThread|acestream|version=3.1.16 code=3011600 revision=3258 date=2017-02-08
2017-03-26 15:52:21,414|MainThread|acestream|use_local_db=True
2017-03-26 15:52:21,414|MainThread|acestream|use_m2crypto=True
2017-03-26 15:52:21,414|MainThread|acestream|enable debug: 0
2017-03-26 15:52:21,416|MainThread|acestream|get_default_api_version: 2
2017-03-26 15:52:21,416|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2017-03-26 15:52:21,417|MainThread|acestream.coreapp|state_dir='/opt/state/.ACEStream'
2017-03-26 15:52:21,599|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:46733
2017-03-26 15:52:21,599|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=9944
2017-03-26 15:52:21,599|MainThread|acestream.LM|listen on 9944
2017-03-26 15:52:21,631|MainThread|acestream.VideoServer|start: addr= port=6878 allow_remote=1 allow_intranet=1
2017-03-26 15:52:22,140|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:39592
2017-03-26 15:52:22,141|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=62062
2017-03-26 15:52:22,142|Instance2InstanceThread-30|acestream.APIServer|run: ready to receive remote commands on 62062

 

 

 

81 комментарий

  1. basterboy

    Правильно ли я понимаю, что для работы даже с новым движком, все равно нужен aceproxy, так как не получится смотреть одновременно на разных устройствах?

    Ответить
    • syburoff

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

      пробуйте

      пробовал только что один и тот же поток на разных устройствах и выбивает когда включаешь второе

      так что AceProxy в этом плане выглядит как стоящее дополнение и решение просмотра на разных девайсах.

      Ответить
  2. basterboy

    Спасибо, я пробовал, результат такой же как и у Вас. Решил переспросить, возможно что то упустил, но оказалось, что нет. Спасибо, буду использовать AceProxy. Получается, что админ панель с возможностью разных форматов output потоков это для «одного» пользователя. А если хотим больше одного, то за админку можно забыть с её внутренним прокси, делаем все запросы посредством AceProxy?

    Мне показалось или внутренний прокси гораздо шустрей и стабильней нежели просмотр через AceProxy? Я к тому что, просмотр стартует быстрее и артефакты/буферизация встречаются гораздо реже или можно поиграться с параметрами движка + vlc в конфиге AceProxy и добиться такого же результата?

    Ответить
    • syburoff

      от «услуг» vlc я уже давно отказался

      а так меня порой больше интересует не быстрота старта и переключения а стабильное включение и последующая трансляция потока, конкректно уже описывал в случае с коди 17 когда без увеличения значения ‘videoseekback’ больше чем 0, каналы запускались не с первого раза.

      Ответить
      • basterboy

        А чем же тогда заменили vlc?

        Ответить
        • sybdata

          AceProxy умеет самостоятельно стримить

          Ответить
  3. sybdata

    когда же наконец включат Учет трафика
    чтобы получать Вознаграждение 0,01$ за 1 ГБ пользователю за исходящий трафик (UL), по протоколу Ace Stream

    RX packets 300203568 bytes 166906867759 (166.9 GB)
    TX packets 298811192 bytes 679034572081 (679.0 GB)

    7$ за 4 дня! неплохо, в неделю по червонцу полюбому
    так и не только аренду за vps-server можно спокойно отбить но и выделенный сервер снять и ещё останется на пиво.

    Ответить
  4. adikgala

    Поставил. Работает. Только что-то не могу понять, как почистить папку кеш. Запускаю докер. Потом открываю bash консоль в докере. Пытаюсь сделать по описанию. Только вот «curl» не понимает. Говорит что нет такой команды.

    Ответить
    • sybdata

      файл acecache в крайних образах уже присутствует
      поэ́тому нужно только вбить в cron

      crontab -e
      */30 * * * * /home/tv/acecache

      Ответить
  5. adikgala

    А так ACEPROXY пашет на ура. Только с ACESTREAM не могу разобраться. Какой плейлист можно скормить? Что больше подойдет для Самсунга Smart TV с оф. Торрен тв виджетом?

    Ответить
    • sybdata

      Самсунг Smart TV к сожалению не имеем в домашнем хоз. поэтому не могу проверить

      Ответить
  6. adikgala

    Добрый день! А когда будем ставить на физический сервер? Хотелось на VPS попробовать и за одно Bash-script замутить для автоматической установки Acestream 3.1.1X.

    Ответить
    • sybdata

      Добрый,

      на «физическом» сервере VPS стоят у меня оба движка и пока уживаются и работают как обычно

      в принципе вся установка есть уже в Dockerfile

      Ответить
      • adikgala

        А не поделитесь инфой. Как поставить на VPS c Ubuntu Server 16.10? Пытаюсь идти по вашему мануалу для «AceProxy/Ubuntu-16.04.1 Setup» плюс смотрю что Вы прописали в DOCKER файлах для «Acestream 3.1.1X на Ubuntu-16.04 Setup» и «Docker Noxbit engine» и что-то как-то не получается. Спасибо!

        Ответить
        • sybdata

          да, конечно, только после работы попробую коротко и пошагово,
          кстати мануал “AceProxy/Ubuntu-16.04.1 Setup” это только для старой версии движка!

          Ответить
          • adikgala

            Да. Я уже просёк☺. Просто охота было самому разобраться. Я смотрю Вы там нам Hube что-то новое замутили ? Noxiptv? Новая тема? Понял что Вы живёте в Германии. Я тоже!

          • syburoff

            вот примерный набор команд
            здесь supervisord.conf , есть один момент с перезапуском и поэтому добавленно killall acestreamengine

            Noxiptv это просто попробовал форкнуть iptvserver , ничего интересного не увидел пока но ресурсы грузит под 30% и запускается целая портянка процесов

            да я из гамбурга

          • adikgala

            Спасибо! Попробуем. Сам с Lippstadt’a

  7. marveltm

    Подскажите как привязать acestream к личному кабинету? никак не получается (((((

    Ответить
    • sybdata

      к какому кабинету?
      acestream или torrent-tv

      Ответить
      • marveltm

        acestream. Мне нужен hls поток на выходе, я так понимаю движок это может: На винде у меня полусилось, а вот на VPS не хочет, неправильно отображается как то веб морда.
        а еще при запуске acestream вот такое в логах пишет

        ls: cannot access ‘/dev/disk/by-id/’: No such file or directory

        Ответить
        • sybdata

          чтобы получить hls поток на выходе, можно как вы хотели через веб морду движка, а можно и ещё короче вытянуть с помощью вот такого скрипта

          где в строке: url_prefix=»http://127.0.0.1:6878/ace/manifest.m3u8?id=» правим на свой ip и поток на выходе в hls

          если же надо http поток то строка будет такой: url_prefix=»http://127.0.0.1:6878/ace/getstream?id=»

          как работает этот скрипт смотрите выше в этом же мануале под пунктом

          Добавлен скрипт генерации плейлистов

          не слушате «знатоков» с mytalks.ru, которые удверждают что «HLS Это шлак», что нарезает криво и т.д.
          если железо нормальное то всё нарезает как и должно нарезать и идёт не хуже чем в http

          и кстати это удверждение с выше упомянутого форума, что: «За рубежом P2P Стриминг карается тюрьмой»

          полная брехня! т.к. сам живу там много много лет и кое что в правилах и законах понимаю, особено если это касается кошелька

          Ответить
  8. marveltm

    Давно не заходил к Вам. В последнее время дикие тормоза стали , грешу на VPS, но может дело было в кеше. за 83 дня накопилось — почистил буду пробовать. Но я вот по какому вопросу. Если через AceProxy то каналов на ~200 больше в списке отображается чем через Acestream. Может кончено надо обновлять периодически что то?

    Ответить
    • admin

      Наверное это связано что ттв и Acestream уже не вместе и не дружат

      Ответить
  9. marveltm

    а какая связка сейчас самая стабильная и хорошая? через noxbit ведь не посмотреть архив и страница статистики отсутствует.
    Мне бы вот что бы офф. приложение ТТВ работало с архивом, через данный мануал ведь будет? или можно как то архив через другое ПО смотреть?

    Ответить
    • sybdata

      лично мне пока предпочтительно acestream

      чтобы офф. приложение ТТВ работало с архивом в этой сборке надо доустановить aceproxy от Андрея Павленко
      для этого случая есть другая сборка но её я давно не смотрел и там кое что можно подправить, при желании можете сами уже в контейнере под себя изменить

      Ответить
  10. marveltm

    а что бы плэйлист еще по группам разбивался, так можно сделать?

    Ответить
    • sybdata

      я написал тоже по этому поводу автору скрипта с ресурса 4pda.ru но он походу уже забросил это дело
      можно реализовать сортировку с aceproxy от Андрея Павленко как уже выше писал

      Ответить
    • marveltm

      Взял для тесту другой ВПС, видел что у Вас в файлах уже 17 версия Ubuntu , ну и я тоже взял с 17 — и теперь supervisord не хочет запускаться.

      Почитал что на VPS можно ставить docker . Можно инструкцию Вас попросить накидать или помочь разобраться с supervisord

      Ответить
      • sybdata

        docker ставится и есть вебморда к нему Portainer

        demo
        login admin
        password tryportainer

        supervisord я посмотрю, когда эту сборку буду немного подправлять в некоторых местах

        Ответить
        • marveltm

          с supervisord разобрался, добавил в конфиге

          [supervisord]
          user = root

          и запустилось все. буду тестить дальше

          Ответить
          • sybdata

            только что запускал и supervisor работает

          • marveltm

            root@v:~# systemctl enable supervisor
            Synchronizing state of supervisor.service with SysV service script with /lib/systemd/systemd-sysv-install.
            Executing: /lib/systemd/systemd-sysv-install enable supervisor

            вот что выдает
            а при запуске

            root@v32869:~# service supervisor status
            ? supervisor.service — Supervisor process control system for UNIX
            Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
            Active: activating (auto-restart) (Result: exit-code) since Wed 2017-09-13 10:26:24 MSK; 33s ago
            Docs: http://supervisord.org
            Process: 28449 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS)
            Process: 28446 ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=2)
            Main PID: 28446 (code=exited, status=2)
            Tasks: 36 (limit: 4915)
            CGroup: /system.slice/supervisor.service
            +-13997 /opt/noxbit/./STM-Downloader -pipe_fd=4 -config=noxbit.cfg -dir=/tmp/vcache -keep=67 -time_update=7 -peer_id=910820151915F5D2STMU
            L-14098 /opt/acestream/acestreamengine —lib-path /opt/acestream —client-console —cache-dir /opt/.ACEStream —log-file /opt/acestream.log —access-

            Sep 13 10:26:24 v32869.kvm.u16459 systemd[1]: supervisor.service: Unit entered failed state.
            Sep 13 10:26:24 v32869.kvm.u16459 systemd[1]: supervisor.service: Failed with result ‘exit-code’.

          • sybdata

            а где это у вас установленно?

  11. sybdata

    немного подправил…

    перекачать образ

    реализована сотировка каналов через AceProxy, подписка ттв не требуется

    трансляция hls от движка и дальше в прокси через vlc(установлен v3)

    Ответить
  12. marveltm

    Осталось только научиться на Ubunut ставить docker ну и ваши контейнеры подцеплять ))) буду завтра пробовать! А ничего если будет и ace strem + acehttp proxy и noxbit — все на одном сервере? не помешают они друг другу? вроде порты не пересекаются !

    Ответить
  13. marveltm

    Все заработало =) Спасибо! Есть пару ньюансов — Это как через Portainer сделать проброс на плэйлисты , что бы через веб интерфейс были доступны? nginx я так понимаю тоже можно настроить в контейнере?

    Ответить
    • sybdata

      я так понял вы на vps установили

      плэйлисты, независимо какой у вас вебсервер апач или nginx, кидайте в их директорию, т.е. там где лежит index.html или подобное

      Ответить
      • marveltm

        да, установил все на VPS — docker + веб морду + ваши контейнеры потестил. Понял что для меня будет сложно с настройкой nginx под все это дело, nginx надо ставить на сам VPS и как то пробрасывать на докер все, или его нужно ставить в docker и там все пробрасывать =) я и так уже 3 дня не сплю с этими VPS ))) Так что решил все по старинке сделать, без docker — пользовался ace3.1 . Работает хорошо, какналы тоже пошустрее стали переключаться. Фризов нет! Только вот архив не работает, но это вроде проблема на стороне ТТВ. Спасибо Вам за помощь и инструкции 😉 Вот был бы у Вас быстрый обмен сообщениями ) что бы сразу спросить совета ) в почту вы тоже смотрите очень редко! )

        Ответить
        • sybdata

          архив я нашел почему не работает, вот посмотрите этот лог внимательно:
          15.09 19:30:37 DEBUG Thread-18 p2pproxy_plugin.py:355 plugin_p2pproxy| Exporting
          15.09 19:30:40 DEBUG Thread-18 acehttp.py:63 HTTP| "GET /archive/?filter=archive&type=m3u HTTP/1.1" 200 -
          15.09 19:30:40 INFO Thread-20 acehttp.py:208 do_GET| Accepted connection from 172.17.0.1 path /archive/play?id=431318846
          15.09 19:30:40 DEBUG Thread-20 p2pproxy_plugin.py:45 plugin_p2pproxy| Handling request
          15.09 19:30:40 DEBUG Thread-20 torrenttv_api.py:66 TTV API| Reusing previous session: bsLg3vuCOIS8JUirnGZcrktg
          15.09 19:30:40 DEBUG Thread-20 torrenttv_api.py:241 TTV API| http://1ttvapi.top/v3/arc_stream.php?session=bsLg3vuCOIS8JUirnGZcrktg&typeresult=json&record_id=431318846
          15.09 19:30:40 DEBUG Thread-20 acehttp.py:237 handleRequest| Headers:
          Host: 192.168.178.92:8000
          User-Agent: VLC/2.2.6 LibVLC/2.2.6
          Range: bytes=0-
          Connection: close
          Icy-MetaData: 1

          15.09 19:30:40 DEBUG Thread-20 acehttp.py:287 handleRequest| CID: 3468220d397f5a24c56b0103cedf567e738d4441
          15.09 19:30:40 DEBUG Thread-20 aceclient.py:126 AceClient_write| START PID 3468220d397f5a24c56b0103cedf567e738d4441 0 output_format=http
          15.09 19:30:40 DEBUG Thread-20 acehttp.py:305 handleRequest| START done
          15.09 19:30:40 DEBUG DummyThread-15 aceclient.py:422 AceClient_recvdata| STATUS changed to main:starting
          15.09 19:30:41 DEBUG Thread-20 acehttp.py:314 handleRequest| Got url http://127.0.0.1:6878/hls/r/33d114e51d559e27e837533c05549eb98b9a9407/04e7ceee79d51449ed077e72a7f60ec9.m3u8
          15.09 19:30:41 DEBUG Thread-20 acehttp.py:335 handleRequest| hangDetector spawned
          15.09 19:30:41 DEBUG DummyThread-21 aceclient.py:221 StreamReader| Opening video stream: http://127.0.0.1:6878/hls/r/33d114e51d559e27e837533c05549eb98b9a9407/04e7ceee79d51449ed077e72a7f60ec9.m3u8
          15.09 19:30:41 DEBUG DummyThread-21 aceclient.py:227 StreamReader| Can't stream HLS in non VLC mode: http://127.0.0.1:6878/hls/r/33d114e51d559e27e837533c05549eb98b9a9407/04e7ceee79d51449ed077e72a7f60ec9.m3u8
          15.09 19:30:41 DEBUG DummyThread-21 aceclient.py:287 StreamReader| Video stream closed
          15.09 19:30:41 DEBUG DummyThread-21 aceclient.py:126 AceClient_write| STOP
          15.09 19:30:41 DEBUG DummyThread-15 aceclient.py:422 AceClient_recvdata| STATUS changed to main:idle
          15.09 19:30:41 DEBUG DummyThread-22 acehttp.py:167 http_hangDetector| Client disconnected
          15.09 19:30:41 DEBUG Thread-20 acehttp.py:407 handleRequest| END REQUEST

          output_format=http
          Can’t stream HLS in non VLC mode: http://127.0.0.1:6878/hls/r/33d114e51d559e27e837533c05549eb98b9a9407

          просто переписали апи и архивы теперь по умолчанию идут в hls
          так что чтобы смотреть архивы в этой сборке включите vlc
          vlcuse = True

          Ответить
          • marveltm

            При vlcuse=true архив действительно работает. Но со временем все перестает работать, после service supervisor restart начинает снова работать! =) но не долго.

          • sybdata

            кстати в supervisor была ошибка правильно будет
            priority=999

            весь файл

  14. Ivan

    Привет, объясните новичку как это установить. Я так понял это образ, как его скачать и установить.

    Ответить
    • sybdata

      Привет,
      где вы устанавливаете?

      независимо где у вас установлен доскер, в терминале задайте такую примерно команду:
      docker run -d --name a31 -p 8621: 8621 -p 62062: 62062 -p 9944:9944 -p 9903:9903 -p 6878:6878 -p 8000:8000 sybdata/ace3.1-as

      в результате чего у вас должен создаться контейнер сназванием a31 которое можете перед тем как задавать команду в ней же поменять на свое в этом ключе —name ‘ваше имя’

      Ответить
  15. marveltm

    Решил попробовать через acestream — каналы переключаются как в обычном ТВ, что не может не радовать! , НО, один и тот же канал смотреть не получается — через каждые приблизительно 10 сек подвисает на одном, через 10 на другом и так далее! Может есть решение ? или не получиться никак смотреть один и тот же канал?

    Ответить
    • sybdata

      да, как вы знаете в acestream один и тот же канал смотреть не реализовано:

      Player ID purpose — app engine should distinguish one player from another, as in the current engine implementation user cannot play the same live-stream with two (or more) players from one engine, and engine will stop to serve requests from one player, when got a new request from another.

      решение вы тоже наверное знаете, это проксирование, что конечно немного улсложняет схему просмотра и требует как например с актуальной AceProxy установку дополнительных пакетов и библиотек питона

      как вариант можно попробовать в сети с 2-3 клиентами просто тупо поставить докер контейнер на каждый клиент отдельно, благо порты пробрасываются без проблем и на всех хватит

      Стоить отметить что каналы идут в последнее время на удивление стабильно по сравнению как раньше, наверное связано с тем что всё таки число пользователей увеличивается а это только плюс для потоков p2p
      ну и вроде как битрейты каналов немного поубавились

      кстати cid каналов теперь у ttv и acestream совсем разные и у последнего почти не меняются в течении суток и более, а идут как мне показалось немного получше:

      id=64a8b0a068019a445b0870042a7d8a18cdaef89b - acestream Tv1000 Megahit HD

      id=7fcb0ebcb1474c626b921713f265db4725f63973 - ttv Tv1000 Megahit HD

      вариант с контейнером движка каждому клиенту вполне даже рабочий:

      W3Schools

      Ответить
      • marveltm

        Мне нравится такой вариант =) действительно все отлично работает!
        Хотел поинтересоваться про —port 9944, за что отвечает данный ключ?

        ACEStream Tracker Statistics

        Not tracking any files yet…

        Ответить
        • sybdata

          мне и самому тоже понравилось такое решение, почему бы и нет, для этого и придумали докер с которым можно запускать столько контейнеров сколько позволяют ресурсы железа

          ключ 9944 для получения инфы по движку:
          version — версия узла
          max_connections — максимальное кол-во TCP-соединений
          max_peers — максимальное кол-во одновременно подсоединенных узлов
          max_upload_slots — максимальное кол-во открытых слотов для раздачи
          download_speed — текущая скорость загрузки данных (байт/с)
          upload_speed — текущая скорость отдачи данных (байт/с)
          connected_peers_count — кол-во подсоединенных узлов
          connected_peers — список подсоединенных узлов (пустой, если не задана опция —stats-report-peers)
          upload_slots — текущее кол-во слотов для раздачи

          запрос на веб-интерфейс:
          http://ip server:9944/app/monitor

          Ответы выдаются в формате JSON и выглядит примерно так(в firefox):

          W3Schools

          Ответить
  16. marveltm

    Еще бы как формировать красивый плэйлист из того что в ЛК. )

    Ответить
  17. Ivan

    Как сделать чтобы он не добавлял каналы из категории Религиозные? Сделал вот так

    header="#EXTM3U"
    newline="ZFZFaZZZ"
    relig="Religioznye"

    if [ $size -gt 1 ]
    then
    param="'.channels|=sort_by(.cat,.name)|.channels[]|select(.cat = \"$relig\")|\"#EXTINF:-1 group-title=\\"\"+.cat+\"\\", \"+.name+\"$newline\"+\"$url_prefix\"+.url+\"$url_postfix\"'|sed 's/$newline/\n/g'"
    eval "echo \$header; echo \$data | " $parser "-r" $param > $outdir/as.kodi.m3u

    param="'.channels|=sort_by(.cat,.name)|.channels[]|select(.cat = \"$relig\")|\"#EXTINF:-1, \"+.name+\" (\"+.cat+\")$newline\"+\"$url_prefix\"+.url+\"$url_postfix\"'|sed 's/$newline/\n/g'"
    eval "echo \$header; echo \$data | " $parser "-r" $param > $outdir/as.m3u
    fi

    Ответить
  18. Ivan

    Поправил немного
    header=»#EXTM3U»
    newline=»ZFZFaZZZ»
    relig=»Религиозные» (надо по русски писать)
    if [ $size -gt 1 ]
    then
    param=»‘.channels|=sort_by(.cat,.name)|.channels[]|select(.cat =(если поставить еще одно = то делает плейлист только с религиозными каналами) \»$relig\»)|\»#EXTINF:-1 group-title=\»\»+.cat+\»\», \»+.name+\»$newline\»+\»$url_prefix\»+.url+\»$url_postfix\»‘|sed ‘s/$newline/\n/g'»
    eval «echo \$header; echo \$data | » $parser «-r» $param > $outdir/as.kodi.m3u
    param=»‘.channels|=sort_by(.cat,.name)|.channels[]|select(.cat =(если поставить еще одно = то делает плейлист только с религиозными каналами) \»$relig\»)|\»#EXTINF:-1, \»+.name+\» (\»+.cat+\»)$newline\»+\»$url_prefix\»+.url+\»$url_postfix\»‘|sed ‘s/$newline/\n/g'»
    eval «echo \$header; echo \$data | » $parser «-r» $param > $outdir/as.m3u
    fi

    Как сделать чтобы не было религиозных и региональных каналов.

    Ответить
    • sybdata

      что бы выкидывало только одну категорию надо править так:
      (.cat != \"$relig\")

      как сделать чтобы выкидывало несколько категорий, пока сам не знаю

      Ответить
  19. Alex

    Помогите разобраться с этим (docker контейнер в DSM). Папка /mnt/media/ пустая.

    Ответить
    • sybdata

      папка не может быть пустая, потаму как ещё при создании образа контейнера выполняется успешно команда:
      Removing intermediate container 23fda2bf50d1
      Step 14/17 : RUN /mnt/media/playlists/ace.hls_parser.sh
      ---> Running in 6dbf9842bf30

      • '/mnt/media/playlists/m3u/ttv.json' saved [88115/88115]

      Ответить
      • Alex

        Может и не может, но факт что пустая. Вот команда и лог создания контейнера:
        root@MyServer:~# docker run —name=acestream -v /volume1/docker/as:/mnt/media -e PGID=100 -e PUID=1024 -e TZ=Europe/Minsk -p 8621:8621 -p 62062:62062 -p 9944:9944 -p 9903:9903 -p 6878:6878 -p 8000:8000 sybdata/ace3.1-as

        Ответить
        • sybdata

          не факт, у вас ошибка в команде

          <<<<<<пожалуйста не постите всю портянку лога!>>>>>>>

          теперь по существу вопроса,

          этот путь /volume1/docker/as не советую, из за папки docker
          а рекомендую сразу кидать в вебсервер /volume1/web/tv/m3u, и будет доступ как локально так и удалённо

          этот путь в контейнере /mnt/media не полный, правильно будет /mnt/media/playlists/m3u

          зачем вам порт 8000? , он был у меня в образе раньше и предназначался для aceproxy которую я убрал

          в сухом остатке команда должа быть:
          docker run -d --name=acestream -v /volume1/web/tv/m3u:/mnt/media/playlists/m3u -e PGID=100 -e PUID=1024 -e TZ=Europe/Minsk -p 8621:8621 -p 62062:62062 -p 9944:9944 -p 9903:9903 -p 6878:6878 sybdata/ace3.1-as

          Ответить
  20. Alex

    Без портянки как донести проблему 😉
    Вроде запустил, но не дает покоя вот это
    root@a3c2dfef9b1c:/# ./start.sh
    /usr/lib/python2.7/dist-packages/supervisor/options.py:298: UserWarning: Supervisord is running as root ...
    2017-12-02 21:59:58,275 CRIT Supervisor running as root (no user in config file)
    2017-12-02 21:59:58,285 WARN For [program:tor], redirect_stderr=true but stderr_logfile has also been set to a filename, the filename has been ignored
    2017-12-02 21:59:58,285 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
    Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

    это должно быть так?

    И это в acestream.log
    2017-12-02 12:41:19,255|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/data/plugins/news.py", line 10, in
    from lxml.html.clean import clean_html, Cleaner
    File "/opt/acestream/lib/lxml-3.7.2-py2.7-linux-x86_64.egg/lxml/html/init.py", line 54, in
    File "/opt/acestream/lib/lxml-3.7.2-py2.7-linux-x86_64.egg/lxml/etree.py", line 7, in
    File "/opt/acestream/lib/lxml-3.7.2-py2.7-linux-x86_64.egg/lxml/etree.py", line 6, in bootstrap

    ImportError: /root/.cache/Python-Eggs/lxml-3.7.2-py2.7-linux-x86_64.egg-tmp/lxml/etree.so: undefined symbol: PyFPE_jbuf

    И последний вопрос — нужно чистить кэш acesream или сейчас он сам чистится?

    Ответить
    • sybdata

      для начала скажите мне где и как вы запустили контейнер?

      зачем вы задаёте start.sh, это не надо делать вообще, потаму как отрабытывается при каждом старте контейнера и один раз а вы же ещё раз вызываете

      по acestream.log тупо снесите плагины которые ругаются, они всё равно не нужны для просмотра
      и опять же где и как вы ставили, потаму как у меня лог не ругается

      по кешу посмотрите здесь

      Ответить
      • Alex

        Запускаю на XPenology DS3615 в Docker. Запускал в консоли, командой выше поправленной Вами. start.sh запускал только чтобы показать ошибку.

        Как удалить плагины? И так понял мне нужно удалить «plugin news»

        Ответить
        • sybdata

          «start.sh запускал только чтобы показать ошибку»
          и какая там ошибка, сами то хоть поняли?
          «тяжело искать чёрную кошку в чёрной комнате если её там нет»

          плагин news лежит здесь: /opt/acestream/data/plugins/news.py

          если вы запускаете командой которую я приводил выше то подразумевается что директория и папка /volume1/web/tv/m3u уже создана!

          Ответить
          • Alex

            Т.е. на ошибку /usr/lib/python2.7/dist-packages/supervisor/options.py:298 можно забить?
            Папки, плейлисты есть, парсер отрабарывает.

            Почему-то не сохраняются настройки языка в вэб-интерфейсе acestream. Выбираю русский, он показывается и сразу сбрасывается на английский.

            Еще при вводе фильтруемой категории в скрипте ace.hls_parser.sh, русский не отображается, вводил вслепую, все работает, но все же.

          • sybdata

            «Т.е. на ошибку /usr/lib/python2.7/dist-packages/supervisor/options.py:298 можно забить?
            где вы видите эту ошибку? у меня её нет!

            настройки языка так и есть, тоже не знаю почему, на виндовой версии вроде не так

            в скрипте так и есть: русский не отображается
            скрипт не мой…

            P.S. версия на дебиане в плане вышеперечиленных ошибок выглядит по ровнее, токо что обновил до debian:9 и осталось только в образ подпросить libssl.so.1.0.0 и libcrypto.so.1.0.0 иначе движок не стартует
            об этом здесь
            и сам лог ошибки:
            /usr/share/acestream/acestreamengine: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

            после как добавил, всё чисто как в аптеке: log

  21. Alex

    Т.е. в latest релизе еще не внесены правки и нужно libssl.so.1.0.0 добавить вручную?

    Насчет ошибки — вот первый запуск контейнера latest релиза. Первая же строка
    root@MyServer:~# docker run --name=acestream -v /volume1/web/tv/m3u:/mnt/media/playlists/m3u -e PGID=100 -e PUID=1024 -e TZ=Europe/Minsk -p 8621:8621 -p 62062:62062 -p 9944:9944 -p 9903:9903 -p 6878:6878 sybdata/ace3.1-as
    /usr/lib/python2.7/dist-packages/supervisor/options.py:298: UserWarning: Supervisord is running as root and it is searching for its configuration file in default
    ...
    2017-12-03 17:51:35,224 INFO gave up: acestop entered FATAL state, too many start retries too quickly
    2017-12-03 17:51:35,224 INFO exited: cron (exit status 0; not expected)
    2017-12-03 17:51:35,225 INFO gave up: cron entered FATAL state, too many start retries too quickly
    2017-12-03 17:51:35,226 INFO exited: acestream (exit status 143; not expected)
    2017-12-03 17:51:35,228 INFO spawned: 'acestream' with pid 48
    2017-12-03 17:51:36,229 INFO success: acestream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

    Заканчивается так и дальше не идет лог. И еще пару FATAL в тексте.

    Так же заметил много контейнеров с alpine linux. Позиционирующуюся как супер легкую и быструю. Не думали перейти на нее.

    Ответить
    • sybdata

      вы меня невнимательно слушаете!
      libssl.so.1.0.0 касается образа на дебиане! и он обновлён только что успешно:
      Successfully built c5b3574ea7a4
      Successfully tagged sybdata/debproxy:latest
      Pushing index.docker.io/sybdata/debproxy:latest...
      Done!
      Build finished

      в команде запуска у вас ошибка, правильно будет так(для дебиан версии):
      docker run -d --name=acestream -v /volume1/web/tv/m3u:/mnt/media/playlists/m3u -e PGID=100 -e PUID=1024 -e TZ=Europe/Minsk -p 8621:8621 -p 62062:62062 -p 9944:9944 -p 9903:9903 -p 6878:6878 sybdata/debproxy

      Ответить
      • Alex

        Я просто решил что вы пересобрали этот контейнер с дэбианом, потому как обновление было недавно.

        Контейнер на дэбиан обновлён — значит libssl.so уже заменён?

        Если версия на дэбиан работает лучше, то зачем другие?

        PS прошу простить за назойливость, «я только учусь» 😉

        Ответить
        • sybdata

          значит libssl.so уже заменён?

          да, и libcrypto.so.1.0.0 тоже добавлен а не заменён

          зачем другие?

          просто помимо движка иногда вдруг необходимо что то дополнительно установить в тот же контейнер, допустим прокси, а в бубунту традиционно репо побогаче будет

          Ответить
  22. Alex

    Посмотрите пожалуйста и возможно добывите в образ после оптимизации. Раз уж нам все равно приходится править файл под нашу конфигурацию, то добавил переменную адреса сервера и при сборке плейлиста добавил иконки каналов.
    https://dumpz.org/2709820/

    Ответить
    • sybdata

      ок,
      Спасибо,
      я посмотрю и заменю в образе на этот скрипт

      Ответить
      • Alex

        Я тут подумал — это не те данные которые нужно обновлять часто, так что можно включить прямо в контейнер. И может это облегчит формирование ссылок на иконки в плейлисте.
        Вот сами иконки — ссылка
        Это не последний вариант, позже попробую докомплектовать для всех каналов. Однако для начала хватит. И больше упор на каналыTorrent TV, но и множество для других.

        PS что то с коментариями. не добавляется или не отображается. если что, то простите за спам 🙂

        PPS попутно выловил баг отображения иконок — если в имени иконки есть обособленное «HD», например …/Смайлик ТВ HD.png, то она не отображается. При чем изменение на «Hd» или перемещение на место перед ТВ (как в примере) не дает результата. Если изменить на «hd» или «hD», то иконка отображается нормально.
        Для пакетной обработки считаю лучшим вариантом перевести все имена иконок в нижний регистр и учитывать это при формировании ссылки на иконку в плейлисте.

        Не знаю на каком этапе ломается отображение иконки, но по крайней мере в Movian на RP3 происходит так.

        Ответить
        • sybdata

          хорошо,
          дайте ещё раз ссылку на иконки

          Ответить
  23. sybdata

    как альтернатива и чтобы сортировка каналов, формирование ссылок на иконки в плейлисте многое другое, тестирую aceproxy в отдельном контейнере на базе alpine linux

    там в aceproxy парсилка посолидней будет

    Ответить
    • Alex

      Ага. Вы решили тянуть иконки прям с сайта. Я сейчас пытаюсь собрать архив из многих источников, и есть иконки более хорошего качества. Хотя возможно это и не нужно.

      Ответить
      • sybdata

        и телепрограмму тоже:

        #EXTM3U url-tvg="http://api.torrent-tv.ru/ttv.xmltv.xml.gz" tvg-shift=0
        #EXTINF:-1 group-title="Фильмы" tvg-name="Fox_HD" tvg-id="ttv1462" tvg-logo="http://1ttv.org/uploads/Pl8S60EJ52htHxi1gAw1SS1y8i1p3z.png",Fox HD
        http://192.168.178.92:32769/channels/play?id=1462

        Ответить
  24. Alex

    Подскажите как вкорячить «.name.toLowerCase()» (должно переводить в нижний регистр) перед .png
    param=»‘.channels|=sort_by(.cat,.name)|.channels[]|select(.cat != \»$informational\»)|\»#EXTINF:-1 group-title=\\»\»+.cat+\»\\» tvg-logo=\\»$serverip/tv/\»+.name+\».png\\», \»+.name+\»$newline\»+\»$url_prefix\»+.url+\»$url_postfix\»‘|sed ‘s/$newline/\n/g'»

    Ответить
    • sybdata

      нее.. в синтаксе я не силён, этот скрипт я позаимствовал с 4pda.ru

      Ответить
      • Alex

        Вот и я пару часов примерял, правил, запускал — ну классическим методом тыка 🙂 «Говорила мне мама…»

        Ответить
  25. Артём

    Доброй ночи. я очень извиняюсь а не могли бы вы все это для чайников на пальцах объяснить пожалуйста…

    Ответить
    • sybdata

      самая актуальная сборка и ман, найдёте здесь: https://hub.docker.com/r/sybdata/aceubase

      этот же ман уже устарел и я постараюсь его обновить

      Спасибо за Понимание
      ваш SYBData

      Ответить

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

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