ProgTV + HTTPAceProxy + timeout

#1
Добрый вам. Дублирую сообщение с лички 4pda, по вашей рекомендации.

Добрый вам день. Хотел обсудить с вами возможность увеличение timeout-а ожидания потока в вашем великолепном плеере. Расскажу о сути проблемы... Дело в том, что недавно, для просмотра торентовских телеканалов начал использовать HTTPAceProxy и столкнулся с проблемой, что когда движок асе стрима переходит в состояние буферизации progtv не дожидается появления потока и переходит в состояние соединение потерянно, а когда буфер асе стрима наполнился, он уже поток не подхватывает. Через время он инициирует новое соединение и история повторяется. Все это происходит в режиме openmax. В других режимах, глюк проявляется иначе, в виде показа по кругу одного и того же чанка.
Если посмотреть поведение vlc плеера на компьютере, то он в такой ситуации, замирает на время буферизации асестрим движка, и когда буферизация заканчивается возобновляет воспроизведение.
Справедливости ради, хочу заметить, что при использовании прокси встроенной в асе стрим, такого глюка не наблюдается, но хочется подружить ваш плеер именно с HTTPAceProxy, так как он позволяет просматривать один и тот же канал на разных устройствах, что не позволяет встроенный прокси в acestream.
Вот собственно и вопрос, можно ли увеличить время ожидания плеером потока от прокси?

Логи progtv прикладываю
Logs.rar
(15.98 KiB) Downloaded 109 times

Re: ProgTV + HTTPAceProxy + timeout

#2
Сервер действительно не отдаёт трафик по 12-15 секунд, потом ProgTV обновляет соеденение. В принципе такие большие задержки для torrent tv - это нормально. То есть плохая работа самого torrent tv - это нормальное его(!) состояние. Если интересно сделаю версию с более длинным ожиданием.

С другой стороны вы смотрите не поток а mp4 судя по расширению, и это полный треш. Его нужно читать не последовательно а кусками с разных позиций и в условиях torrent tv это очень увлекательно.
На обычных каналах лучше?

Re: ProgTV + HTTPAceProxy + timeout

#3
Это особенность работы этого прокси...
С обычными каналами от провайдера проблем нет...
Если использовать родной прокси от acestream движка, проблем тоже в принцепи не наблюдается...
Но хотелось бы заставить работать именно с этим прокси, судя по тому как работает vlc, то такая ситуация с провалом потока, возникает как правило только в начале, потом буффер прокси наполняется и буферизаций больше не возникает и vlc больше не остонавливается.
Если можно сделать версию с более длинным таймаут, то было бы замечательно, а ещё лучше, чтобы его можно было менять через настройки или файл конфигурации.

Re: ProgTV + HTTPAceProxy + timeout

#4
А если без прокси напрямую torrent tv в ProgTV получать? Думаю не виноват прокси. У него нет трафика на входе и не отдаёт на выходе.

Ну и опять же - нужно на обычных (торрент тв но обычных) тестировать. mp4 через торент это как стоя в гамаке ...

Re: ProgTV + HTTPAceProxy + timeout

#5
А если без прокси напрямую torrent tv в ProgTV получать? Думаю не виноват прокси. У него нет трафика на входе и не отдаёт на выходе.
Мы похоже говорим об одном и тоже, разными словами. ProgTV не умеет же торренты качать... а работает через AceStreamEngene, а у того, в свою очередь, есть своя прокся которая собирает скачанные куски в одно целое, или я что - то неправильно понимаю...
Но суть такая... если я запускаю плейлист с помойки, или тот же лист с помойки, в котором прописываю в конце параметры ?ip=ip_acestream:6878, то проблем с потерей потока нет... всё идет гладко, иногда бывает не с первого раза канал запуститься, но с второго раза запускается железно.

Да я не виню проксю... я потому и написал "особенность". По логам прокси видно, при запросе канала, у движка начинается prebuf, через некоторое время,когда предварительная буферизация заканчивается (очень бысто 2-3 сек) он выдает ссылку на поток плееру, плеер наченает показывать канал, а движок AceStream переходит в состояние dl и молотит..., через 10-15 сек движку видимо не хватает данных и он переходит в состояние buf (буферизации по причине не хватки данных) поток на выходе видимо в этот момент уже отсутствует, но в буфере плеера ещё есть данные и поэтому плеер продолжает воспроизвидение как не в чем не бывало, но я уже знаю, что скоро конец... через ещё некоторое время появится надпись о потери соеденения, а ещё чуть позже остановится видео на экране. Если до появления надписи о потере соединения, движёк успеет набуферить данных и передёт опять в состояние dl, то обрыва не будет, но как правило не успевает... В винде VLC ведёт себя так же, то есть останавливается, но дожидается появления потока и потом уже работает нормально. Наверное это связано с тем, что эйсстриму нужно разогнаться ))))
В общем как мне кажется, что если позволить плееру дольше ждать, то проблема решится.

Re: ProgTV + HTTPAceProxy + timeout

#7
Погонял... - лучше не стало :(
Хотя вроде периодически после появления надписи о потери соединения и успевало подхватить, но при следующей буферизации падает.

При этом всем, наблюдается интересная вещь... если использовать родную проксю движка ace stream (localhost:6878 или acestream_ip:6878), то проблем не каких нет... все идёт гладко, как часы., а с этой проксёй работать не хочет не в какую...
Другие железки в доме (телик LG NetCast, комп с win7 + VLC) работают с этой проксей нормально и даже если запустить один и тот же канал к примеру на компе в VLC и в Prog TV на андройде, то уже и в ProgTV проблем не будет...
И ещё при воспроизведении другими устройствами через httpaceproxy, ace stream реже переходит в состояние buf по сравнению с воспроизведением progtv...

Вот такие пироги...

И да, в проксе есть настройка которая переключает выходной поток с http на hls и в этом варианте обрывов не наблюдается, но минусом является то, что пропадают дополнительные звуковые дорожки.

Re: ProgTV + HTTPAceProxy + timeout

#9
Добрый вам. Прошу прощения за задержку с ответом. Сегдня плеер обновился до 2.54.8 так что это не тестовая версия.
Вот лог который сыпет в консоль прокси во время воспроизведения ProgTV.

Code: Select all

acehttp.py           [LINE:106 ]# INFO     [02.05 13:04:19]  Accepted connection from 192.168.1.20 path /torrenttv
acehttp.py           [LINE:107 ]# DEBUG    [02.05 13:04:19]  Headers: {'connection': 'keep-alive', 'host': '192.168.1.20:8000'}
acehttp.py           [LINE:106 ]# INFO     [02.05 13:05:28]  Accepted connection from 192.168.1.20 path /torrenttv/channel/Amedia Hit HD.mp4
acehttp.py           [LINE:107 ]# DEBUG    [02.05 13:05:28]  Headers: {'accept-language': 'ru,en-us;q=0.7,en;q=0.3', 'accept-encoding': 'gzip,deflate', 'connection': 'close', 'accept': '*/*', 'user-agent': 'VLC/2.1.3 LibVLC/2.1.3', 'accept-charset': 'utf-8;windows-1251;windows-1252;q=0.7,*;q=0.7', 'host': '192.168.1.20:8000', 'icy-metadata': '1'}
aceclient.py         [LINE:84  ]# DEBUG    [02.05 13:05:28]  Successfully connected to AceStream on 127.0.0.1:62062
clientcounter.py     [LINE:24  ]# DEBUG    [02.05 13:05:28]  AceClient created
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:05:28]  HELLOBG version=3
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:28]  <<< HELLOTS version=3.1.28 version_code=3012800 key=ef969c3255 http_port=6878 bmode=0
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:05:28]  READY key=n51LvQoTlJzNGaFxseRK-5b04e8f1e415d48898d6bf77e328439f6bb0b3b6
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:28]  <<< AUTH 0
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:05:28]  USERDATA [{"gender": 1}, {"age": 5}]
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:05:28]  SETOPTIONS use_stop_notifications=1
clientcounter.py     [LINE:26  ]# DEBUG    [02.05 13:05:28]  AceClient initialized
acehttp.py           [LINE:203 ]# WARNING  [02.05 13:05:28]  Create a broadcast "Amedia Hit HD"
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:05:28]  START PID 06175dc01eb499ffcb5f2d12bd4f747e124e36c2 0 output_format=http
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:29]  <<< STATE 1
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:29]  <<< STATUS main:starting
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:31]  <<< START http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.87115297449 stream=1
aceclient.py         [LINE:208 ]# DEBUG    [02.05 13:05:31]  Open video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.87115297449
aceclient.py         [LINE:213 ]# DEBUG    [02.05 13:05:31]  Get headers from client: {'accept-language': 'ru,en-us;q=0.7,en;q=0.3', 'accept-encoding': 'gzip,deflate', 'connection': 'close', 'accept': '*/*', 'user-agent': 'VLC/2.1.3 LibVLC/2.1.3', 'accept-charset': 'utf-8;windows-1251;windows-1252;q=0.7,*;q=0.7', 'host': '192.168.1.20:8000', 'icy-metadata': '1'}
acehttp.py           [LINE:214 ]# WARNING  [02.05 13:05:31]  Broadcast "Amedia Hit HD" created
acehttp.py           [LINE:221 ]# INFO     [02.05 13:05:31]  Streaming "Amedia Hit HD" to 192.168.1.20 started
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:31]  <<< STATE 2
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:05:31]  EVENT play
acehttp.py           [LINE:298 ]# DEBUG    [02.05 13:05:31]  Sending HTTPAceProxy headers to client: {'Connection': 'Keep-Alive', 'Content-Type': 'application/octet-stream', 'Keep-Alive': 'timeout=15, max=100'}
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:32]  <<< STATUS main:dl;0;0;1932;0;0;5;0;5816320;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:32]  <<< EVENT livepos last=1525255531 live_first=1525253731 pos=1525255523 first_ts=1525253731 last_ts=1525255531 is_live=1 live_last=1525255531 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:34]  <<< STATUS main:dl;0;0;2240;0;0;9;0;11534336;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:34]  <<< EVENT livepos last=1525255533 live_first=1525253733 pos=1525255530 first_ts=1525253733 last_ts=1525255533 is_live=1 live_last=1525255533 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:36]  <<< STATUS main:dl;0;0;1886;0;0;9;0;13631488;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:36]  <<< EVENT livepos last=1525255535 live_first=1525253735 pos=1525255534 first_ts=1525253735 last_ts=1525255535 is_live=1 live_last=1525255535 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:38]  <<< STATUS main:dl;0;0;1465;0;0;9;0;13631488;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:38]  <<< EVENT livepos last=1525255537 live_first=1525253737 pos=1525255535 first_ts=1525253737 last_ts=1525255537 is_live=1 live_last=1525255537 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:39]  <<< PAUSE
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:39]  <<< STATE 3
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:40]  <<< STATUS main:buf;0;0;0;0;1382;0;0;9;0;15728640;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:40]  <<< EVENT livepos last=1525255538 live_first=1525253738 pos=1525255535 first_ts=1525253738 last_ts=1525255538 is_live=1 live_last=1525255538 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:42]  <<< STATUS main:buf;9;0;0;0;1249;0;0;9;0;16809984;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:42]  <<< EVENT livepos last=1525255541 live_first=1525253741 pos=1525255535 first_ts=1525253741 last_ts=1525255541 is_live=1 live_last=1525255541 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:44]  <<< STATUS main:buf;9;0;0;0;1264;0;2;9;0;19628032;0;49152
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:44]  <<< EVENT livepos last=1525255543 live_first=1525253743 pos=1525255535 first_ts=1525253743 last_ts=1525255543 is_live=1 live_last=1525255543 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:46]  <<< STATUS main:buf;28;0;0;0;1131;0;2;9;0;19922944;0;49152
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:46]  <<< EVENT livepos last=1525255545 live_first=1525253745 pos=1525255535 first_ts=1525253745 last_ts=1525255545 is_live=0 live_last=1525255545 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:48]  <<< STATUS main:buf;38;0;0;0;1117;0;3;9;0;22020096;0;81920
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:48]  <<< EVENT livepos last=1525255546 live_first=1525253746 pos=1525255535 first_ts=1525253746 last_ts=1525255546 is_live=0 live_last=1525255546 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:50]  <<< STATUS main:buf;38;0;0;0;1058;0;3;9;0;23068672;0;81920
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:50]  <<< EVENT livepos last=1525255548 live_first=1525253748 pos=1525255535 first_ts=1525253748 last_ts=1525255548 is_live=0 live_last=1525255548 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:52]  <<< STATUS main:buf;47;0;0;0;1049;0;2;9;0;25018368;0;81920
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:52]  <<< EVENT livepos last=1525255551 live_first=1525253751 pos=1525255535 first_ts=1525253751 last_ts=1525255551 is_live=0 live_last=1525255551 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:54]  <<< STATUS main:buf;47;0;0;0;1007;0;2;9;0;26214400;0;81920
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:54]  <<< EVENT livepos last=1525255553 live_first=1525253753 pos=1525255535 first_ts=1525253753 last_ts=1525255553 is_live=0 live_last=1525255553 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:56]  <<< STATUS main:buf;57;0;0;0;1010;0;2;9;0;28311552;0;81920
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:56]  <<< EVENT livepos last=1525255555 live_first=1525253755 pos=1525255535 first_ts=1525253755 last_ts=1525255555 is_live=0 live_last=1525255555 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:58]  <<< STATUS main:buf;66;0;0;0;949;0;2;9;0;29016064;0;81920
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:58]  <<< EVENT livepos last=1525255557 live_first=1525253757 pos=1525255535 first_ts=1525253757 last_ts=1525255557 is_live=0 live_last=1525255557 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:00]  <<< STATUS main:buf;66;0;0;0;972;0;2;9;0;31457280;0;98304
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:00]  <<< EVENT livepos last=1525255559 live_first=1525253759 pos=1525255535 first_ts=1525253759 last_ts=1525255559 is_live=0 live_last=1525255559 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:02]  <<< STATUS main:buf;80;0;0;0;931;0;2;9;0;32505856;0;98304
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:02]  <<< EVENT livepos last=1525255561 live_first=1525253761 pos=1525255535 first_ts=1525253761 last_ts=1525255561 is_live=0 live_last=1525255561 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:04]  <<< STATUS main:buf;80;0;0;0;922;0;2;9;0;34193408;0;98304
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:04]  <<< EVENT livepos last=1525255563 live_first=1525253763 pos=1525255535 first_ts=1525253763 last_ts=1525255563 is_live=0 live_last=1525255563 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:06]  <<< STATUS main:buf;95;0;0;0;903;0;2;9;0;35651584;0;98304
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:06]  <<< EVENT livepos last=1525255565 live_first=1525253765 pos=1525255535 first_ts=1525253765 last_ts=1525255565 is_live=0 live_last=1525255565 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:06]  <<< RESUME
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:06]  <<< STATE 2
acehttp.py           [LINE:223 ]# INFO     [02.05 13:06:06]  Streaming "Amedia Hit HD" to 192.168.1.20 finished
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:06:06]  EVENT stop
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:06:06]  STOP
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:06]  <<< STATE 0
aceclient.py         [LINE:283 ]# DEBUG    [02.05 13:06:06]  Close video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.87115297449
acehttp.py           [LINE:226 ]# WARNING  [02.05 13:06:06]  Broadcast "Amedia Hit HD" stoped. Last client disconnected
aceclient.py         [LINE:271 ]# DEBUG    [02.05 13:06:06]  All clients disconnected - broadcast stoped
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:06]  <<< STATUS main:idle
acehttp.py           [LINE:106 ]# INFO     [02.05 13:06:17]  Accepted connection from 192.168.1.20 path /torrenttv/channel/Amedia Hit HD.mp4
acehttp.py           [LINE:107 ]# DEBUG    [02.05 13:06:17]  Headers: {'accept-language': 'ru,en-us;q=0.7,en;q=0.3', 'accept-encoding': 'gzip,deflate', 'connection': 'close', 'accept': '*/*', 'user-agent': 'VLC/2.1.3 LibVLC/2.1.3', 'accept-charset': 'utf-8;windows-1251;windows-1252;q=0.7,*;q=0.7', 'host': '192.168.1.20:8000', 'icy-metadata': '1'}
acehttp.py           [LINE:203 ]# WARNING  [02.05 13:06:17]  Create a broadcast "Amedia Hit HD"
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:06:17]  START PID 06175dc01eb499ffcb5f2d12bd4f747e124e36c2 0 output_format=http
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:17]  <<< STATE 1
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:17]  <<< STATUS main:starting
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:20]  <<< START http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.0358681279164 stream=1
aceclient.py         [LINE:208 ]# DEBUG    [02.05 13:06:20]  Open video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.0358681279164
aceclient.py         [LINE:213 ]# DEBUG    [02.05 13:06:20]  Get headers from client: {'accept-language': 'ru,en-us;q=0.7,en;q=0.3', 'accept-encoding': 'gzip,deflate', 'connection': 'close', 'accept': '*/*', 'user-agent': 'VLC/2.1.3 LibVLC/2.1.3', 'accept-charset': 'utf-8;windows-1251;windows-1252;q=0.7,*;q=0.7', 'host': '192.168.1.20:8000', 'icy-metadata': '1'}
acehttp.py           [LINE:214 ]# WARNING  [02.05 13:06:20]  Broadcast "Amedia Hit HD" created
acehttp.py           [LINE:221 ]# INFO     [02.05 13:06:20]  Streaming "Amedia Hit HD" to 192.168.1.20 started
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:20]  <<< STATE 2
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:06:20]  EVENT play
acehttp.py           [LINE:298 ]# DEBUG    [02.05 13:06:20]  Sending HTTPAceProxy headers to client: {'Connection': 'Keep-Alive', 'Content-Type': 'application/octet-stream', 'Keep-Alive': 'timeout=15, max=100'}
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:20]  <<< STATUS main:dl;0;0;1811;0;0;7;0;5701632;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:20]  <<< EVENT livepos last=1525255578 live_first=1525253778 pos=1525255573 first_ts=1525253778 last_ts=1525255578 is_live=1 live_last=1525255578 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:22]  <<< STATUS main:dl;0;0;1824;0;0;10;0;11485184;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:22]  <<< EVENT livepos last=1525255581 live_first=1525253781 pos=1525255573 first_ts=1525253781 last_ts=1525255581 is_live=1 live_last=1525255581 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:24]  <<< STATUS main:dl;0;0;1492;0;0;10;0;12582912;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:24]  <<< EVENT livepos last=1525255582 live_first=1525253782 pos=1525255582 first_ts=1525253782 last_ts=1525255582 is_live=1 live_last=1525255582 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:26]  <<< STATUS main:dl;0;0;1397;0;0;10;0;14680064;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:26]  <<< EVENT livepos last=1525255585 live_first=1525253785 pos=1525255582 first_ts=1525253785 last_ts=1525255585 is_live=1 live_last=1525255585 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:26]  <<< PAUSE
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:26]  <<< STATE 3
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:28]  <<< STATUS main:buf;14;0;0;0;1250;0;0;10;0;15728640;0;16384
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:28]  <<< EVENT livepos last=1525255586 live_first=1525253786 pos=1525255582 first_ts=1525253786 last_ts=1525255586 is_live=1 live_last=1525255586 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:30]  <<< STATUS main:buf;14;0;0;0;1216;0;0;10;0;17825792;0;16384
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:30]  <<< EVENT livepos last=1525255589 live_first=1525253789 pos=1525255582 first_ts=1525253789 last_ts=1525255589 is_live=1 live_last=1525255589 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:32]  <<< STATUS main:buf;23;0;0;0;1127;0;0;10;0;18874368;0;16384
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:32]  <<< EVENT livepos last=1525255591 live_first=1525253791 pos=1525255582 first_ts=1525253791 last_ts=1525255591 is_live=1 live_last=1525255591 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:34]  <<< STATUS main:buf;23;0;0;0;1059;0;0;10;0;19922944;0;16384
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:34]  <<< EVENT livepos last=1525255592 live_first=1525253792 pos=1525255582 first_ts=1525253792 last_ts=1525255592 is_live=0 live_last=1525255592 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:36]  <<< STATUS main:buf;33;0;0;0;1048;0;1;11;0;21889024;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:36]  <<< EVENT livepos last=1525255595 live_first=1525253795 pos=1525255582 first_ts=1525253795 last_ts=1525255595 is_live=0 live_last=1525255595 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:38]  <<< STATUS main:buf;47;0;0;0;1004;0;42;11;0;23068672;0;933888
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:38]  <<< EVENT livepos last=1525255596 live_first=1525253796 pos=1525255582 first_ts=1525253796 last_ts=1525255596 is_live=0 live_last=1525255596 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:40]  <<< STATUS main:buf;47;0;0;0;1007;0;64;11;0;25165824;0;1507328
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:40]  <<< EVENT livepos last=1525255599 live_first=1525253799 pos=1525255582 first_ts=1525253799 last_ts=1525255599 is_live=0 live_last=1525255599 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:41]  <<< STATUS main:buf;57;0;0;0;961;0;59;11;0;26214400;0;1523712
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:41]  <<< EVENT livepos last=1525255600 live_first=1525253800 pos=1525255582 first_ts=1525253800 last_ts=1525255600 is_live=0 live_last=1525255600 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:43]  <<< STATUS main:buf;57;0;0;0;919;0;58;11;0;27262976;0;1622016
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:43]  <<< EVENT livepos last=1525255602 live_first=1525253802 pos=1525255582 first_ts=1525253802 last_ts=1525255602 is_live=0 live_last=1525255602 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:45]  <<< STATUS main:buf;71;0;0;0;929;0;71;11;0;29360128;0;2015232
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:45]  <<< EVENT livepos last=1525255604 live_first=1525253804 pos=1525255582 first_ts=1525253804 last_ts=1525255604 is_live=0 live_last=1525255604 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:47]  <<< STATUS main:buf;71;0;0;0;891;0;76;11;0;30408704;0;2260992
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:47]  <<< EVENT livepos last=1525255606 live_first=1525253806 pos=1525255582 first_ts=1525253806 last_ts=1525255606 is_live=0 live_last=1525255606 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:49]  <<< STATUS main:buf;80;0;0;0;904;0;96;11;0;32505856;0;2850816
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:49]  <<< EVENT livepos last=1525255608 live_first=1525253808 pos=1525255582 first_ts=1525253808 last_ts=1525255608 is_live=0 live_last=1525255608 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:51]  <<< STATUS main:buf;90;0;0;0;869;0;96;11;0;33554432;0;3063808
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:51]  <<< EVENT livepos last=1525255610 live_first=1525253810 pos=1525255582 first_ts=1525253810 last_ts=1525255610 is_live=0 live_last=1525255610 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:52]  <<< RESUME
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:52]  <<< STATE 2
acehttp.py           [LINE:223 ]# INFO     [02.05 13:06:52]  Streaming "Amedia Hit HD" to 192.168.1.20 finished
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:06:52]  EVENT stop
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:06:52]  STOP
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:52]  <<< STATE 0
aceclient.py         [LINE:283 ]# DEBUG    [02.05 13:06:52]  Close video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.0358681279164
acehttp.py           [LINE:226 ]# WARNING  [02.05 13:06:52]  Broadcast "Amedia Hit HD" stoped. Last client disconnected
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:52]  <<< STATUS main:idle
aceclient.py         [LINE:271 ]# DEBUG    [02.05 13:06:52]  All clients disconnected - broadcast stoped
acehttp.py           [LINE:106 ]# INFO     [02.05 13:07:05]  Accepted connection from 192.168.1.20 path /torrenttv/channel/Amedia Hit HD.mp4
acehttp.py           [LINE:107 ]# DEBUG    [02.05 13:07:05]  Headers: {'accept-language': 'ru,en-us;q=0.7,en;q=0.3', 'accept-encoding': 'gzip,deflate', 'connection': 'close', 'accept': '*/*', 'user-agent': 'VLC/2.1.3 LibVLC/2.1.3', 'accept-charset': 'utf-8;windows-1251;windows-1252;q=0.7,*;q=0.7', 'host': '192.168.1.20:8000', 'icy-metadata': '1'}
acehttp.py           [LINE:203 ]# WARNING  [02.05 13:07:05]  Create a broadcast "Amedia Hit HD"
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:07:05]  START PID 06175dc01eb499ffcb5f2d12bd4f747e124e36c2 0 output_format=http
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:07:05]  <<< STATE 1
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:07:05]  <<< STATUS main:starting
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:07:05]  <<< STATUS main:prebuf;0;0;0;0;0;0;0;0;0;0;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:07:07]  <<< START http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.211077525968 stream=1
aceclient.py         [LINE:208 ]# DEBUG    [02.05 13:07:07]  Open video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.211077525968
aceclient.py         [LINE:213 ]# DEBUG    [02.05 13:07:07]  Get headers from client: {'accept-language': 'ru,en-us;q=0.7,en;q=0.3', 'accept-encoding': 'gzip,deflate', 'connection': 'close', 'accept': '*/*', 'user-agent': 'VLC/2.1.3 LibVLC/2.1.3', 'accept-charset': 'utf-8;windows-1251;windows-1252;q=0.7,*;q=0.7', 'host': '192.168.1.20:8000', 'icy-metadata': '1'}
acehttp.py           [LINE:214 ]# WARNING  [02.05 13:07:07]  Broadcast "Amedia Hit HD" created
acehttp.py           [LINE:221 ]# INFO     [02.05 13:07:07]  Streaming "Amedia Hit HD" to 192.168.1.20 started
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:07:07]  <<< STATE 2
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:07:07]  EVENT play
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:07:07]  EVENT stop
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:07:07]  STOP
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:07:07]  <<< STATE 0
aceclient.py         [LINE:283 ]# DEBUG    [02.05 13:07:07]  Close video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.211077525968
acehttp.py           [LINE:226 ]# WARNING  [02.05 13:07:07]  Broadcast "Amedia Hit HD" stoped. Last client disconnected
aceclient.py         [LINE:271 ]# DEBUG    [02.05 13:07:07]  All clients disconnected - broadcast stoped
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:07:07]  <<< STATUS main:idle
aceclient.py         [LINE:106 ]# DEBUG    [02.05 13:08:20]  Destroying AceStream client.....
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:08:20]  SHUTDOWN
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:08:20]  <<< STATE 0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:08:21]  <<< SHUTDOWN
aceclient.py         [LINE:397 ]# DEBUG    [02.05 13:08:21]  AceClient destroyed
В этот момент уже происходит остановка воспроизведения.

Code: Select all

aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:48]  <<< STATUS main:buf;38;0;0;0;1117;0;3;9;0;22020096;0;81920
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:05:48]  <<< EVENT livepos last=1525255546 live_first=1525253746 pos=1525255535 first_ts=1525253746 last_ts=1525255546 is_live=0 live_last=1525255546 buffer_pieces=9
Переконект и возобновление воспроизведения происходит гдето здесь.

Code: Select all

acehttp.py           [LINE:221 ]# INFO     [02.05 13:06:20]  Streaming "Amedia Hit HD" to 192.168.1.20 started
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:20]  <<< STATE 2
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:06:20]  EVENT play
acehttp.py           [LINE:298 ]# DEBUG    [02.05 13:06:20]  Sending HTTPAceProxy headers to client: {'Connection': 'Keep-Alive', 'Content-Type': 'application/octet-stream', 'Keep-Alive': 'timeout=15, max=100'}
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:20]  <<< STATUS main:dl;0;0;1811;0;0;7;0;5701632;0;0
Опять остановилось приблизительно тут.

Code: Select all

aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:32]  <<< STATUS main:buf;23;0;0;0;1127;0;0;10;0;18874368;0;16384
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:06:32]  <<< EVENT livepos last=1525255591 live_first=1525253791 pos=1525255582 first_ts=1525253791 last_ts=1525255591 is_live=1 live_last=1525255591 buffer_pieces=9
И так происходит по циклу.

А вот так выглядит лог при воспроизведении VLC на компьютере.

Code: Select all

acehttp.py           [LINE:106 ]# INFO     [02.05 13:33:32]  Accepted connection from 192.168.1.2 path /torrenttv/channel/Amedia Hit HD.mp4
acehttp.py           [LINE:107 ]# DEBUG    [02.05 13:33:32]  Headers: {'connection': 'close', 'host': '192.168.1.20:8000', 'icy-metadata': '1', 'range': 'bytes=0-', 'user-agent': 'VLC/2.2.2 LibVLC/2.2.2'}
torrenttv_plugin.py  [LINE:51  ]# INFO     [02.05 13:33:37]  TTV playlist http://ttv.pp.ua/CID-TTV.m3u downloaded
aceclient.py         [LINE:84  ]# DEBUG    [02.05 13:33:37]  Successfully connected to AceStream on 127.0.0.1:62062
clientcounter.py     [LINE:24  ]# DEBUG    [02.05 13:33:37]  AceClient created
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:33:37]  HELLOBG version=3
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:38]  <<< HELLOTS version=3.1.28 version_code=3012800 key=190ac7e4e1 http_port=6878 bmode=0
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:33:38]  READY key=n51LvQoTlJzNGaFxseRK-8045d52e180e2a7928dd0ba5f187d6f8531f5b4b
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:38]  <<< AUTH 0
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:33:38]  USERDATA [{"gender": 1}, {"age": 5}]
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:33:38]  SETOPTIONS use_stop_notifications=1
clientcounter.py     [LINE:26  ]# DEBUG    [02.05 13:33:38]  AceClient initialized
acehttp.py           [LINE:203 ]# WARNING  [02.05 13:33:38]  Create a broadcast "Amedia Hit HD"
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:33:38]  START PID 06175dc01eb499ffcb5f2d12bd4f747e124e36c2 0 output_format=http
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:38]  <<< STATE 1
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:38]  <<< STATUS main:starting
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:39]  <<< START http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.525391276644 stream=1
aceclient.py         [LINE:208 ]# DEBUG    [02.05 13:33:39]  Open video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.525391276644
aceclient.py         [LINE:213 ]# DEBUG    [02.05 13:33:39]  Get headers from client: {'connection': 'close', 'host': '192.168.1.20:8000', 'icy-metadata': '1', 'user-agent': 'VLC/2.2.2 LibVLC/2.2.2'}
acehttp.py           [LINE:214 ]# WARNING  [02.05 13:33:39]  Broadcast "Amedia Hit HD" created
acehttp.py           [LINE:221 ]# INFO     [02.05 13:33:39]  Streaming "Amedia Hit HD" to 192.168.1.2 started
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:39]  <<< STATE 2
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:33:39]  EVENT play
acehttp.py           [LINE:298 ]# DEBUG    [02.05 13:33:39]  Sending HTTPAceProxy headers to client: {'Connection': 'Keep-Alive', 'Content-Type': 'application/octet-stream', 'Keep-Alive': 'timeout=15, max=100'}
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:40]  <<< STATUS main:dl;0;0;1729;0;0;2;0;4947968;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:40]  <<< EVENT livepos last=1525257219 live_first=1525255419 pos=1525257211 first_ts=1525255419 last_ts=1525257219 is_live=1 live_last=1525257219 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:42]  <<< STATUS main:dl;0;0;2104;0;0;10;0;10485760;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:42]  <<< EVENT livepos last=1525257221 live_first=1525255421 pos=1525257220 first_ts=1525255421 last_ts=1525257221 is_live=1 live_last=1525257221 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:44]  <<< STATUS main:dl;0;0;1778;0;0;10;0;12582912;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:44]  <<< EVENT livepos last=1525257222 live_first=1525255422 pos=1525257220 first_ts=1525255422 last_ts=1525257222 is_live=1 live_last=1525257222 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:44]  <<< PAUSE
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:44]  <<< STATE 3
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:46]  <<< STATUS main:buf;4;0;0;0;1575;0;0;10;0;14434304;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:46]  <<< EVENT livepos last=1525257225 live_first=1525255425 pos=1525257220 first_ts=1525255425 last_ts=1525257225 is_live=1 live_last=1525257225 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:48]  <<< STATUS main:buf;14;0;0;0;1305;0;0;10;0;14680064;0;0
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:48]  <<< EVENT livepos last=1525257227 live_first=1525255427 pos=1525257220 first_ts=1525255427 last_ts=1525257227 is_live=1 live_last=1525257227 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:50]  <<< STATUS main:buf;28;0;0;0;1335;0;0;10;0;17825792;0;16384
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:50]  <<< EVENT livepos last=1525257229 live_first=1525255429 pos=1525257220 first_ts=1525255429 last_ts=1525257229 is_live=1 live_last=1525257229 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:52]  <<< STATUS main:buf;28;0;0;0;1182;0;1;10;0;18284544;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:52]  <<< EVENT livepos last=1525257231 live_first=1525255431 pos=1525257220 first_ts=1525255431 last_ts=1525257231 is_live=0 live_last=1525257231 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:54]  <<< STATUS main:buf;38;0;0;0;1194;0;1;10;0;20971520;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:54]  <<< EVENT livepos last=1525257233 live_first=1525255433 pos=1525257220 first_ts=1525255433 last_ts=1525257233 is_live=0 live_last=1525257233 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:56]  <<< STATUS main:buf;57;0;0;0;1173;0;1;10;0;23068672;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:56]  <<< EVENT livepos last=1525257235 live_first=1525255435 pos=1525257220 first_ts=1525255435 last_ts=1525257235 is_live=0 live_last=1525257235 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:58]  <<< STATUS main:buf;57;0;0;0;1084;0;1;10;0;23576576;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:58]  <<< EVENT livepos last=1525257237 live_first=1525255437 pos=1525257220 first_ts=1525255437 last_ts=1525257237 is_live=0 live_last=1525257237 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:00]  <<< STATUS main:buf;66;0;0;0;1053;0;1;10;0;25165824;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:00]  <<< EVENT livepos last=1525257239 live_first=1525255439 pos=1525257220 first_ts=1525255439 last_ts=1525257239 is_live=0 live_last=1525257239 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:02]  <<< STATUS main:buf;66;0;0;0;1069;0;1;10;0;27738112;0;49152
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:02]  <<< EVENT livepos last=1525257241 live_first=1525255441 pos=1525257220 first_ts=1525255441 last_ts=1525257241 is_live=0 live_last=1525257241 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:04]  <<< STATUS main:buf;80;0;0;0;998;0;1;10;0;28409856;0;49152
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:04]  <<< EVENT livepos last=1525257243 live_first=1525255443 pos=1525257220 first_ts=1525255443 last_ts=1525257243 is_live=0 live_last=1525257243 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:06]  <<< STATUS main:buf;80;0;0;0;992;0;5;10;0;30408704;0;131072
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:06]  <<< EVENT livepos last=1525257244 live_first=1525255444 pos=1525257220 first_ts=1525255444 last_ts=1525257244 is_live=0 live_last=1525257244 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:08]  <<< RESUME
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:08]  <<< STATE 2
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:08]  <<< STATUS main:dl;0;0;995;0;7;10;0;32505856;0;196608
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:09]  <<< EVENT livepos last=1525257247 live_first=1525255447 pos=1525257233 first_ts=1525255447 last_ts=1525257247 is_live=0 live_last=1525257247 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:10]  <<< STATUS main:dl;0;0;948;0;9;10;0;33554432;0;245760
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:10]  <<< EVENT livepos last=1525257248 live_first=1525255448 pos=1525257248 first_ts=1525255448 last_ts=1525257248 is_live=1 live_last=1525257248 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:12]  <<< STATUS main:dl;0;0;934;0;8;10;0;35209216;0;245760
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:12]  <<< EVENT livepos last=1525257251 live_first=1525255451 pos=1525257250 first_ts=1525255451 last_ts=1525257251 is_live=1 live_last=1525257251 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:14]  <<< STATUS main:dl;0;0;899;0;7;9;0;36356096;0;245760
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:14]  <<< EVENT livepos last=1525257253 live_first=1525255453 pos=1525257251 first_ts=1525255453 last_ts=1525257253 is_live=1 live_last=1525257253 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:16]  <<< STATUS main:dl;0;0;926;0;8;9;0;38797312;0;278528
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:16]  <<< EVENT livepos last=1525257255 live_first=1525255455 pos=1525257254 first_ts=1525255455 last_ts=1525257255 is_live=1 live_last=1525257255 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:18]  <<< STATUS main:dl;0;0;888;0;7;9;0;39845888;0;278528
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:18]  <<< EVENT livepos last=1525257257 live_first=1525255457 pos=1525257255 first_ts=1525255457 last_ts=1525257257 is_live=1 live_last=1525257257 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:20]  <<< STATUS main:dl;0;0;901;0;6;9;0;41943040;0;278528
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:20]  <<< EVENT livepos last=1525257259 live_first=1525255459 pos=1525257258 first_ts=1525255459 last_ts=1525257259 is_live=1 live_last=1525257259 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:22]  <<< STATUS main:dl;0;0;867;0;6;9;0;42991616;0;278528
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:22]  <<< EVENT livepos last=1525257261 live_first=1525255461 pos=1525257259 first_ts=1525255461 last_ts=1525257261 is_live=1 live_last=1525257261 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:24]  <<< STATUS main:dl;0;0;882;0;7;9;0;45088768;0;311296
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:24]  <<< EVENT livepos last=1525257263 live_first=1525255463 pos=1525257262 first_ts=1525255463 last_ts=1525257263 is_live=1 live_last=1525257263 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:26]  <<< STATUS main:dl;0;0;849;0;6;9;0;46137344;0;311296
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:26]  <<< EVENT livepos last=1525257265 live_first=1525255465 pos=1525257263 first_ts=1525255465 last_ts=1525257265 is_live=1 live_last=1525257265 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:28]  <<< STATUS main:dl;0;0;818;0;5;9;0;47185920;0;311296
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:28]  <<< EVENT livepos last=1525257267 live_first=1525255467 pos=1525257265 first_ts=1525255467 last_ts=1525257267 is_live=1 live_last=1525257267 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:30]  <<< STATUS main:dl;0;0;838;0;13;9;0;49283072;0;475136
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:30]  <<< EVENT livepos last=1525257269 live_first=1525255469 pos=1525257269 first_ts=1525255469 last_ts=1525257269 is_live=1 live_last=1525257269 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:33]  <<< STATUS main:dl;0;0;808;0;11;9;0;50331648;0;475136
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:33]  <<< EVENT livepos last=1525257271 live_first=1525255471 pos=1525257269 first_ts=1525255471 last_ts=1525257271 is_live=1 live_last=1525257271 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:34]  <<< STATUS main:dl;0;0;778;0;15;9;0;51380224;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:34]  <<< EVENT livepos last=1525257272 live_first=1525255472 pos=1525257272 first_ts=1525255472 last_ts=1525257272 is_live=1 live_last=1525257272 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:36]  <<< STATUS main:dl;0;0;752;0;14;9;0;52428800;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:36]  <<< EVENT livepos last=1525257276 live_first=1525255476 pos=1525257274 first_ts=1525255476 last_ts=1525257276 is_live=1 live_last=1525257276 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:37]  <<< STATUS main:dl;0;0;729;0;13;9;0;53477376;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:37]  <<< EVENT livepos last=1525257277 live_first=1525255477 pos=1525257274 first_ts=1525255477 last_ts=1525257277 is_live=1 live_last=1525257277 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:39]  <<< STATUS main:dl;0;0;752;0;11;8;0;55459840;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:39]  <<< EVENT livepos last=1525257278 live_first=1525255478 pos=1525257277 first_ts=1525255478 last_ts=1525257278 is_live=1 live_last=1525257278 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:42]  <<< STATUS main:dl;0;0;732;0;10;8;0;56623104;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:42]  <<< EVENT livepos last=1525257280 live_first=1525255480 pos=1525257278 first_ts=1525255480 last_ts=1525257280 is_live=1 live_last=1525257280 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:43]  <<< STATUS main:dl;0;0;759;0;9;8;0;58720256;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:44]  <<< EVENT livepos last=1525257282 live_first=1525255482 pos=1525257281 first_ts=1525255482 last_ts=1525257282 is_live=1 live_last=1525257282 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:46]  <<< STATUS main:dl;0;0;736;0;8;8;0;59768832;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:46]  <<< EVENT livepos last=1525257285 live_first=1525255485 pos=1525257282 first_ts=1525255485 last_ts=1525257285 is_live=1 live_last=1525257285 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:48]  <<< STATUS main:dl;0;0;764;0;7;8;0;61865984;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:48]  <<< EVENT livepos last=1525257286 live_first=1525255486 pos=1525257285 first_ts=1525255486 last_ts=1525257286 is_live=1 live_last=1525257286 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:50]  <<< STATUS main:dl;0;0;740;0;7;8;0;62914560;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:50]  <<< EVENT livepos last=1525257289 live_first=1525255489 pos=1525257286 first_ts=1525255489 last_ts=1525257289 is_live=1 live_last=1525257289 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:52]  <<< STATUS main:dl;0;0;767;0;6;8;0;65011712;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:52]  <<< EVENT livepos last=1525257290 live_first=1525255490 pos=1525257289 first_ts=1525255490 last_ts=1525257290 is_live=1 live_last=1525257290 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:54]  <<< STATUS main:dl;0;0;744;0;5;8;0;66060288;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:54]  <<< EVENT livepos last=1525257293 live_first=1525255493 pos=1525257290 first_ts=1525255493 last_ts=1525257293 is_live=1 live_last=1525257293 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:56]  <<< STATUS main:dl;0;0;769;0;5;8;0;68157440;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:56]  <<< EVENT livepos last=1525257294 live_first=1525255494 pos=1525257294 first_ts=1525255494 last_ts=1525257294 is_live=1 live_last=1525257294 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:58]  <<< STATUS main:dl;0;0;746;0;4;9;0;69206016;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:58]  <<< EVENT livepos last=1525257297 live_first=1525255497 pos=1525257294 first_ts=1525255497 last_ts=1525257297 is_live=1 live_last=1525257297 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:00]  <<< STATUS main:dl;0;0;771;0;4;9;0;71303168;0;589824
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:00]  <<< EVENT livepos last=1525257299 live_first=1525255499 pos=1525257297 first_ts=1525255499 last_ts=1525257299 is_live=1 live_last=1525257299 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:02]  <<< STATUS main:dl;0;0;751;0;5;9;0;72466432;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:02]  <<< EVENT livepos last=1525257301 live_first=1525255501 pos=1525257299 first_ts=1525255501 last_ts=1525257301 is_live=1 live_last=1525257301 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:04]  <<< STATUS main:dl;0;0;772;0;4;9;0;74514432;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:04]  <<< EVENT livepos last=1525257303 live_first=1525255503 pos=1525257302 first_ts=1525255503 last_ts=1525257303 is_live=1 live_last=1525257303 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:06]  <<< STATUS main:dl;0;0;791;0;4;9;0;76546048;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:06]  <<< EVENT livepos last=1525257305 live_first=1525255505 pos=1525257304 first_ts=1525255505 last_ts=1525257305 is_live=1 live_last=1525257305 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:08]  <<< STATUS main:dl;0;0;765;0;4;9;0;77627392;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:08]  <<< EVENT livepos last=1525257307 live_first=1525255507 pos=1525257305 first_ts=1525255507 last_ts=1525257307 is_live=1 live_last=1525257307 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:10]  <<< STATUS main:dl;0;0;787;0;3;9;0;79691776;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:10]  <<< EVENT livepos last=1525257309 live_first=1525255509 pos=1525257308 first_ts=1525255509 last_ts=1525257309 is_live=1 live_last=1525257309 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:12]  <<< STATUS main:dl;0;0;759;0;3;9;0;80740352;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:12]  <<< EVENT livepos last=1525257311 live_first=1525255511 pos=1525257309 first_ts=1525255511 last_ts=1525257311 is_live=1 live_last=1525257311 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:14]  <<< STATUS main:dl;0;0;783;0;3;9;0;82837504;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:14]  <<< EVENT livepos last=1525257312 live_first=1525255512 pos=1525257312 first_ts=1525255512 last_ts=1525257312 is_live=1 live_last=1525257312 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:16]  <<< STATUS main:dl;0;0;759;0;2;9;0;83902464;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:16]  <<< EVENT livepos last=1525257315 live_first=1525255515 pos=1525257312 first_ts=1525255515 last_ts=1525257315 is_live=1 live_last=1525257315 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:18]  <<< STATUS main:dl;0;0;781;0;2;9;0;85983232;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:18]  <<< EVENT livepos last=1525257316 live_first=1525255516 pos=1525257316 first_ts=1525255516 last_ts=1525257316 is_live=1 live_last=1525257316 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:20]  <<< STATUS main:dl;0;0;774;0;2;9;0;87408640;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:20]  <<< EVENT livepos last=1525257319 live_first=1525255519 pos=1525257318 first_ts=1525255519 last_ts=1525257319 is_live=1 live_last=1525257319 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:22]  <<< STATUS main:dl;0;0;786;0;2;9;0;89292800;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:22]  <<< EVENT livepos last=1525257321 live_first=1525255521 pos=1525257320 first_ts=1525255521 last_ts=1525257321 is_live=1 live_last=1525257321 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:24]  <<< STATUS main:dl;0;0;750;0;1;9;0;90177536;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:24]  <<< EVENT livepos last=1525257323 live_first=1525255523 pos=1525257321 first_ts=1525255523 last_ts=1525257323 is_live=1 live_last=1525257323 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:26]  <<< STATUS main:dl;0;0;774;0;1;9;0;92274688;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:26]  <<< EVENT livepos last=1525257325 live_first=1525255525 pos=1525257324 first_ts=1525255525 last_ts=1525257325 is_live=1 live_last=1525257325 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:28]  <<< STATUS main:dl;0;0;776;0;1;9;0;93929472;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:28]  <<< EVENT livepos last=1525257327 live_first=1525255527 pos=1525257325 first_ts=1525255527 last_ts=1525257327 is_live=1 live_last=1525257327 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:30]  <<< STATUS main:dl;0;0;770;0;1;9;0;95420416;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:30]  <<< EVENT livepos last=1525257329 live_first=1525255529 pos=1525257328 first_ts=1525255529 last_ts=1525257329 is_live=1 live_last=1525257329 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:32]  <<< STATUS main:dl;0;0;791;0;1;9;0;97452032;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:32]  <<< EVENT livepos last=1525257331 live_first=1525255531 pos=1525257329 first_ts=1525255531 last_ts=1525257331 is_live=1 live_last=1525257331 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:34]  <<< STATUS main:dl;0;0;818;0;1;9;0;99598336;0;622592
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:34]  <<< EVENT livepos last=1525257333 live_first=1525255533 pos=1525257332 first_ts=1525255533 last_ts=1525257333 is_live=1 live_last=1525257333 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:36]  <<< STATUS main:dl;0;0;797;0;1;9;0;100827136;0;638976
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:36]  <<< EVENT livepos last=1525257335 live_first=1525255535 pos=1525257334 first_ts=1525255535 last_ts=1525257335 is_live=1 live_last=1525257335 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:38]  <<< STATUS main:dl;0;0;830;0;10;10;0;103202816;0;819200
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:38]  <<< EVENT livepos last=1525257337 live_first=1525255537 pos=1525257336 first_ts=1525255537 last_ts=1525257337 is_live=1 live_last=1525257337 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:40]  <<< STATUS main:dl;0;0;827;0;138;11;0;104857600;0;3604480
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:40]  <<< EVENT livepos last=1525257338 live_first=1525255538 pos=1525257338 first_ts=1525255538 last_ts=1525257338 is_live=1 live_last=1525257338 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:42]  <<< STATUS main:dl;0;0;798;0;169;11;0;105922560;0;4571136
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:42]  <<< EVENT livepos last=1525257341 live_first=1525255541 pos=1525257340 first_ts=1525255541 last_ts=1525257341 is_live=1 live_last=1525257341 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:44]  <<< STATUS main:dl;0;0;778;0;153;10;0;107151360;0;4587520
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:44]  <<< EVENT livepos last=1525257343 live_first=1525255543 pos=1525257341 first_ts=1525255543 last_ts=1525257343 is_live=1 live_last=1525257343 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:46]  <<< STATUS main:dl;0;0;789;0;179;11;0;109051904;0;5439488
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:46]  <<< EVENT livepos last=1525257344 live_first=1525255544 pos=1525257344 first_ts=1525255544 last_ts=1525257344 is_live=1 live_last=1525257344 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:48]  <<< STATUS main:dl;0;0;813;0;225;12;0;111149056;0;6799360
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:48]  <<< EVENT livepos last=1525257347 live_first=1525255547 pos=1525257346 first_ts=1525255547 last_ts=1525257347 is_live=1 live_last=1525257347 buffer_pieces=9
acehttp.py           [LINE:223 ]# INFO     [02.05 13:35:49]  Streaming "Amedia Hit HD" to 192.168.1.2 finished
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:35:49]  EVENT stop
aceclient.py         [LINE:120 ]# DEBUG    [02.05 13:35:49]  STOP
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:49]  <<< STATE 0
aceclient.py         [LINE:283 ]# DEBUG    [02.05 13:35:49]  Close video stream: http://127.0.0.1:6878/content/f4e0d60ee9136c30f046a7a51fa82eaf920cd084/0.525391276644
acehttp.py           [LINE:226 ]# WARNING  [02.05 13:35:49]  Broadcast "Amedia Hit HD" stoped. Last client disconnected
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:35:49]  <<< STATUS main:idle
aceclient.py         [LINE:271 ]# DEBUG    [02.05 13:35:49]  All clients disconnected - broadcast stoped
Вот здесь приблизительно видео замерло....

Code: Select all

aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:50]  <<< STATUS main:buf;28;0;0;0;1335;0;0;10;0;17825792;0;16384
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:50]  <<< EVENT livepos last=1525257229 live_first=1525255429 pos=1525257220 first_ts=1525255429 last_ts=1525257229 is_live=1 live_last=1525257229 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:52]  <<< STATUS main:buf;28;0;0;0;1182;0;1;10;0;18284544;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:52]  <<< EVENT livepos last=1525257231 live_first=1525255431 pos=1525257220 first_ts=1525255431 last_ts=1525257231 is_live=0 live_last=1525257231 buffer_pieces=9
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:54]  <<< STATUS main:buf;38;0;0;0;1194;0;1;10;0;20971520;0;32768
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:33:54]  <<< EVENT livepos last=1525257233 live_first=1525255433 pos=1525257220 first_ts=1525255433 last_ts=1525257233 is_live=0 live_last=1525257233 buffer_pieces=9
А вот здесь без переконектов пошло дальше.

Code: Select all

aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:08]  <<< RESUME
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:08]  <<< STATE 2
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:08]  <<< STATUS main:dl;0;0;995;0;7;10;0;32505856;0;196608
aceclient.py         [LINE:310 ]# DEBUG    [02.05 13:34:09]  <<< EVENT livepos last=1525257247 live_first=1525255447 pos=1525257233 first_ts=1525255447 last_ts=1525257247 is_live=0 live_last=1525257247 buffer_pieces=9
И заметте, что статуса buf дальше уже не возникает в случае с VLC.

Re: ProgTV + HTTPAceProxy + timeout

#10
Не нужно мучить mp4. Он работать через торент и не должен. Пробуйте обычные каналы в реальном времени.

Тут acestream попросил клиента остановиться, что бы накопить трафик. надеюсь он проигноривал команду.
aceclient.py [LINE:310 ]# DEBUG [02.05 13:06:26] <<< PAUSE
Тут попросить продолжить
aceclient.py [LINE:310 ]# DEBUG [02.05 13:06:52] <<< RESUME

А вот что вот это? Файл кончился или ProgTV отвалился?
acehttp.py [LINE:223 ]# INFO [02.05 13:06:52] Streaming "Amedia Hit HD" to 192.168.1.20 finished

Re: ProgTV + HTTPAceProxy + timeout

#11
Не нужно мучить mp4. Он работать через торент и не должен. Пробуйте обычные каналы в реальном времени.
Прокси отдаёт плей лист с такими ссылками.
Тут acestream попросил клиента остановиться, что бы накопить трафик. надеюсь он проигноривал команду.
Тут попросить продолжить
Да абсолютно верно... API движка я тоже изучал :)
ProgTV команду пауза игнорирует, всё так... а останавливается через несколько секунд с сообщением проверьте соединение. Я специально прокоментировал лог с моментом когда происходят остановки.
А вот что вот это? Файл кончился или ProgTV отвалился?
На сколько я правильно понял автора прокси - это событие происходит когда клиент определённое время не забирает поток у прокси, и она закрывает соединение и перестает забирать поток у движка.

Re: ProgTV + HTTPAceProxy + timeout

#12
Prog wrote:
Thu Apr 26, 2018 7:22 am
Сервер действительно не отдаёт трафик по 12-15 секунд, потом ProgTV обновляет соеденение. В принципе такие большие задержки для torrent tv - это нормально. То есть плохая работа самого torrent tv - это нормальное его(!) состояние. Если интересно сделаю версию с более длинным ожиданием.

С другой стороны вы смотрите не поток а mp4 судя по расширению, и это полный треш. Его нужно читать не последовательно а кусками с разных позиций и в условиях torrent tv это очень увлекательно.
На обычных каналах лучше?
:) Ну такое ... чтоб не получилось что меня без меня женили .. Внесу ясность ....
1) Тип видеопотока отродясь не определялся "расширением" котрое прилеплено к концу ссылки :) Я там могу написать ЛЮБОЕ из доступных в природе ... Сделано сие исключительно для логики обработки ссылок самой проксей. Могу написать в конце .ts ... От этого что поменяется содержимое ?
3) ПРОКСЯ (как и движок AceStream) - это web-сервер с заданного порта которого клиент получает http progressive download. Посему можно ли увеличить размер буфера данных в самом сабже, а не только timeout?
3) Прокся ПЕРЕД выдачей потока клиенту отправляет ему заголовки в которых есть ИСЧЕРПЫВАЮЩАЯ информация о том что клиент будет получать ... Если говорить от live трансляции то это ВСЕГДА mpegts с заголовками {'Connection': 'Keep-Alive', 'Content-Type': 'application/octet-stream', 'Keep-Alive': 'timeout=15, max=100'}
4) По поводу "порционности" выдачи потока ... Буквально вчера была сделана небольшая дорабока... От движка поток поступает в промежуточный буфер и все клиенты читают только их этого буфера. Буфер "набивается" только данными ... в нем нет "провалов" . Специально добавлена пауза ожидания данных пока движок "буфферит" и НЕ выдает данные на клиента. Размер буфера - более чем достаточен для live просмотра - 60 сек .... Вариантов чтобы движок буфферил более 60 сек в природе не наблюдалось. Более того при превышении лимита ожидания в 60 сек - я просто принудительно отключаю клиента. Доработка - никак не повлияла на работу с данным сабжем при выбранном OpenMAX .... о чем следующий пункт
5) Меня !joy! тоже озадачил данным плеером .... "Странная" работа с проксей наблюдается исключительно при выбранном OpenMAX , при всех остальных вариантах - все "фельдиперсово" . От себя хочу заметить что вышеозвученный OpenMAX , лично у меня , ведет себя по разному с одними и теми же источниками но на разных девайсах с разными процами ... на RK - совсем "грусть-печалька" ... На аmlogic - отлично . Специфика реализации? Заточенность под определенный тип проца?
6) Самое интересное что прокся имеет встроенную возможность транскодирования потока выдаваемого на клиента в ЛЮБЕ что душа пожелает ... с помощью ffmpeg ...
Например будем считать что движок, а следовательно и прокся криво чего-то выдает ... Перенаправим вывод прокси через ffmpeg
'ffmpeg -i - -map 0 -c:a copy -c:v copy -f mpegts -' . Нет возражение что сей простейшей строкой мы получили "нечто" на вход "трубы", а на выходе имеем mpegts? Так вот возвращаясь к п5 .... при выбранном OpenMAX - НЕ работает ... симптомы и поведение точно такое же как и без "прогона" через ffmpeg
!Joy! можешь подразвлечься и выдать от прокси в контейнере mkv - 'ffmpeg -i - -map 0 -c:v copy -c:a copy -f matroska -' ну или в любом другом ... помогает ? При использовании OpenMAX ?
Можно выдать вообще в деревянном и доисторическом виде 'ffmpeg -i - -c:a mp2 -c:v mpeg2video -f mpegts -qscale:v 2 -' ? :)

В общем предлагаю совместными усилиями победить траблу :) Что нужно от прокси - я выдам )))

Re: ProgTV + HTTPAceProxy + timeout

#13
Вы автор прокси? Отлично. Ну тогда должны разобраться.
Openmax отличается тем что много трафика набирает в свой буфер, который я не контролирую.
Вопрос, почему нет трафика с прокси так долго? Нет на входе или где то кешируется в прокси? В идеале бы ему работать "байт получил - байт передал" зависимо от pause/resume.

Re: ProgTV + HTTPAceProxy + timeout

#14
Да, Dorik1972 автор прокси. Попросил его присоединиться к нашему обсуждению, чтобы не играть в испорченный телефон.
Вопрос, почему нет трафика с прокси так долго?
Да, прокси тоже кеширует поток, это и позволяет подключаться к ней нескольким клиентам к одному и тому же каналу, тоесть клиенты берут поток не от движка, а из буфера прокси.
Судя по логу, как я понимаю, происходит следуещееЖ
Прокся забирает поток от движка наполняя свой буфер, одновремено отдавая поток плееру, а тот начинает забирать у нее быстрее чем нужно для воспроизведения, т.к. плеер наполняет свой буффер. А так как асе стрим имеет ограничение на скорость закачки скорость потока+30%, то буфер прокси не успевает наполняться и плеер перестает получать данные.
Вот такие мысли, если что не так сказал, пусть Dorik меня поправит.

Re: ProgTV + HTTPAceProxy + timeout

#15
Prog wrote:
Thu May 03, 2018 7:02 am
Вы автор прокси? Отлично. Ну тогда должны разобраться.
Openmax отличается тем что много трафика набирает в свой буфер, который я не контролирую.
Вопрос, почему нет трафика с прокси так долго? Нет на входе или где то кешируется в прокси? В идеале бы ему работать "байт получил - байт передал" зависимо от pause/resume.
Уточните пжлста для понимания мной и проведения тестов
Что такое "набирает много трафика"? Прокся отдает на клиента байт в байт . Причем объем кеша данных может регулироваться пользователем от 1 байта до скольугодно и задается в настройке прокси ... Для того чтобы подобрать или рекомендовать оптимальный размер данных за один цикл чтения/записи надо понимать алгоритм работы OpenMAX ... А именно каков размер входного буфера для данных и с какого момента ожидаем следующую порцию? Сколько он ждет по времени следующей порции данных БЕЗ разрыва соединения? В упрощенном виде прокся читает и отдает данные вот так (именно байт в байт)

Code: Select all

while True:
      data = self.video.read(BufferSize) - прчитали данные от движка в заданном объеме 
       if data : self.wfile.write(data) - отдаем плееру прочитанное
Понятно что из-за особенностей p2p- трансляции заранее предугадать время необходимое для выполнения операции data = self.video.read(BufferSize) (чтение данных от AceStream) - не возможно ... возможно только ограничить время ожидания этих данных и или отдавать на плеер все что успели прочесть за отведенное время ...... или "рубить" коннект с формулировкой все плохо ... мол недостаточно скорости для просмотра ... НО! Прокся читает в буфер от движка 8Мбайт данных (рекомендованное значение по умолчанию) и потом начинает отдавать на плеер-клиент из этого буфера.... среднее время для зачитки куска в 8Мбайт от движка 1-2 сек ... совсем плохо это 5-6 сек ... Если плеер "за раз" зачитает все 8Мбайт из буфера и просит еще - может возникать "пила" данных поступающих на плеер , ибо проксе необходимо за 1-2-3-4-6 сек еще "накачать" следующие 8Мбайт от движка AceStream.... 8МБайт это достаточно для OpenMAX? Какой максимальный или минимальный "кусок" надо отдавать? На всех остальных плеерах на которых пришлось тестировать или эксплуатировать проксю рекомендованного запаса буфера в 8Мбайт достаточно для комфортного просмотра без "затыков" и провалов, поскольку они "читают" значительно меньшими порциями и всегда удается поддерживать 5-8 Мбайт "запаса" на время буфферизации данных AceStream. Более того с таким размером буфера работает и в данном плеере , кроме когда выбран OpenMAX.