Автор Тема: AceProxy: HTTP прокси для Ace Stream  (Прочитано 2086772 раз)

Серый2

  • Newbie
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9495 : Февраль 10, 2019, 23:37:32 »
я конечно извиняюсь, но тут  https://github.com/pepsik-kiev/HTTPAceProxy/blob/master/plugins/config/torrenttelik.py
не тот файл лежит

zyxmon

  • Newbie
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9496 : Февраль 11, 2019, 00:01:08 »
Стоит у меня прокси вместе с официальным движком в докер контейнере, более менее работает.
Решил попробовать новую версию с движком acestream_3.1.33.1_x86_wbUI.tar.gz переключал каналы ....
И тут
acehttp.py           [LINE:204 ]# INFO     [10.02 20:43:12] Streaming "Sky1000 Cinema HD" to 10.0.0.7 started                                                                                                                                                                                                             
acehttp.py           [LINE:79  ]# INFO     [10.02 20:43:23] Accepted connection from 10.0.0.7 path /torrenttv/channel/Mezzo Live HD.ts                                                                                                                                                                                     
acehttp.py           [LINE:204 ]# INFO     [10.02 20:43:24] Streaming "Mezzo Live HD" to 10.0.0.7 started                                                                                                                                                                                                                 
acehttp.py           [LINE:79  ]# INFO     [10.02 20:43:35] Accepted connection from 10.0.0.7 path /torrenttv/channel/Mezzo Live HD.ts                                                                                                                                                                                     
acehttp.py           [LINE:204 ]# INFO     [10.02 20:43:36] Streaming "Mezz o Live HD" to 10.0.0.7 started                                                                                                                                                                                                                                   
acehttp.py           [LINE:79  ]# INFO     [10.02 20:43:36] Accepted connection from 10.0.0.7 path /torrenttv/channel/Mezzo.ts                                                                                                                                                                                             
acehttp.py           [LINE:107 ]# ERROR    [10.02 20:43:36] Traceback (most recent call last):                                                                                                                                                                                                                             
  File "/opt/tv/HTTPAceProxy-master/acehttp.py", line 104, in do_GET                                                                                                                                                                                                                                                       
    try: AceProxy.pluginshandlers.get(self.reqtype).handle(self, headers_only)                                                                                                                                                                                                                                             
  File "plugins/torrenttv_plugin.py", line 126, in handle                                                                                                                                                                                                                                                                 
    if play: connection.handleRequest(headers_only, name, self.picons.get(name), fmt=params.get('fmt', [''])[0])                                                                                                                                                                                                           
  File "/opt/tv/HTTPAceProxy-master/acehttp.py", line 165, in handleRequest                                                                                                                                                                                                                                               
    CID, self.channelName = AceProxy.clientcounter.idleAce.GETINFOHASH(self.reqtype, paramsdict[self.reqtype], self.sessionID, paramsdict['file_indexes'])                                                                                                                                                                 
AttributeError: 'NoneType' object has no attribute 'GETINFOHASH'                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                           
acehttp.py           [LINE:63  ]# ERROR    [10.02 20:43:36] Plugin exception: AttributeError("'NoneType' object has no attribute 'GETINFOHASH'")                                                                                                                                                                           
acehttp.py           [LINE:79  ]# INFO     [10.02 20:43:37] Accepted connection from 10.0.0.7 path /torrenttv/channel/Mezzo.ts                                                                                                                                                                                             
acehttp.py           [LINE:204 ]# INFO     [10.02 20:43:38] Streaming "Mezzo" to 10.0.0.7 started                                                                                                                                                                                                                         
acehttp.py           [LINE:229 ]# INFO     [10.02 20:43:40] Streaming "Mezzo Live HD" to 10.0.0.7 finished                                                                                                                                                                                                                 
acehttp.py           [LINE:79  ]# INFO     [10.02 20:43:43] Accepted connection from 10.0.0.7 path /torrenttv/channel/Mezzo Live HD.ts                                                                                                                                                                                     
acehttp.py           [LINE:204 ]# INFO     [10.02 20:43:44] Streaming "Mezzo Live HD" to 10.0.0.7 started                                                                                                                                                                                                                 
acehttp.py           [LINE:79  ]# INFO     [10.02 20:43:54] Accepted connection from 10.0.0.7 path /torrenttv/channel/Mezzo Live HD.ts                                                                                                                                                                                     
acehttp.py           [LINE:204 ]# INFO     [10.02 20:44:00] Streaming "Mezzo Live HD" to 10.0.0.7 started                                                                                                                                                                                                                 
acehttp.py           [LINE:79  ]# INFO     [10.02 20:44:23] Accepted connection from 10.0.0.7 path /torrenttv/channel/Sky1000 Russian HD.ts                                                                                                                                                                               
acehttp.py           [LINE:63  ]# ERROR    [10.02 20:44:23] Maximum client connections reached, can't serve request from 10.0.0.7                                                                                                                                                                                         
acehttp.py           [LINE:79  ]# INFO     [10.02 20:44:23] Accepted connection from 10.0.0.7 path /torrenttv/channel/Sky1000 Russian HD.ts                                                                                                                                                                               
acehttp.py           [LINE:63  ]# ERROR    [10.02 20:44:23] Maximum client connections reached, can't serve request from 10.0.0.7                                                                                                                                                                                         
acehttp.py           [LINE:79  ]# INFO     [10.02 20:44:32] Accepted connection from 10.0.0.7 path /torrenttv/channel/TV 1000.ts                                                                                                                                                                                           
acehttp.py           [LINE:63  ]# ERROR    [10.02 20:44:32] Maximum client connections reached, can't serve request from 10.0.0.7                                                                                                                                                                                         
acehttp.py           [LINE:79  ]# INFO     [10.02 20:44:32] Accepted connection from 10.0.0.7 path /torrenttv/channel/TV 1000.ts       
Вот тебе бабушка и Юрьев день. Приплыли. Больше не принимает соединения....
Это лечится?

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2163
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9497 : Февраль 12, 2019, 09:02:23 »
В последней с гита проблема с конфигом torrenttelik.

P.S. Видать одинаковые имена файлов подвели.
я конечно извиняюсь, но тут  https://github.com/pepsik-kiev/HTTPAceProxy/blob/master/plugins/config/torrenttelik.py
не тот файл лежит
Поправлено .. таки да ... "заклопотался" :)
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2163
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9498 : Февраль 12, 2019, 09:10:43 »
подскажите существует ли способ определения живой content id или не очень (ну или количество пиров)? хочется делать это не руками, а получать информацию от прокси (https://github.com/sybdata/ace86a37). + есть возможность понизить таймаут ожидания траффика от пиров? скажем если в течении 5 секунд траффик не полился считать попытку неудачной. сейчас по логам получается, что таймаут этот гораздо больше и хотелось бы его подкрутить под себя. может есть какие-то cli тулзы в комплекте с проксей, чтоб обращаться к внутренностям прокси?
1) Время ожидания выдачи ссылки движком задается параметром videotimeout в aceconfig.py , 5 сек - слишком малый порог ... я бы рекомендовал 30 сек, если не смотрите VOD .... Ибо в зависимости от времени суток, время получения ссылки от движка сильно "гуляет" и зависит далеко НЕ от количества пиров ::)
2) Метод определения "живости content_id или не очень" существует, но он весьма приблизителен , прокся к нему - как я к "балету" , на самом деле Вам сюда - http://forum.torrentstream.org/index.php?topic=12120.0 , там почитаете в веточке и найдете много "нового" для Вас ....   
3) Ну и http://wiki.acestream.org/wiki/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 - "наше Все"

урл на статистику знаю.
за опцию спасибо, это похоже то, что надо. в связи с этим возник еще один вопрос - в логе я вижу что-то наподобии:
acehttp.py           [LINE:62  ]# ERROR    [09.02 11:03:08] BrodcastStreamer:ConnectionError(MaxRetryError('HTTPConnectionPool(host=\'127.0.0.1\', port=6878): Max retries exceeded with url: /ace/r/308e9c804c6dddf4894d7ddf3a363451b015b6fa/c314b84c24cf370e506a74000a62e47d (Caused by ReadTimeoutError("HTTPConnectionPool(host=\'127.0.0.1\', port=6878): Read timed out. (read timeout=5)"))'))

но обращался я по:
Accepted connection from xxx.xxx.xxx.xxx path /pid/3e31d8f1f872dd2f3987641472565db398a7e9cc/stream.tsесть способ связать айди вида /ace/r/308e9c804c6dddf4894d7ddf3a363451b015b6fa/c314b84c24cf370e506a74000a62e47d с content id который я запросил?

возвращаемын айди не похожи на content id
нужно для того, чтоб написать callback функцию, которая будет понижать приоритет дохлого content id на router-е (софт с базой данных контент айди, который решает куда направить клиента за каналом который он запросил). контент айди на один и тот же канал может быть несколько. таким образом в топе будет всегда живой контент айди
1) Первая "ошибка" в логе - это сообщение о том что движок ОТКАЗАЛ Вам в соединении с указанной ссылкой .... Есть два таймаута:
1 - таймаут подключения к полученной от движка ссылке на трансляцию - 5 сек по умолчанию и вшит "намертво"
2 - таймаут получения данных по полученной ссылке, определяется значением vodeotimeout=

2) Область псевдонаучной фантастики о разных content_id одной и той же трансляции , callback фнкции и т.д. я комментировать не буду ... В своем предыдущем ответе выше я дал Вам направление изучения и поиска понимания "how to"
« Последнее редактирование: Февраль 12, 2019, 10:48:42 от Pepsik »
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2163
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9499 : Февраль 12, 2019, 09:16:46 »
Стоит у меня прокси вместе с официальным движком в докер контейнере, более менее работает.
Решил попробовать новую версию с движком acestream_3.1.33.1_x86_wbUI.tar.gz переключал каналы ....
И тут
                                                                                                                                                                                                                                             CID, self.channelName = AceProxy.clientcounter.idleAce.GETINFOHASH(self.reqtype, paramsdict[self.reqtype], self.sessionID, paramsdict['file_indexes'])                                                                                                                                                                 
AttributeError: 'NoneType' object has no attribute 'GETINFOHASH'                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                           Вот тебе бабушка и Юрьев день. Приплыли. Больше не принимает соединения....
Это лечится?
Это в принципе не должно возникать и говорит о том что движок "помер" или прокся его "не видит". Но и это не должно вызывать такую ошибку ....  Есть два варианта решения "оживить" движок:
1) Авторестарт движка самой проксей для этого acespawn = False
2) Если acespawn=False, то использовать различные доступные "шедулки" для рестарта движка, типа systemd или supervisord
Мне не удалось повторить такую ошибку у себя никак :( Мне надо или более полное описание как этого добиться и более полный лог + aceconfig.py .... Лучше в личку в виде ссылок на pastebin.com 
« Последнее редактирование: Февраль 12, 2019, 09:29:52 от Pepsik »
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

zyxmon

  • Newbie
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9500 : Февраль 12, 2019, 13:15:45 »
Это в принципе не должно возникать и говорит о том что движок "помер" или прокся его "не видит". Но и это не должно вызывать такую ошибку ....  Есть два варианта решения "оживить" движок:
1) Авторестарт движка самой проксей для этого acespawn = False
2) Если acespawn=False, то использовать различные доступные "шедулки" для рестарта движка, типа systemd или supervisord
Мне не удалось повторить такую ошибку у себя никак :( Мне надо или более полное описание как этого добиться и более полный лог + aceconfig.py .... Лучше в личку в виде ссылок на pastebin.com
1. лог не сохранился.
2. в aceconfig.py spawn равно true и указан путь до скрипта запуска engine, остальное по умолчанию.

Мне и самому больше повторить не удалось. В логе видно, что плеер два раза подряд запросил одну трансляцию, после этого и ERROR. К слову проверялось все на плеере TiviMate (с ним опыта почти нет).

achilles85

  • Newbie
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9501 : Февраль 12, 2019, 15:35:41 »
Кто пользуется Tvheadend, подскажите как подружить с прокси. Добавил плейлист вида http://ip:port/torrenttv/player.m3u Смотрю в коди, в списке каналы появились, но большинство не работает. СД каналы какие то запускаются. На 4пда читал, пишут что надо плейлист изменять. Но что то до меня не доходит
acehttp.py           [LINE:79  ]# INFO     [12.02 16:47:18] Accepted connection from 192.168.10.135 path /torrenttv/channel/ТНТ.ts
acehttp.py           [LINE:80  ]# DEBUG    [12.02 16:47:18] Client headers: {'host': '192.168.10.139:8000', 'connection': 'close', 'user-agent': 'TVHeadend/4.2.7-44 ~ LibreELEC Tvh-addon v9.0.118'}
acehttp.py           [LINE:162 ]# DEBUG    [12.02 16:47:18] Create connection to AceEngine.....
aceclient.py         [LINE:73  ]# DEBUG    [12.02 16:47:18] Successfully connected to AceStream on 192.168.10.62:62062
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:18] >>> HELLOBG version=3
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:19] <<< HELLOTS version=3.1.33 version_code=3013300 key=d7355ee127 http_port=6878 bmode=0
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:19] >>> READY key=n51LvQoTlJzNGaFxseRK-e54a434b6bf5417783967180ec85bd168771387a
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:19] <<< AUTH 0
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:19] >>> SETOPTIONS use_stop_notifications=1
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:19] >>> LOADASYNC 11616320 PID a80c7192942fae9f3aa24c1d4aad9ae3dc2a3a25
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:19] <<< STATUS main:loading
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:19] <<< LOADRESP 11616320 {"status": 1, "files": [["ТНТ", 0]], "infohash": "2897ba7a46e29c0e5754070238aa5e74a8d46e22", "checksum": "6c4014935bf5c70397b8edd9b5551910619608f0"}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:19] >>> START PID a80c7192942fae9f3aa24c1d4aad9ae3dc2a3a25 0 output_format=http
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:19] <<< STATUS main:idle
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:19] <<< STATE 1
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:19] <<< STATUS main:starting
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:21] <<< STATUS main:prebuf;0;0;0;0;13;0;0;10;0;32768;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:22] <<< START http://192.168.10.62:6878/content/2897ba7a46e29c0e5754070238aa5e74a8d46e22/0.372521917755 stream=1
acehttp.py           [LINE:204 ]# INFO     [12.02 16:47:22] Streaming "ТНТ" to 192.168.10.135 started
acehttp.py           [LINE:217 ]# DEBUG    [12.02 16:47:22] Sending HTTPAceProxy headers to client: {'Transfer-Encoding': 'chunked', 'Accept-Ranges': 'none', 'Keep-Alive': 'timeout=15, max=100', 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Cache-Control': 'max-age=0, no-cache, no-store', 'Content-Type': 'video/MP2T'}
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:22] <<< STATE 2
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:23] <<< STATUS main:dl;0;0;462;0;0;14;0;2195456;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:23] <<< EVENT livepos last=1549979231 live_first=1549977431 pos=1549979222 first_ts=1549977431 last_ts=1549979231 is_live=1 live_last=1549979231 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:25] <<< STATUS main:dl;0;0;422;0;0;6;0;2883584;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:25] <<< EVENT livepos last=1549979233 live_first=1549977433 pos=1549979222 first_ts=1549977433 last_ts=1549979233 is_live=1 live_last=1549979233 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:26] <<< PAUSE
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:26] <<< STATE 3
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:27] <<< STATUS main:buf;5;0;0;0;385;0;0;6;0;3424256;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:27] <<< EVENT livepos last=1549979235 live_first=1549977435 pos=1549979222 first_ts=1549977435 last_ts=1549979235 is_live=1 live_last=1549979235 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:29] <<< STATUS main:buf;35;0;0;0;376;0;0;6;0;4128768;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:29] <<< EVENT livepos last=1549979236 live_first=1549977436 pos=1549979222 first_ts=1549977436 last_ts=1549979236 is_live=1 live_last=1549979236 buffer_pieces=15
acehttp.py           [LINE:229 ]# INFO     [12.02 16:47:29] Streaming "ТНТ" to 192.168.10.135 finished
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:29] >>> STOP
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:29] <<< STATE 0
acehttp.py           [LINE:234 ]# DEBUG    [12.02 16:47:29] Broadcast "ТНТ" stoped. Last client 192.168.10.135 disconnected
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:29] <<< STATUS main:idle
acehttp.py           [LINE:79  ]# INFO     [12.02 16:47:34] Accepted connection from 192.168.10.135 path /torrenttv/channel/ТНТ HD.ts
acehttp.py           [LINE:80  ]# DEBUG    [12.02 16:47:34] Client headers: {'host': '192.168.10.139:8000', 'connection': 'close', 'user-agent': 'TVHeadend/4.2.7-44 ~ LibreELEC Tvh-addon v9.0.118'}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:34] >>> LOADASYNC 99933374 PID 0bc4fb8a797ac232433639238e42edd48f9e3af7
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:34] <<< STATUS main:loading
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:34] <<< LOADRESP 99933374 {"status": 1, "files": [["ТНТ HD", 0]], "infohash": "4fe626ec92a70917ca18c0e1f58a48d908dda4c7", "checksum": "eb665020c6868e90fb5d2e8395ac603f99ba7d6a"}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:34] >>> START PID 0bc4fb8a797ac232433639238e42edd48f9e3af7 0 output_format=http
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:34] <<< STATUS main:idle
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:34] <<< STATE 1
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:34] <<< STATUS main:starting
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:35] <<< STATUS main:prebuf;0;0;0;0;0;0;0;1;0;0;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:37] <<< STATUS main:prebuf;0;0;0;0;594;0;0;18;0;2146304;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:39] <<< STATUS main:prebuf;9;0;0;0;824;0;0;18;0;4685824;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:41] <<< STATUS main:prebuf;9;0;0;0;746;0;0;19;0;5799936;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:43] <<< STATUS main:prebuf;27;0;0;0;810;0;0;20;0;7979008;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:45] <<< STATUS main:prebuf;54;0;0;0;865;0;0;22;0;10321920;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:47] <<< STATUS main:prebuf;72;0;0;0;915;0;0;22;0;12845056;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:49] <<< STATUS main:prebuf;90;0;0;0;911;0;0;22;0;14680064;0;0
acehttp.py           [LINE:229 ]# INFO     [12.02 16:47:50] Streaming "ТНТ HD" to 192.168.10.135 finished
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:47:50] >>> STOP
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:50] <<< STATE 0
acehttp.py           [LINE:234 ]# DEBUG    [12.02 16:47:50] Broadcast "ТНТ HD" stoped. Last client 192.168.10.135 disconnected
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:47:50] <<< STATUS main:idle
acehttp.py           [LINE:79  ]# INFO     [12.02 16:48:30] Accepted connection from 192.168.10.62 path /torrenttv/channel
acehttp.py           [LINE:80  ]# DEBUG    [12.02 16:48:30] Client headers: {'host': '192.168.10.139:8000', 'user-agent': 'Mozilla/5.0 (Linux; Android 7.1.2; ru-RU; MI 5 Build/NJH47F) MXPlayer/1.9.24', 'connection': 'Keep-Alive', 'accept-encoding': 'gzip'}
torrenttv_plugin.py  [LINE:128 ]# DEBUG    [12.02 16:48:30] Exporting torrenttv.m3u playlist
acehttp.py           [LINE:79  ]# INFO     [12.02 16:48:30] Accepted connection from 192.168.10.62 path /torrenttv/channel/ТНТ HD.ts
acehttp.py           [LINE:80  ]# DEBUG    [12.02 16:48:30] Client headers: {'connection': 'keep-alive', 'accept': '*/*', 'user-agent': 'Mozilla/5.0 (Linux; Android 7.1.2; ru-RU; MI 5 Build/NJH47F) MXPlayer/1.9.24', 'host': '192.168.10.139:8000', 'icy-metadata': '1', 'range': 'bytes=0-'}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:48:30] >>> LOADASYNC 27193208 PID 0bc4fb8a797ac232433639238e42edd48f9e3af7
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:30] <<< STATUS main:loading
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:30] <<< LOADRESP 27193208 {"status": 1, "files": [["ТНТ HD", 0]], "infohash": "4fe626ec92a70917ca18c0e1f58a48d908dda4c7", "checksum": "eb665020c6868e90fb5d2e8395ac603f99ba7d6a"}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:48:30] >>> START PID 0bc4fb8a797ac232433639238e42edd48f9e3af7 0 output_format=http
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:30] <<< STATUS main:idle
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:30] <<< STATE 1
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:31] <<< STATUS main:starting
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:32] <<< STATUS main:prebuf;0;0;0;0;104;0;0;19;0;212992;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:34] <<< STATUS main:prebuf;0;0;0;0;762;0;0;24;0;3145728;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:36] <<< STATUS main:prebuf;0;0;0;0;935;0;0;22;0;5799936;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:38] <<< STATUS main:prebuf;0;0;0;0;1074;0;0;23;0;8896512;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:40] <<< STATUS main:prebuf;18;0;0;0;1051;0;0;23;0;10895360;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:42] <<< STATUS main:prebuf;36;0;0;0;1004;0;0;26;0;12615680;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:44] <<< STATUS main:prebuf;54;0;0;0;1024;0;0;25;0;15007744;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:46] <<< STATUS main:prebuf;81;0;0;0;1039;0;0;25;0;17399808;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:48] <<< STATUS main:prebuf;81;0;0;0;1100;0;0;24;0;20725760;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:50] <<< START http://192.168.10.62:6878/content/4fe626ec92a70917ca18c0e1f58a48d908dda4c7/0.133438508463 stream=1
acehttp.py           [LINE:204 ]# INFO     [12.02 16:48:50] Streaming "ТНТ HD" to 192.168.10.62 started
acehttp.py           [LINE:217 ]# DEBUG    [12.02 16:48:50] Sending HTTPAceProxy headers to client: {'Transfer-Encoding': 'chunked', 'Accept-Ranges': 'none', 'Keep-Alive': 'timeout=15, max=100', 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Cache-Control': 'max-age=0, no-cache, no-store', 'Content-Type': 'video/MP2T'}
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:50] <<< STATE 2
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:50] <<< STATUS main:dl;0;0;1104;0;0;22;0;23101440;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:50] <<< EVENT livepos last=1549979325 live_first=1549977525 pos=1549979325 first_ts=1549977525 last_ts=1549979325 is_live=1 live_last=1549979325 buffer_pieces=15
acehttp.py           [LINE:79  ]# INFO     [12.02 16:48:52] Accepted connection from 192.168.10.62 path /torrenttv/channel/ТНТ HD.srt
acehttp.py           [LINE:80  ]# DEBUG    [12.02 16:48:52] Client headers: {'host': '192.168.10.139:8000', 'user-agent': 'Mozilla/5.0 (Linux; Android 7.1.2; ru-RU; MI 5 Build/NJH47F) MXPlayer/1.9.24', 'connection': 'Keep-Alive', 'accept-encoding': 'gzip'}
acehttp.py           [LINE:162 ]# DEBUG    [12.02 16:48:52] Create connection to AceEngine.....
aceclient.py         [LINE:73  ]# DEBUG    [12.02 16:48:52] Successfully connected to AceStream on 192.168.10.62:62062
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:48:52] >>> HELLOBG version=3
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:52] <<< STATUS main:dl;0;0;1062;0;0;18;0;24510464;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< EVENT livepos last=1549979327 live_first=1549977527 pos=1549979311 first_ts=1549977527 last_ts=1549979327 is_live=0 live_last=1549979327 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< HELLOTS version=3.1.33 version_code=3013300 key=9e97dd7799 http_port=6878 bmode=0
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:48:53] >>> READY key=n51LvQoTlJzNGaFxseRK-0c8793dd13ac446b228f92502f08a9ccb763f2f5
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< AUTH 0
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:48:53] >>> SETOPTIONS use_stop_notifications=1
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:48:53] >>> LOADASYNC 36885943 PID 0bc4fb8a797ac232433639238e42edd48f9e3af7
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< STATUS main:loading
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< LOADRESP 36885943 {"status": 1, "files": [["ТНТ HD", 0]], "infohash": "4fe626ec92a70917ca18c0e1f58a48d908dda4c7", "checksum": "eb665020c6868e90fb5d2e8395ac603f99ba7d6a"}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:48:53] >>> SHUTDOWN
acehttp.py           [LINE:204 ]# INFO     [12.02 16:48:53] Streaming "ТНТ HD" to 192.168.10.62 started
acehttp.py           [LINE:217 ]# DEBUG    [12.02 16:48:53] Sending HTTPAceProxy headers to client: {'Transfer-Encoding': 'chunked', 'Accept-Ranges': 'none', 'Keep-Alive': 'timeout=15, max=100', 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Cache-Control': 'max-age=0, no-cache, no-store', 'Content-Type': 'video/MP2T'}
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< STATUS main:idle
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< STATE 0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:53] <<< SHUTDOWN
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:54] <<< STATUS main:dl;0;0;983;0;0;18;0;25001984;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:54] <<< EVENT livepos last=1549979329 live_first=1549977529 pos=1549979313 first_ts=1549977529 last_ts=1549979329 is_live=0 live_last=1549979329 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:56] <<< STATUS main:dl;0;0;917;0;0;18;0;25624576;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:57] <<< EVENT livepos last=1549979331 live_first=1549977531 pos=1549979317 first_ts=1549977531 last_ts=1549979331 is_live=1 live_last=1549979331 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:59] <<< STATUS main:dl;0;0;845;0;0;18;0;25968640;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:48:59] <<< EVENT livepos last=1549979332 live_first=1549977532 pos=1549979317 first_ts=1549977532 last_ts=1549979332 is_live=1 live_last=1549979332 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:00] <<< STATUS main:dl;0;0;783;0;0;18;0;26361856;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:01] <<< EVENT livepos last=1549979335 live_first=1549977535 pos=1549979317 first_ts=1549977535 last_ts=1549979335 is_live=0 live_last=1549979335 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:03] <<< STATUS main:dl;0;0;732;0;0;17;0;26886144;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:03] <<< EVENT livepos last=1549979337 live_first=1549977537 pos=1549979317 first_ts=1549977537 last_ts=1549979337 is_live=0 live_last=1549979337 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:04] <<< PAUSE
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:04] <<< STATE 3
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:04] <<< STATUS main:buf;4;0;0;0;700;0;0;22;0;27688960;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:05] <<< EVENT livepos last=1549979338 live_first=1549977538 pos=1549979317 first_ts=1549977538 last_ts=1549979338 is_live=0 live_last=1549979338 buffer_pieces=15
acehttp.py           [LINE:229 ]# INFO     [12.02 16:49:06] Streaming "ТНТ HD" to 192.168.10.62 finished
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:06] <<< STATUS main:buf;19;0;0;0;733;0;0;18;0;29868032;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:06] <<< EVENT livepos last=1549979341 live_first=1549977541 pos=1549979317 first_ts=1549977541 last_ts=1549979341 is_live=0 live_last=1549979341 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:08] <<< STATUS main:buf;19;0;0;0;770;0;0;18;0;32210944;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:08] <<< EVENT livepos last=1549979343 live_first=1549977543 pos=1549979317 first_ts=1549977543 last_ts=1549979343 is_live=0 live_last=1549979343 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:10] <<< STATUS main:buf;38;0;0;0;751;0;0;16;0;33390592;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:10] <<< EVENT livepos last=1549979345 live_first=1549977545 pos=1549979317 first_ts=1549977545 last_ts=1549979345 is_live=0 live_last=1549979345 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:13] <<< STATUS main:buf;42;0;0;0;756;0;0;17;0;35078144;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:13] <<< EVENT livepos last=1549979346 live_first=1549977546 pos=1549979317 first_ts=1549977546 last_ts=1549979346 is_live=0 live_last=1549979346 buffer_pieces=15
acehttp.py           [LINE:229 ]# INFO     [12.02 16:49:14] Streaming "ТНТ HD" to 192.168.10.62 finished
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:49:14] >>> STOP
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:15] <<< STATUS main:buf;42;0;0;0;769;0;0;17;0;36945920;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:15] <<< EVENT livepos last=1549979349 live_first=1549977549 pos=1549979317 first_ts=1549977549 last_ts=1549979349 is_live=0 live_last=1549979349 buffer_pieces=15
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:15] <<< STATE 0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:15] <<< STATUS main:idle
acehttp.py           [LINE:234 ]# DEBUG    [12.02 16:49:15] Broadcast "ТНТ HD" stoped. Last client 192.168.10.62 disconnected
acehttp.py           [LINE:79  ]# INFO     [12.02 16:49:24] Accepted connection from 192.168.10.135 path /torrenttv/channel/ТНТ HD.ts
acehttp.py           [LINE:80  ]# DEBUG    [12.02 16:49:24] Client headers: {'host': '192.168.10.139:8000', 'connection': 'close', 'user-agent': 'TVHeadend/4.2.7-44 ~ LibreELEC Tvh-addon v9.0.118'}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:49:24] >>> LOADASYNC 20806944 PID 0bc4fb8a797ac232433639238e42edd48f9e3af7
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:24] <<< STATUS main:loading
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:24] <<< LOADRESP 20806944 {"status": 1, "files": [["ТНТ HD", 0]], "infohash": "4fe626ec92a70917ca18c0e1f58a48d908dda4c7", "checksum": "eb665020c6868e90fb5d2e8395ac603f99ba7d6a"}
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:49:24] >>> START PID 0bc4fb8a797ac232433639238e42edd48f9e3af7 0 output_format=http
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:24] <<< STATUS main:idle
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:24] <<< STATE 1
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:24] <<< STATUS main:starting
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:27] <<< STATUS main:prebuf;0;0;0;0;545;0;0;18;0;1605632;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:29] <<< STATUS main:prebuf;0;0;0;0;1206;0;0;20;0;6078464;0;0
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:31] <<< START http://192.168.10.62:6878/content/4fe626ec92a70917ca18c0e1f58a48d908dda4c7/0.357484256495 stream=1
acehttp.py           [LINE:204 ]# INFO     [12.02 16:49:31] Streaming "ТНТ HD" to 192.168.10.135 started
acehttp.py           [LINE:217 ]# DEBUG    [12.02 16:49:31] Sending HTTPAceProxy headers to client: {'Transfer-Encoding': 'chunked', 'Accept-Ranges': 'none', 'Keep-Alive': 'timeout=15, max=100', 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Cache-Control': 'max-age=0, no-cache, no-store', 'Content-Type': 'video/MP2T'}
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:31] <<< STATE 2
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:31] <<< STATUS main:idle
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:31] <<< EVENT livepos last=1549979365 live_first=1549977565 pos=1549979365 first_ts=1549977565 last_ts=1549979365 is_live=1 live_last=1549979365 buffer_pieces=15
acehttp.py           [LINE:229 ]# INFO     [12.02 16:49:31] Streaming "ТНТ HD" to 192.168.10.135 finished
aceclient.py         [LINE:99  ]# DEBUG    [12.02 16:49:31] >>> STOP
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:31] <<< STATE 0
acehttp.py           [LINE:234 ]# DEBUG    [12.02 16:49:31] Broadcast "ТНТ HD" stoped. Last client 192.168.10.135 disconnected
aceclient.py         [LINE:248 ]# DEBUG    [12.02 16:49:31] <<< STATUS main:idle
В логе 2 устройства. 192.168.10.62 это смарт, на нем все работает. 135 это малинка на libreelec, сд каналы включаются, а хд на prebuf висят и отваливаются
« Последнее редактирование: Февраль 12, 2019, 17:03:03 от achilles85 »

achilles85

  • Newbie
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9502 : Февраль 12, 2019, 17:28:04 »
Разобрался вроде. В настройках TVH таймаут максимальный выставлен был в 15сек, по логу смотрю на 16й секунде останавливается трансляция. Видать не дожидается трансляции TVH и отваливается, увеличил до 30сек и все завелось. Связь там где настраиваю малинку дерьмовая, подвела.

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2163
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9503 : Февраль 13, 2019, 12:06:24 »
Во все плагины добавлена поддержка и анализ заголовков 'last-modified' во избежание "дятлования" источников. Изменения на гите.
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

zyxmon

  • Newbie
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9504 : Февраль 13, 2019, 12:32:43 »
По поводу плеера TiViMate - с движком работает криво. Подтверждаю. Попробую поиграться с размером буффера live, но сомневаюсь, что поможет.
http://4pda.ru/forum/index.php?showtopic=933497&st=300#entry81593237

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2163
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9505 : Февраль 13, 2019, 12:38:27 »
По поводу плеера TiViMate - с движком работает криво. Подтверждаю. Попробую поиграться с размером буффера live, но сомневаюсь, что поможет.
http://4pda.ru/forum/index.php?showtopic=933497&st=300#entry81593237
Я вечером гляну ... не думаю что это трабла прокси ... Скорее всего плеер не закрывает сокет  при переключении на следующий канал или попытке рекконекта из за таймаута неполучения данных на текущей трансляции. Он там скорее всего манюсенький. Прокся же, в свою очередь, закрывает соединения через 15 сек после того как плеер перестал принимать данные если сокет не закрыт... Вот и возникает ситуация когда этот "чудо-плеер" долбит как дятел проксю не закрывая предыдущие коннекты , а прокся их отключит через 15 сек ... Отсюда и лог в проксе о максимальном пороге подключений.... Задайте там автору простой вопрос какой таймаут у данного плеера по не получению данных после которого он делает рекконект ... думаю что сек 5 .... если он его сделает более-менее "стандартным" , например как на пеерах Samart теликов - 30 сек .. то все заработает аж бигом ....  Специфика движка такова что во время буфферизации данных он не отдает ни байтика на 6878 порту и если время буфферизации превысит таймаут ожидания данных у плеера , то ...... имеем то что имеем с TiViMate. Я бы в TiViMate сделал настройку , например, "восстанавливать соединение при обрыве" ... + увеличил паузу реконнекта для определения отсутствия данных  .... Если убрать галочку - то нет рекконекта .... В таком случае прокся и движок с его встроенной проксей нормально бы работали с данным плеером + нормуль было бы с другими источниками требующими функции рекконекта

p.s. Таймаут отключения "подвисших" сокетов в 15 сек в проксе можно поменять ... но тут тоже есть специфика. Поскольку прокся выдает в Transfer-encoding: chunked , то время не должно быть меньше чем время "впихивания" одного чанка в плеер (максимальный возможный размер чанка 1Мбайт), а учитывая то что у разных плееров разный размер "собственного" буфера данных, да и еще то что одну и ту же трансляцию может смотреть хоть 10 разных плееров одновременно, а еще кто-то из этих 10-ти "умудриться" поставить на паузу live трансляцию, то 15 сек - оптимальное время "синхронизации" всех этих "параметров"  ::) чтоб у всех все работало и прокся отключала в случае чего "тугодумов"
« Последнее редактирование: Февраль 13, 2019, 15:49:09 от Pepsik »
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

zyxmon

  • Newbie
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9506 : Февраль 13, 2019, 12:56:11 »
....Скорее всего плеер не закрывает сокет  при переключении на следующий канал или попытке рекконекта из за таймаута неполучения данных .....
1. Лог с ошибкой (выше) - при переключении канала. Там как раз смотрел через TiViMate.
2. Проблемы с воспроизведением есть на одном канале без переключений.
Автору TiViMate дал ссылку на пост.

KonstantinK

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9507 : Февраль 15, 2019, 00:03:30 »
Мистика продолжается, HD каналы отлично показывают, SD обрываются каждые ~2-5 мин. Пробовал трансляцию в hls - обрыв стабильно через 100 сек любых каналов, что это может быть?

Gek

  • Jr. Member
  • **
  • Сообщений: 61
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9508 : Февраль 15, 2019, 07:41:09 »
Пробуй днём. У меня ночью тоже постоянно проблемы с трансляциями(не прокси)

Ну и как всегда, покажи лог, чтоб знающие посмотрели. А то получаются обвинения без доказательств.

KonstantinK

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #9509 : Февраль 15, 2019, 08:36:48 »
Пробуй днём. У меня ночью тоже постоянно проблемы с трансляциями(не прокси)

Ну и как всегда, покажи лог, чтоб знающие посмотрели. А то получаются обвинения без доказательств.
Пример лога на 632 странице, проблемы что днем что ночью