• Уважаемые пользователи! Сообщаем Вам, что у нашего форума появился официальный чат в Телеграм - https://t.me/forumtv_telegram в котором будут публиковаться все важные новости и изменения проекта
  • И так дорогие друзья, всем привет! Долгожданное свершилось! Не секрет, что многие плотно сидят на яблочных устройствах. И как мы знаем сторонние приложения - это до сегодняшнего дня было вообще под запретом. Но с начала 2004 года всё изменилось. И так, мы создали тему, как один из разработчиков, в данный момент, создаёт известные всем приложения для Apple tv И соответственно для поддержки и развития текущих и будущих приложений можно к нему обратиться. Найти тему можно ниже в разделе софта Всем удачи

HTTP прокси для Ace Stream

  • Автор темы Автор темы Dogerty
  • Дата начала Дата начала
Кто подскажет, как и где вот это изменение сделать, что бы ЛГ 12 года с неткаст тоже начал бы показывать ?
Была тут статья, написал автору, не отвечает. Он написал, что поток надо изменить немного :

была подобная проблема, но на LG (12года) netcast, поток или стартовал но через 1-1,5 минуты или вовсе обрывался запрос.
Прокся отдает плейлист на поток вида:
http://х.х.х.х:8000/torrenttv/channel/112%20%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0.ts
подправил парсер, чтоб получилось так:
http://х.х.х.х:8000/pid/f98019656c1a221a31149784a2ec17ddf291fbf2/stream.mp4
в итоге картинка есть.

Где это меняется ?
 
Прокся отдает плейлист на поток вида:
http://х.х.х.х:8000/torrenttv/channel/112%20%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0.ts
подправил парсер, чтоб получилось так:
http://х.х.х.х:8000/pid/f98019656c1a221a31149784a2ec17ddf291fbf2/stream.mp4
в итоге картинка есть.
Не буду вдаваться в "глупости" Ваших измышлений и не понимания что да как. Интересно почитать ту статью из одной строки)))
Все проще. Вся разница в окончании req.path в оригинале (по умолчанию) она подсовывается *.ts, а вам надо сделать чтобы была *.mp4 - это влияет на mime type который прокся отдаст в заголовках клиенту. Видимо Ваш телик просто не дружит с 'Content-Type': 'video/MP2T' и ему надо дать 'Content-Type': 'video/mp4'
НЕ НАДО НИКУДА ЛЕЗТЬ В ИСХОДНИКИ !
Отправьте с Вашего телика запрос на плейлист вот в таком виде
Код:
http://х.х.х.х:8000/torrenttv?ext=mp4
Все ... Теперь при выборе трансляции на клиента будет уходить в "удобоваримом" виде ..
 
Последнее редактирование:
  • Like
Реакции: Dvun
Не буду вдаваться в "глупости" Ваших измышлений и не понимания что да как. Интересно почитать ту статью из одной строки)))
Все проще. Вся разница в окончании req.path в оригинале (по умолчанию) она подсовывается *.ts, а вам надо сделать чтобы была *.mp4 - это влияет на mime type который прокся отдаст в заголовках клиенту. Видимо Ваш телик просто не дружит с 'Content-Type': 'video/MP2T' и ему надо дать 'Content-Type': 'video/mp4'
НЕ НАДО НИКУДА ЛЕЗТЬ В ИСХОДНИКИ !
Отправьте с Вашего телика запрос на плейлист вот в таком виде
Код:
http://х.х.х.х:8000/torrenttv?ext=mp4
Все ... Теперь при выборе трансляции на клиента будет уходить в "удобоваримом" виде ..


Спасибо
 
Привет всем, кто сталкивался, подскажите пожалуйста.

Получаю ошибку AttributeError: 'module' object has no attribute 'config
Вот полный лог:
/opt$ python /opt/HTTPAceProxy/acehttp.py

Traceback (most recent call last):
File "/opt/HTTPAceProxy/acehttp.py", line 18, in
gevent.config.resolver = ['ares', 'thread', 'dnspython', 'block']
AttributeError: 'module' object has no attribute 'config'

В чем может быть проблема?
 
Python:
acehttp.py           [LINE:454 ]# INFO     [03.10 17:04:14] Ace Stream HTTP Proxy server on Python 3.8.0rc1 starting .....
acehttp.py           [LINE:455 ]# DEBUG    [03.10 17:04:14] Using: gevent 1.5a2.dev0, psutil 5.6.3
acehttp.py           [LINE:466 ]# DEBUG    [03.10 17:04:14] Ace Stream HTTP Proxy server IP: 172.19.0.4 autodetected
acehttp.py           [LINE:505 ]# INFO     [03.10 17:04:14] Remote AceStream engine ver.3.1.49 will be used on 172.19.0.2:62062
acehttp.py           [LINE:513 ]# INFO     [03.10 17:04:14] Load Ace Stream HTTP Proxy plugins .....
acehttp.py           [LINE:523 ]# DEBUG    [03.10 17:04:14] Plugin loaded: P2pproxy
acehttp.py           [LINE:523 ]# DEBUG    [03.10 17:04:14] Plugin loaded: Torrenttelik
acehttp.py           [LINE:523 ]# DEBUG    [03.10 17:04:14] Plugin loaded: Torrentfilms
acehttp.py           [LINE:523 ]# DEBUG    [03.10 17:04:14] Plugin loaded: Allfon
acehttp.py           [LINE:523 ]# DEBUG    [03.10 17:04:14] Plugin loaded: Torrenttv
acehttp.py           [LINE:523 ]# DEBUG    [03.10 17:04:14] Plugin loaded: Stat
acehttp.py           [LINE:539 ]# INFO     [03.10 17:04:14] Server started at 172.19.0.4:8xxx Use <Ctrl-C> to stop
torrenttelik_plugin.py [LINE:43  ]# INFO     [03.10 17:04:14] Playlist file:///opt/acelist/ace.json downloaded
torrenttelik_plugin.py [LINE:64  ]# DEBUG    [03.10 17:04:14] torrent-telik.m3u playlist generated
torrenttv_plugin.py  [LINE:44  ]# INFO     [03.10 17:04:14] Playlist file:///opt/acelist/playlists/as.m3u downloaded
torrenttv_plugin.py  [LINE:61  ]# DEBUG    [03.10 17:04:14] torrenttv.m3u playlist generated
allfon_plugin.py     [LINE:43  ]# INFO     [03.10 17:04:14] Playlist http://allfon-tv.com/autogenplaylist/allfontv.m3u downloaded
allfon_plugin.py     [LINE:60  ]# DEBUG    [03.10 17:04:14] AllFon.m3u playlist generated

@Pepsik
на работу сабжа как то отразится или мимо все примочки
Performance improvements

  • Many built-in methods and functions have been sped up by 20% to 50%, as many of them were unnecessarily converting arguments passed to them.
  • A new opcode cache can speed up certain instructions in the interpreter. However, the only currently implemented speed-up is for the LOAD_GLOBAL opcode, now 40% faster. Similar optimizations are planned for later versions of Python.
  • File copying operations, such as shutil.copyfile() and shutil.copytree(), now use platform-specific calls and other optimizations to speed up operations.
  • Newly created lists are now, on average, 12% smaller than before, thanks to optimizations that make use of the length of the list constructor object if it is known beforehand.
  • Writes to class variables on new-style classes (e.g., class A(object)) are much faster in Python 3.8.
  • operator.itemgetter() and collections.namedtuple() also have new speed optimizations.
 
Всем здравствуйте!
Установил HTTPAceProxy на роутер с прошивкой dd-wrt. Для полноты:
Router Model Linksys WRT1900ACSv2
Firmware Version DD-WRT v3.0-r41218 std (10/01/19)
Kernel Version Linux 4.9.194 #1327 SMP Tue Oct 1 02:55:47 CEST 2019 armv7l
Работает, но... утекает память! Утечка может начаться после сбоя при воспроизведении потока, и при внезапном разрыве связи клиентом.
Код:
root@LinkSYS:~# /jffs/aceproxy/httpAceProxy restart
 Shutting down python3...              done.
 Starting python3...              done.
root@LinkSYS:~# ps | grep python3
 3459 root     34452 S    python3 /jffs/aceproxy/acehttp.py
 root@LinkSYS:~# ps | grep python3
 3459 root     34452 S    python3 /jffs/aceproxy/acehttp.py
root@LinkSYS:~# ps | grep python3
 3459 root     35256 S    python3 /jffs/aceproxy/acehttp.py
root@LinkSYS:~# ps | grep python3
 3459 root     35240 S    python3 /jffs/aceproxy/acehttp.py
 root@LinkSYS:~# ps | grep python3
 3459 root     38640 S    python3 /jffs/aceproxy/acehttp.py
root@LinkSYS:~# ps | grep python3
 3459 root     38916 S    python3 /jffs/aceproxy/acehttp.py
root@LinkSYS:~# ps | grep python3
 3459 root     40652 S    python3 /jffs/aceproxy/acehttp.py
root@LinkSYS:~# ps | grep python3
 3459 root     44476 S    python3 /jffs/aceproxy/acehttp.py
 root@LinkSYS:~# date
Thu Oct  3 20:16:06 MSK 2019
root@LinkSYS:~#  ps | grep python3 ; date
 3459 root     45812 S    python3 /jffs/aceproxy/acehttp.py
 5084 root      1316 S    grep python3
Thu Oct  3 20:18:08 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root     46596 S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 20:21:47 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root     49308 S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 20:25:39 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root     52028 S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 20:31:35 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root     56088 S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 20:49:20 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root     67112 S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 21:47:13 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root     87684 S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 22:12:17 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root      108m S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 22:59:14 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root      120m S    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 23:16:16 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root      144m R    python3 /jffs/aceproxy/acehttp.py
Thu Oct  3 23:54:21 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
 3459 root      181m S    python3 /jffs/aceproxy/acehttp.py
Fri Oct  4 00:15:00 MSK 2019

Под занавес:

root@LinkSYS:~# free -m
              total        used        free      shared  buff/cache   available
Mem:         511860      298148       86620           0      127092       51916
Swap:       1051868          16     1051852
Дождался когда пойдет в своп, и прекратил. Однажды я обнаружил, что он весь занят. Роутер вдруг стал тормозить с доступом в инет и.т.п., вот я и заглянул проверить - в чем дело?
В приципе проблему можно решить при пощи крона и рестарта. Но такой рестарт может произойти в то время, когда движок Айса недоступен, т.к. он на другой коробочке, которая может быть выключена. Ну и, следовательно, старт для Proxy будет неудачным, и потребуется повторная перезагрузка в неудобное время.
Лог с дебагом я тоже прикладыаю. Прошу обратиь внимание на время записей в логе и сравнить с "динамикой".
 

Вложения

вот ща тоже глянул, по памяти 3% отъела (из 4 гигов), а вот проц в простое, ничего не делая, 66% жрёт. Рестартанул - 0%, включил канал 0,7% проца... хм..
 
на работу сабжа как то отразится или мимо все примочки
Не особо. Все те изменения имеют отношение к скорости выполнения кода в тысячи (десятки тысяч) строк и словарей с десятками-сотнями тысяч полей и значений. Не наш случай :D Прокся на 90% это greenlet (библиотека для организации одновременных вычислений на основе libev) + 200 строк "без хитростного" кода от силы....

d-pv, Psh - у меня прокся "живет" в трех вариантах:
1) На RPi3 с AlpineLinux на борту + AceStream 3.1.51 "переделка"
2) На arm (aarch64) "шкарлупке" Tronsmart R68 + LinuxDeploy (Ubuntu 18.0.4) там же и движок "переделка" 3.1.51
3) На VPS с Ubuntu 18.0.4 и наитивный движок 3.1.49 x86_64 для бубунты
Ни разу не замечал что что-то куда-то текло .... Я конечно покопошусь в логах представленных выше ... Но вряд ли что-то там увижу в этом отношении....
Ниже слайды с VPS
Снимок экрана 2019-10-04 в 08.05.25.png
Ниже слайды с arm "шкарлупки"
Снимок экрана 2019-10-04 в 08.06.07.png

p.s. Кстати я вчера обновил вид DEBUG логов и теперь хорошо видно что да как при нескольких одновременно подключенных клиентах.
 
Последнее редактирование:
Утечка может начаться после сбоя при воспроизведении потока, и при внезапном разрыве связи клиентом.
В Вашем логе нет ничего "внезапного" там все просто. Вы стартанули просмотр "dumb" трансляции канала "Ю" с постоянной буферизацией. Ваш плеер при НЕ получении данных от прокси в течении 4 (четырех) секунд - рекконектится сам. Причем запрос на соединение от него прилетает раньше чем он закрыл предыдущее свое соединение. Вот этот плеер-"дятел" и плодит соединения. Они, правда, потом отваливаются, через 5-10 сек. Но за это время он снова их успевает наплодить, вот и подъедает память каждое соединение. Попробуйте подключится VLC с компа , а не KODI :) Утекает ?
 
Вот с VLC на ноутбуке:
Код:
BusyBox v1.31.0 (2019-10-01 03:08:45 CEST) built-in shell (ash)
root@LinkSYS:~# /jffs/aceproxy/httpAceProxy restart
Shutting down python3...              done.
Starting python3...              done.
root@LinkSYS:~#  ps | grep [p]ython3 ; date
7437 root     35304 S    python3 /jffs/aceproxy/acehttp.py
Fri Oct  4 12:37:04 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
7437 root     62216 S    python3 /jffs/aceproxy/acehttp.py
Fri Oct  4 12:40:18 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
7437 root     69452 S    python3 /jffs/aceproxy/acehttp.py
Fri Oct  4 12:41:29 MSK 2019
root@LinkSYS:~#  ps | grep [p]ython3 ; date
7437 root     74876 S    python3 /jffs/aceproxy/acehttp.py
Fri Oct  4 12:42:13 MSK 2019
root@LinkSYS:~#  /jffs/aceproxy/httpAceProxy restart
Shutting down python3...              done.
Starting python3...              done.
root@LinkSYS:~#
Разрыв соединения вызвал выдергиванием LAN кабеля из ноута. Не кошерно, конечно, но эффективно.
Скорее всего насчет плеера-дятла Вы правы. Но на это я - юзер -повлиять не могу. Возможно это не плеер, а pvr.pazzle.tv на LibreELEC-Generic.x86_64; это он управляет плей-листом и дергает его в попытках восстановить битое соединение.
В любом случае повторения сутуации возможны с большой вероятность.
Большое спасибо за Вашу работу!

Доп. вопрос про это:
1) На RPi3 с AlpineLinux на борту + AceStream 3.1.51 "переделка"
2) На arm (aarch64) "шкарлупке" Tronsmart R68 + LinuxDeploy (Ubuntu 18.0.4) там же и движок "переделка" 3.1.51
3) На VPS с Ubuntu 18.0.4 и наитивный движок 3.1.49 x86_64 для бубунты
Вы не могли бы рекомендовать "переделку" для архитектуры armhf - это Orange Pi PC Plus?
 

Вложения

Последнее редактирование:
Вы не могли бы рекомендовать "переделку" для архитектуры armhf - это Orange Pi PC Plus?
Попробовать существующую . Другой - нет ;) . Поставить на нее бубунту или дебиан и попробовать стартануть "переделку" с пастбища для ARM
 
Ну у меня вариант 1 канеш, это старый Atom на убунте 18.04.3 LTS
acehttp.py [LINE:240 ]# INFO [04.10 10:00:41] Streaming "Тлум HD" to 10.39.1.111 finished
acehttp.py [LINE:68 ]# DEBUG [04.10 10:00:41] Client 10.39.1.111 disconnected
aceclient.py [LINE:99 ]# DEBUG [04.10 10:00:41] <<< STATE 0
aceclient.py [LINE:99 ]# DEBUG [04.10 10:00:41] <<< STATUS main:idle
acehttp.py [LINE:213 ]# DEBUG [04.10 10:00:41] Broadcast "Тлум HD" stoped. Last client disconnected
aceclient.py [LINE:99 ]# DEBUG [04.10 10:01:41] <<< CLOSE telnet connetcion
aceclient.py [LINE:108 ]# DEBUG [04.10 10:01:41] >>> SHUTDOWN
aceclient.py [LINE:99 ]# DEBUG [04.10 10:01:41] <<< STATE 0
aceclient.py [LINE:99 ]# DEBUG [04.10 10:01:41] <<< SHUTDOWN
torrenttelik_plugin.py [LINE:43 ]# INFO [04.10 10:33:01] Playlist http://91.92.66.82/trash/ttv-list/as.json downloaded
torrenttelik_plugin.py [LINE:64 ]# DEBUG [04.10 10:33:02] torrent-telik.m3u playlist generated
torrenttelik_plugin.py [LINE:43 ]# INFO [04.10 12:33:02] Playlist http://91.92.66.82/trash/ttv-list/as.json downloaded
torrenttelik_plugin.py [LINE:64 ]# DEBUG [04.10 12:33:02] torrent-telik.m3u playlist generated
torrenttelik_plugin.py [LINE:43 ]# INFO [04.10 14:33:02] Playlist http://91.92.66.82/trash/ttv-list/as.json downloaded
torrenttelik_plugin.py [LINE:64 ]# DEBUG [04.10 14:33:02] torrent-telik.m3u playlist generated
torrenttelik_plugin.py [LINE:43 ]# INFO [04.10 16:33:02] Playlist http://91.92.66.82/trash/ttv-list/as.json downloaded
torrenttelik_plugin.py [LINE:64 ]# DEBUG [04.10 16:33:02] torrent-telik.m3u playlist generated
torrenttelik_plugin.py [LINE:43 ]# INFO [04.10 18:33:02] Playlist http://91.92.66.82/trash/ttv-list/as.json downloaded
torrenttelik_plugin.py [LINE:64 ]# DEBUG [04.10 18:33:02] torrent-telik.m3u playlist generated

acehttp.JPG

т.е. с 18:33 ничо не делаем и жрём проц...

p.s. Кстати я вчера обновил
я ща обновлюсь, но если там тока дебаг менялся, то картинка вряд ли изменится
 
вариант 3a - на VPS с Ubuntu 18.0.4 и в докере раздельно в двух контейнерах наитивный движок 3.1.49 x86_64 для дебиан и в другом контейнере с осью алпина прокся

66234237-753bc600-e6ed-11e9-944c-c1b173e6674f.png
66234344-c51a8d00-e6ed-11e9-8a2c-ad62bbd27429.png


течка мозгов наверное от безделия?

вот такая блин "Динамика" на пустом месте в трёх берёзах
 
Последнее редактирование:
Установил HTTPAceProxy на роутер с прошивкой dd-wrt. Для полноты:
Router Model Linksys WRT1900ACSv2
Firmware Version DD-WRT v3.0-r41218 std (10/01/19)
Kernel Version Linux 4.9.194 #1327 SMP Tue Oct 1 02:55:47 CEST 2019 armv7l
Забыл упомянуть про, возможно, важную вещь. После установки HTTPAceProxy он не запускался - ругался на функцию int(). Я "вычислил": файл - /opt/lib/python3.7/site-packages/psutil/_pslinux.py, строка 390.
Было - mems[fields[0]] = int(fields[1]) * 1024, сделал - mems[fields[0]] = 3072.
Не помню точный вывод ошибки, не задокументировал; похоже в fields[1] был другой тип: может строка, может пусто.
Это не может быть причиной утечки?

Попробовать существующую . Другой - нет ;) . Поставить на нее бубунту или дебиан и попробовать стартануть "переделку" с пастбища для ARM
Я пробовал разные, в частности на 4pda, не могу подружить с HTTPAceProxy.
 
Последнее редактирование:
Установил HTTP AceProxy на Windows 7 64-bit по инструкции которая в начале темы.
Плейлист AceProxy (torrent-telik) открываю на ТВ Samsung C650 (2010г), каналы могут работать от нескольких секунд до нескольких минут (SD дольше чем HD), затем изображение застывает и через несколько секунд появляется надпись (на телевизоре) "Обрыв сетевого соединения". Если плейлист AceProxy открыть в VLC с параметрами вывода потока #duplicate{dst=std{access=http,mux=ts,dst=:8900},dst=display}, а поток из VLC открыть в телевизоре, то проблем с обрывами на телевизоре не возникает. Подскажите пожалуйста, что можно подстроить?
 

Вложения

открываю на ТВ Samsung C650 (2010г)
В aceconfig.py установить значение параметра, когда-то специально делалось для старых самсунгов, которые не понимают 'Transfer-Encoding: chunked'
Код:
use_chunked = False
Стесняюсь спросить , а что самсунг шлет вот такие заголовки при запросе плейлиста ?
Код:
{'Accept': 'text/html, image/png, image/*, */*', 'Accept-Language': 'ko', 'Host': '192.168.1.2:8000', 'Referer': 'AjaxSync', 'User-Agent': 'Mozilla/5.0 (Windows; U; en-US; rv:1.8.1.11; Gecko/20071129; Firefox/2.5.0) Maple 5.1.00266 Navi', 'Cookie': 'userId=1569764422627', 'Cache-Control': 'no-cache', 'Connection': 'Keep-Alive'}
 
  • Like
Реакции: smeh
Установил значение use_chunked = False, но это никак не повлияло. Да, получается шлёт самсунг, Вам видней )).
В aceconfig.py есть строчка "transcodecmd['default'] = 'cvlc ...", которая, как я понимаю, позволяет задействовать vlc, как её правильно использовать ? Если вставить "transcodecmd['default'] = '"c:\Program Files\VideoLAN\VLC\vlc.exe" -I dummy ..." и раскомментировать, то AceProxy не запускается.
 

Вложения

Последнее редактирование:
Назад
Сверху