Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Pepsik

Страницы: [1] 2 3 ... 127
1
Когда Вам "завалить" таки не удалось ...
Хорошо работает версия до ** Fix unicode exception for Py2 **, последнюю пока не пробовал.

p.s. Кстати у меня готова "бетка" на тесы с HTTP API .... если что маякуй :) Хотя разницы там особо НОЛЬ ... все от движка зависит ...
Я что то упустил с этим HTTP? Просто не первый раз вижу упоминание.
Нужны тестеры?
И что за зависимость от движка?
1) Там все тоже что я писал Вам в личке + поправлен playlistgenerator.py
2)
http://wiki.acestream.org/wiki/index.php/Engine_HTTP_API
http://wiki.acestream.org/wiki/index.php/Engine_API
Те же "киви" только в профиль ... так .. развлекуха
3) О "зависимости" тут - https://www.youtube.com/watch?v=I3lmu0r0GJA , все "кино" зависит на 99% от TTV и 0,9% от движка .. + 0,1% от разнообразных проксей  ;D

2
.... а вот netty я еще не юзал, интересный опыт.
  ;D ;D ;D Нам "дедам", заставшим перфокарты , ЕС ЭВМ, Cobol, Fortran, Algol и прочую экзотику ... Объем ОЗУ в 64К !!!! Вах ... пИсавшим на ассемблере хренову тучу кода для всяких контроллеров ... это как два пальца обосс два байта переслать  ;D ;D ;D

3
Скажите пожалуйста, а транскодирование на Windows в прокси так до сих пор не реализовано? Или я чего-то ещё не знаю?
Нет ... это нюансы связанные с виндой .... 

4
Цитировать
** Fix unicode exception for Py2 **
Pepsik, это вроде после наших упражнений с Виндой? Что то дельное?
А то как то без анонса стали обновления  :)
Именно после них ... Когда Вам "завалить" таки не удалось ... + поправлено формирование плейлистов в python2 для тех кто пользуется /torrent-telik  ;)

p.s. Кстати у меня готова "бетка" на тесы с HTTP API .... если что маякуй :) Хотя разницы там особо НОЛЬ ... все от движка зависит ...

5
Для свято верующих кто считает что HTTP API быстрее  ;D ... "на коленке" написал поддержку в проксе абы проверить
acehttp.py           [LINE:454 ]# INFO     [10.12 08:28:28] Ace Stream HTTP Proxy server on Python 3.6.7 starting .....
acehttp.py           [LINE:455 ]# DEBUG    [10.12 08:28:28] Using: gevent 1.4.0.dev0, psutil 5.4.8
acehttp.py           [LINE:466 ]# DEBUG    [10.12 08:28:28] Ace Stream HTTP Proxy server IP: 192.168.2.50 autodetected
acehttp.py           [LINE:292 ]# DEBUG    [10.12 08:28:28] AceEngine starts up .....
acehttp.py           [LINE:494 ]# INFO     [10.12 08:28:28] Local AceStream engine spawned with pid 15101
acehttp.py           [LINE:522 ]# INFO     [10.12 08:28:43] Load Ace Stream HTTP Proxy plugins .....
acehttp.py           [LINE:530 ]# DEBUG    [10.12 08:28:43] Plugin loaded: Allfon
acehttp.py           [LINE:530 ]# DEBUG    [10.12 08:28:43] Plugin loaded: P2pproxy
acehttp.py           [LINE:530 ]# DEBUG    [10.12 08:28:43] Plugin loaded: Stat
acehttp.py           [LINE:530 ]# DEBUG    [10.12 08:28:43] Plugin loaded: Torrentfilms
acehttp.py           [LINE:530 ]# DEBUG    [10.12 08:28:43] Plugin loaded: Torrenttelik
acehttp.py           [LINE:530 ]# DEBUG    [10.12 08:28:43] Plugin loaded: Torrenttv
acehttp.py           [LINE:537 ]# INFO     [10.12 08:28:43] Server started at 192.168.2.50:8081 Use <Ctrl-C> to stop
torrenttv_api.py     [LINE:82  ]# DEBUG    [10.12 08:28:43] Reusing saved session: 30kF1Ey5o9I4TuTOjP0N3Fku
torrenttv_plugin.py  [LINE:58  ]# DEBUG    [10.12 08:28:44] Logos updated
torrenttv_plugin.py  [LINE:64  ]# INFO     [10.12 08:28:44] TTV playlist http://192.168.2.1:81/playlist/AceLive-local.m3u downloaded
torrenttv_plugin.py  [LINE:83  ]# DEBUG    [10.12 08:28:44] Requested m3u playlist generated
acehttp.py           [LINE:92  ]# INFO     [10.12 08:28:49] Accepted connection from 192.168.2.33 path /torrenttv/channel/112 Украина HD.ts
acehttp.py           [LINE:93  ]# DEBUG    [10.12 08:28:49] Client headers: {'User-Agent': 'Lavf52.104.0', 'Accept': '*/*', 'Range': 'bytes=0-', 'Connection': 'close', 'Host': '192.168.2.50:8081'}
{'stat_url': 'http://127.0.0.1:6878/ace/stat/c97a1c94d61709cc9bbb18115891d18aa6ef226e/f528764d624db129b32c21fbca0cb8d6', 'playback_session_id': '87d915bfb097b34cfcccbd0aa2daddfe8fe52c2c', 'is_live': 1, 'playback_url': 'http://127.0.0.1:6878/ace/r/c97a1c94d61709cc9bbb18115891d18aa6ef226e/f528764d624db129b32c21fbca0cb8d6', 'is_encrypted': 0, 'command_url': 'http://127.0.0.1:6878/ace/cmd/c97a1c94d61709cc9bbb18115891d18aa6ef226e/f528764d624db129b32c21fbca0cb8d6', 'infohash': 'c97a1c94d61709cc9bbb18115891d18aa6ef226e'}
acehttp.py           [LINE:205 ]# INFO     [10.12 08:28:50] Streaming "112 Украина HD" to 192.168.2.33 started
acehttp.py           [LINE:216 ]# DEBUG    [10.12 08:28:50] Sending HTTPAceProxy headers to client: {'Connection': 'Keep-Alive', 'Keep-Alive': 'timeout=15, max=100', 'Accept-Ranges': 'bytes', 'Transfer-Encoding': 'chunked', 'Content-Type': 'video/mp2t'}
acehttp.py           [LINE:233 ]# INFO     [10.12 08:29:21] Streaming "112 Украина HD" to 192.168.2.33 finished
b'{"response": "ok", "error": null}'
acehttp.py           [LINE:240 ]# DEBUG    [10.12 08:29:21] Broadcast "112 Украина HD" stoped. Last client 192.168.2.33 disconnected
... А вот ничего подобного 1:1 .. ну может в полсекунды разницы ... Все равно итоге получаем ссылку на трансляцию и все равно движок выдает чанками , размер которых я описывал ранее :) . По сути своей  HTTP API удобный для программиста web-интерфейс реализации EngineAPI :)  Будет нехер делать погода плохая и виски односолодовый , добавлю на выбор пользователя в настройках прокси ... С каким API "эксплуатировать" ...

6
Давно хотели создать вторую часть ветки этой. а тут и ветка новая и проект "новый" =) Работай долго и счастливо прокся ты наша любимая, безотказная ты и "стрессоустойчивая". Да прибудет с тобой сила.... ::)
;D ;D ;D ;D Так это же чудесно когда есть выбор ..... 
а пожалуйста https://github.com/chpasha/jaceproxy
Блин ... наворотил  :D ... чуть ли не "копия" логики только на Java ... Мог бы упростить себе жизнь и воспользоваться как xadd HTTP API движка .. там "общение" с движком попроще ... шли запросики , получай json-чики в ответ ... Но все равно ... НАРЯДНО !

7

Запустил.
кому надо на Alpine Linux.

НИКОМУ ... ибо только Вы книжки не читаете .... И только до Вас не доходит что в этой ветке темы что в остальных ... ЧТО ОНИ НЕ О ЭЛЕМЕНТАРНЫХ знаниях линукс систем .... А совсем о другом .....Не забудьте через неделю уточнить как сделать так чтоб логи не накапливались  :'(

8
началось...
как да куда пихать...
Мдя ... и 2 дня не прошло ....  ;D

9
Стартует шустро.
17:59:42 debug    StreamProvider > stream response > finish ("Матч ТВ")
17:59:54 verbose  Request channel "Матч ТВ HD"
17:59:54 debug    StreamProvider > request ("Матч ТВ HD", rid: OnXUagu12)
17:59:54 debug    StreamProvider > start stream ("Матч ТВ HD")
17:59:59 debug    StreamProvider > start stream > response ok ("Матч ТВ HD", status: 200 - OK)
А то на Проксе у Pepsik 10-12 секунд.
Иллюзия ... Включи Первый HD, Иллюзион+ ... там много есть таких ... А по поводу времени старта - я Вам приводил лог НЕОДНОКРАТНО (кстати не только я ... )... и в конце концов - ПРОЧТИТЕ хоть доку по движку ... может тогда флудить по темам перестанете .... А так же проверните эксперимент описанный мной в п 7) во втором посте в данной теме ... УСПЕХОВ

p.s. Чудес - не бывает ... в данном случае процесс получения ссылки на трансляцию и "управление" движком происходит по HTTP API движка ... получили json в ответ от двигла ... и присосались к движку а дальше 1:1 раздаем клиентам
                response.body.on("data", (chunk) => {
                    for (const c of clients) {
                        try {
                            c.stream.write(chunk);
                        }
                        catch (err) {
                            logger.warn(err.stack);
                        }
                    }
Хотя .. кому я рассказываю ... Вам кроме футбола и Симпсонов ничего в жизни не надо  ;D

10
https://github.com/xelaok/acey

1. Установить NodeJS
2. git clone https://github.com/xelaok/acey.git
Да не знаю, ставить git? зачем?
wget -O /opt/acey.zip https://github.com/xelaok/acey/archive/master.zip
unzip /opt/acey.zip -d /opt/
мдя ... как минимум чтобы потом git pull делать и не делать "себе нервы" ...

11
Знак дайте потом простым смертным, когда можно брать на тесты. В том смысле, что будут подключаться несколько клиентов и возможно на одни и те же каналы.
Уже

12
http://mytalks.ru/index.php?topic=4506.msg86583#msg86583 ? Поправлено или тестит по новой ? А а а .. вижу requestTimeot добавлен  ;)

Ну что по мне то тут
#EXTM3U
#EXTINF:-1 tvg-name="24-7 Retro TV" group-title="Фильмы",24-7 Retro TV
#EXTGRP:Фильмы
http://192.168.0.3:8100/c/32342d3720526574726f205456
#EXTINF:-1 tvg-name="312 Кино HD" group-title="Фильмы",312 Кино HD
#EXTGRP:Фильмы
http://192.168.0.3:8100/c/33313220d09ad0b8d0bdd0be204844
#EXTINF:-1 tvg-name="AMC" group-title="Фильмы",AMC
***
**
*
и т.д.
1) ОСТРО не хватает tvg-logo= ... можно взять тут -> https://github.com/pepsik-kiev/HTTPAceProxy/blob/master/plugins/config/torrenttv.py ... Или самомтоятельно поддерживать в каком-нибудь logo.yaml и брать переодически из TTV API .... полный , естественно доступен только при наличии VIP
2) Так же НЕДУРСТВЕННО было бы иметь в #EXTM3U url-tvg= , ибо МНОГИЕ ... МНОГИЕ клиенты (SIMPLE IPTV, IPTV, DVBPROG и т.д. ) . ЧУДЕСНО И РАСПРЕКРАСНО понимают url-tvg= , "парсят" его, и тогда доступен EPG . По умолчанию можно ориентироваться на родной - url-tvg="http://api.torrent-tv.ru/ttv.xmltv.xml.gz"
3) Ну и "со временем" ... config в gitignore  8)
4) СИНИЙ в логе ЖУТКО смотрится на черном фоне ... уж лучше серый ....
5) Ссылки на трансляции надо привести к "Божескому" виду ибо половина клиентов , во всяком случае у меня НЕ понимают
http://192.168.0.3:8100/c/32342d3720526574726f205456
Оно должно быть как-то так
http://192.168.0.3:8100/c/32342d3720526574726f205456/xxxx.ts или mp4 и т.д
или
http://192.168.0.3:8100/c/32342d3720526574726f205456?.mp4 или ?ext=.ts и т.д.
6) А куда делась группа Детские ? ... ладно я "не шарю" в соответствующий *.yaml добавил ... А что делать "нытикам" ?
7) "Изюминка" :) берем и тупо счЕлкаем пультом туда-сюда 5-6-7 раз ..... а потом на 6 или 7 или 8 раз останавливаемся и ждем включения трансляции .. Для надежности надо это проделать в VLC не нажимая на кнопку STOP, а просто выбирая следующую трансляцию .... если повезет ))) то впишемся в отведенные 30 сек и увидим кино ..... Лог ниже
16:03:41 debug    StreamProvider > request ("Fox Life", rid: iIG2jbK5m)
16:03:41 debug    StreamProvider > start stream ("Fox Life")
16:03:42 debug    StreamProvider > stream response > finish ("Fox HD")
16:03:46 debug    StreamProvider > start stream > response ok ("Fox Life", status: 200 - OK)
16:03:50 debug    StreamProvider > client stream > close ("Fox Life", rid: iIG2jbK5m)
16:03:50 debug    StreamProvider > reject client ("Fox Life", rid: iIG2jbK5m)
16:03:50 debug    StreamProvider > stop stream ("Fox Life")
16:03:51 debug    StreamProvider > stream response > finish ("Fox Life")
16:07:35 debug    StreamProvider > start stream > response ok ("FilmBox Action", status: 500 - Internal Server Error)
16:07:35 debug    StreamProvider > client stream > close ("FilmBox Action", rid: p3jyN3lVZ)
16:07:35 debug    StreamProvider > reject client ("FilmBox Action", rid: p3jyN3lVZ)
16:07:35 debug    StreamProvider > stop stream ("FilmBox Action")
16:07:39 debug    StreamProvider > start stream > response failed ("FilmzoneTV")
16:07:40 error    FetchError: request to http://127.0.0.1:6878/ace/r/4ac82848e459b1eccac41b2013a7a2ef277f9028/5bb4608783da1bd485bf19d47efa7c53 failed, reason: socket hang up
    at ClientRequest.<anonymous> (/home/Dorik/acey/node_modules/node-fetch/lib/index.js:1444:11)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketOnEnd (_http_client.js:423:9)
    at emitNone (events.js:111:20)
    at Socket.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
16:07:40 error    FetchError: request to http://127.0.0.1:6878/ace/r/4ac82848e459b1eccac41b2013a7a2ef277f9028/5bb4608783da1bd485bf19d47efa7c53 failed, reason: socket hang up
    at ClientRequest.<anonymous> (/home/Dorik/acey/node_modules/node-fetch/lib/index.js:1444:11)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketOnEnd (_http_client.js:423:9)
    at emitNone (events.js:111:20)
    at Socket.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
16:07:40 warn     Unhandled Rejection > FetchError: request to http://127.0.0.1:6878/ace/r/4ac82848e459b1eccac41b2013a7a2ef277f9028/5bb4608783da1bd485bf19d47efa7c53 failed, reason: socket hang up
    at ClientRequest.<anonymous> (/home/Dorik/acey/node_modules/node-fetch/lib/index.js:1444:11)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketOnEnd (_http_client.js:423:9)
    at emitNone (events.js:111:20)
    at Socket.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Если что - https://www.youtube.com/watch?v=RlWv2qrUGI4 , я как Паниковский готов подносить ГИРИ .... А Вы пилите Шура ... ПИЛИТЕ 

13
приветствую :) , можно я буду третьим  ;D ? в виду плохой погоды и нехер делать написал, да-да, вы уже догадались, aceproxy :) , но не на питоне, и даже не на nodejs, а на яве  ;D . форкнутая версия Дорика (ака Пепсика) вполне устраивала кроме одного "но" - ее написал не я :-D (на этой шутке по идее все программеры дружно заржали). Так что есть теперь версия, которую написал я и для себя любимого,  но если кому-то тоже скучно и нехер делать - могу поделиться. В том числе и исходниками. Есть интерес?
А то ! Даешь больше хороших и разных  ;D  не хер делать open source - двигает прогресс

можно я буду третьим  ;D....
Аля шведская семья ....  ;D ;D ;D

14
xadd, а возможность заставить работать с клиентом ТТВ будет? )))
Посмотрим как дело пойдет.
Господа, а как вы всё же смотрите на то, что бы создать отдельную тему для прокси на nodejs? А, xadd?
Как проект доведу да более-менее приличного состояния и тогда создам, должно быть скоро.
Поможем маленько делу ... итак "проспавшись", подначитавшись доки по JS и поизучав исходники (дай Бог автору здоровья .. сподвигнул меня на пока что поверхностное изучение JS) проведем следующий эксперимент
1) Нужно найти трансляцию с заведомо долгим режимом STATE1 (PREBUFFERING) т.е. "генерация" ссылки на трансляцию, URL -а который движок выдает ....
2) Попытаться стартануть эту трансляцию в "новоявленной" .... Поведение - как повезет ... или прокся сама отключится от движка , или вывалит ошибки .... лог ОТ и ДО ниже
ChannelPool#resolveChannelRequest
   clientId = de641dcd-afc0-452b-b718-46d1e43b9e0b
   channelName = Киносемья
ChannelPool#requestChannel -> fetch
   clientId = de641dcd-afc0-452b-b718-46d1e43b9e0b
   channel = Киносемья
ChannelPool#resolveChannelRequest
   clientId = 3ad2ca39-0e63-4d17-ad37-bac9d10b2541
   channelName = Киносемья
ChannelPool#enterChannel
   clientId = de641dcd-afc0-452b-b718-46d1e43b9e0b
   channelName = Киносемья
ChannelPool#enterChannel
   clientId = 3ad2ca39-0e63-4d17-ad37-bac9d10b2541
   channelName = Киносемья
ChannelPool -> client stream close
   clientId = de641dcd-afc0-452b-b718-46d1e43b9e0b
   channelName = Киносемья
ChannelPool#leaveChannel
   clientId = de641dcd-afc0-452b-b718-46d1e43b9e0b
   channelName = Киносемья
Error: write after end
    at writeAfterEnd (_stream_writable.js:236:12)
    at PassThrough.Writable.write (_stream_writable.js:287:5)
    at PassThrough.channelData.response.body.on.chunk (/home/Dorik/acey/build/prod/index.js:591:16)
    at emitOne (events.js:121:20)
    at PassThrough.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at PassThrough.Readable.push (_stream_readable.js:208:10)
    at PassThrough.Transform.push (_stream_transform.js:147:32)
    at PassThrough.afterTransform (_stream_transform.js:88:10)
ChannelPool -> client stream close
   clientId = 3ad2ca39-0e63-4d17-ad37-bac9d10b2541
   channelName = Киносемья
ChannelPool#leaveChannel
   clientId = 3ad2ca39-0e63-4d17-ad37-bac9d10b2541
   channelName = Киносемья
ChannelPool#stopChannel
   channelName = Киносемья 

.... Канал так и не стартанул .... в принципе c любой трансляцией с долгой пребуфферизацией прокся работает "криво" ... И в случае если "вдруг" движок в процессе своей работы "впадет" в долгий режим STATE3 (BUFFERING) - то имеем аналогичную картину поведения прокси

p.s. В общем надо в код добавить http://wiki.acestream.org/wiki/index.php/Engine_HTTP_API#Getting_some_stats  ;D и анализировать чего там с движком, точнее с текущей трансляцией, и в зависимости от "state" (prebuff, buff) и времени "пребывания" в нем ... делать выводы  ::)  ибо CLIENT_IDLE_TIMEOUT - это хорошо .. тока вот  у прокси есть еще один "клиент" - движок ... А у него своя логика IDLE  ;D

p.s.s.  Так же следует понимать что чем больше у движка одновременно смотрящих "клиентов" (на разных трансляциях), тем дольше режим prebuff при подключении каждого следующего  и тем чаще возникает режим BUFF по уже просматриваемым трансляциям клиентами ... + это еще и от "качества бродкаста" зависит .... КАК ПОВЕЗЕТ .... Коллега  ;)

p.s.s.s.
ChannelPool#resolveChannelRequest
   clientId = 32afd185-d26b-4c62-a034-57db002cc072
   channelName = Первый канал HD
ChannelPool#requestChannel -> fetch
   clientId = 32afd185-d26b-4c62-a034-57db002cc072
   channel = Первый канал HD
Отличный канал для тестов вышеприведенного "эссе" .... 98% попадания из 100....

15
Ну и как бы для острастки и любителей по экспериментировать ... Есть такой , не при детях будь сказано, канал xmuvi ... Качество бродкастинга - отвратительное  ::) ... В том же bmon на стороне клиента - хоть "под копирку" прикладывай что с "прямой" что с "кривой" ... Слайды приводить не буду :) мало ли, но кто захочет - сможет получить самостоятельно ..... Есть только одно но ... "Кривая" честно ждет videotimeout= ... пока движок BUFF ... ждет даных и  VLC ждет и если данные пошли , например через 30 сек, то "акробатики" продолжаются  ... "прямая" ... тоже ждет ...но поскольку тайминга в логе нет,  то "на глазок" сек через 15-20  - ОТКЛЮЧАЕТСЯ от движка о чем сообщает в логе ... а VLC - продолжает ждать и естественно "акробатиков" уже не досмотреть , ну чем там у них любовь закончится  ...  ;D ;D ;D

Страницы: [1] 2 3 ... 127