Re: ProgTV + HTTPAceProxy + timeout

#31
Может нужно увеличить last, а то движок не успел получить его новое значение и считает, что поток закончился?
Движок тут не чего не считает.... он качает и информирует об этом.
Статус <<< RESUME как раз говорит от том что перед этим було состояние буферизации движком, а сейчас восстановилось состояние download.
Вас сбила эта часть лога

Code: Select all

acehttp.py [LINE:223 ]# INFO [02.05 13:06:06] Streaming "Amedia Hit HD" to 192.168.1.20 finished
Но она (в этом случае) говорит о том, что это прокся перестала запрашивать поток у движка... а причиной тому, то, что у прокси уже давно не кто не забирал поток, потому что плеер уже свалился в состояние "нет потока" и не забирает его...., через некоторое время плеер снова инициирует новое соединение, "но это уже совсем другая история" (с) Каневский

Re: ProgTV + HTTPAceProxy + timeout

#32
!Joy! wrote:
Tue May 08, 2018 8:54 am
прокся перестала запрашивать поток у движка... а причиной тому, то, что у прокси уже давно не кто не забирал поток, потому что плеер уже свалился в состояние "нет потока" и не забирает его...
У Вас в логах буфер наполняется за 28 секунд, притом из него ничего не считывается. Не пробовали буфер уменьшить раза в 3 ?
Была в чемто похожая ситуация.AceStream работал на ноуте. Видео отображалось несколько секунд, дальше - сообщение нет потока , хотя поток был. Случайно выяснил, что через 2-3 минуты (!) воспроизведение успешно продолжается и дальше без фокусов пашет трое суток. А ещё можно было через пару секунд после появления сообщения " нет потока" повторно запустить канал - и дальше он пашет сколько хочешь.Только режим был МР+, но тоже аппаратный.
Подозрения, что ProgTV недостаточно быстро реагирует на команду продолжения воспроизведения после заполнения буфера в аппаратном режиме если буфер долго наполняется.

Re: ProgTV + HTTPAceProxy + timeout

#33
Не пробовали буфер уменьшить раза в 3 ?
Насколько я понимаю в этом случае, речь идет о наполнении буфера движка, который в данном случае составлял 6 секунд, меньше, как бы, вроде некуда... но что интересно (мне не до конца понятно), согласно логу, за это время накачало 19 мегабайт, что как бы гораздо больше 6 секунд видео... Вот это таки странно, потому что, на сколько я понимаю в тот момент когда движек в состоянии buf, проксе не чего не отдается... зачем же тогда движок так много набуферил???

Re: ProgTV + HTTPAceProxy + timeout

#36
Насколько я понял, acestream отдает в буфер прокси нормально, но прокси ставит плеер на паузу и наливает свой большой буфер 28 секунд, в это время плееру ничего не отдается.Как только буфер прокси наполнился, прокси даёт команду плееру на продолжене воспроизведения, но поздно - плеер уже ничего не успевает скачать, потому что acestream долгл не получает подтверждения считывания от плеера и останавливает процесс.
Отсюда предложение в 3 раза уменьшить буфер прокси.
То есть, когда буфер прокси намного больше буфера acestream - это плохо.

Re: ProgTV + HTTPAceProxy + timeout

#37
Парни .. я убрал это "жизнеописание" и добавил пару строк логгирования в проксю ... таки да .. есть каналы на которых подкачка идет архимедленно на старте .... и 1000 чанков - не успеваем накачать ни при каких раскладах ... Сча сижу сушу голову как "надуть" буфер и автоматом поддерживать его в макисмуме .... в общем в логе все видно ...
p.s. Как вариант могу давать паузу при старте нового канала и НЕ выдавать из буфера на клиента пока не "набьется" буфер 4-8Мбайт , а дальше стараться его поддерживать в "надутом" состоянии
Это старт канала и "выдаем" сразу на плеер НЕ дожидаясь наполнения буфера

Code: Select all

 acehttp.py           [LINE:216 ]# WARNING  [08.05 20:48:29]  Broadcast "Amedia 2" created
acehttp.py           [LINE:223 ]# INFO     [08.05 20:48:29]  Streaming "Amedia 2" to 192.168.2.53 started
aceclient.py         [LINE:306 ]# DEBUG    [08.05 20:48:29]  <<< STATE 2
aceclient.py         [LINE:120 ]# DEBUG    [08.05 20:48:29]  >>> EVENT play
acehttp.py           [LINE:300 ]# DEBUG    [08.05 20:48:29]  Sending HTTPAceProxy headers to client: {'Connection': 'Keep-Alive', 'Content-Type': 'application/octet-stream', 'Keep-Alive': 'timeout=15, max=100'}
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 1
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 0
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 7
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 6
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 5
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 4
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 3
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 2
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 1
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 0
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 20
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 19
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 18
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 17
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 16
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 15
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 14
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 13
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 12
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 11
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 10
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 9
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 8
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 7
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 6
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 5
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 4
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 3
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 2
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 1
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 0
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 9
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 8
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 7
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 6
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 5
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 4
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 3
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 2
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 1
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 0
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 19
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 18
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 17
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 16
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 15
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 14
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:48:29]  Chunk size: 8192 Chunks in buffer: 13
А это уже просмотрели "кокое-то время" просмотра и буфер "набился"

Code: Select all

acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 255
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 254
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 253
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 252
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 251
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 250
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 249
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 248
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 247
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 246
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 245
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 244
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 243
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 242
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 241
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 240
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 239
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 238
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 237
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 236
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 235
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 234
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 233
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 232
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 231
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 230
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 229
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 228
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 227
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 226
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 225
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 224
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 223
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 222
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 221
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 220
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 219
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 218
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 217
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 216
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 215
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 214
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 213
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 212
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 211
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 210
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 209
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 208
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 207
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 206
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 205
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 204
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 203
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 202
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 201
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 200
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 199
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 198
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 197
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 196
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 195
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 194
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 193
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 192
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 191
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 190
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 189
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 188
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 187
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 186
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 185
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 184
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 183
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 182
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 181
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 180
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 179
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 178
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 177
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 176
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 175
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 174
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 173
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 172
acehttp.py           [LINE:325 ]# ERROR    [08.05 20:50:30]  Chunk size: 8192 Chunks in buffer: 171
Ну и трансляция идет "не затыкаясь" ... у меня только пока нет одного понимания ... почему на всех остальных плеерах при сходном поведении в выдаче потока ВСЕ РАБОТАЕТ :(

В общем я в процессе :) ... но "зуб даю" что если не инициировать реконнект со стороны OpenMAX , а точнее инициировать при достижении критично допустимого значения внутреннего буфера+ отсутствие данных на "слушаемом" сокете - то все будет работать. Т .е. критерий рекконекта со стороны OpenMax должен быть не timeout по отсутсвию данных , а "малый" запас данных во внутреннем буфере ....
Last edited by Dorik1972 on Tue May 08, 2018 6:01 pm, edited 2 times in total.

Re: ProgTV + HTTPAceProxy + timeout

#38
acestream отдает прокси, столько сколько может скачать, если acestream решает что ему не хватает скорости dl он переходит в состояние buf в котором не чего не куда не отдаётся, ни прокси не плеер повлиять на это не могут, на сколько я знаю.
но прокси ставит плеер на паузу
Это пытается сделать не прокси а движок, тоесть движёк даёт команду плееру "Стань на паузу" но плеер в полне может не понимать этой команды, как к стати в нашем случае...
прокси даёт команду плееру на продолжене воспроизведения, но поздно - плеер уже ничего не успевает скачать, потому что acestream долгл не получает подтверждения считывания от плеера и останавливает процесс.
Всё гдето так, только трошечки не так :))))
Плеер очень быстро съедает все что было у прокси в буфере, движек переходит в состояние buf не отдавая не чего прокси, плеер ждёт недолго и разрывает соеденение, так как видит что из буфера прокси не чего не приходит, в это время движёк набуферил данные и перешёл в состояние dl но у прокси данные не кто уже не забирает, т.к. отключились от чтения, через время прокся видит что у неё не кто не качает и говорит движку - "угомонись, мы не кому не нужны" и впадает в депрессию :)))))

О Dorik уже описал
Last edited by !Joy! on Tue May 08, 2018 2:37 pm, edited 1 time in total.

Re: ProgTV + HTTPAceProxy + timeout

#40
Это hls?
Нет http поток.
Есть возможность переключить на hls и в этом случае выше описанные проблемы отсутствуют. Но теряются многоканальные дорожки в трансляциях. Я писал об этом.
Я могу конечно прокинуть порты на роутере , но там ставить это всё минут 10-15 да и наглядней это все если локально контроллировать. Но если нужно, я свои контакты давал в личке.

Re: ProgTV + HTTPAceProxy + timeout

#42
Dorik1972 wrote:
Tue May 08, 2018 2:20 pm
В общем я в процессе :) ... но "зуб даю" что если не инициировать реконнект со стороны OpenMAX , а точнее инициировать при достижении критично допустимого значения внутреннего буфера+ отсутствие данных на "слушаемом" сокете - то все будет работать. Т .е. критерий рекконекта со стороны OpenMax должен быть не timeout по отсутсвию данных , а "малый" запас данных во внутреннем буфере ....
А не должен ли при этом плеер при этом ещё и соврать, что у него идёт васпроизведение?

Re: ProgTV + HTTPAceProxy + timeout

#43
А почему пропадают звуковые дорожки? Даже если они через hls то ProgTV их должен уметь
Так сам движок когда отдает hls, отдает только первую дорожку, мое предположение, что это както связано с нарезкой потока на куски.
А не должен ли при этом плеер при этом ещё и соврать, что у него идёт васпроизведение
Не, не нужно.
Похоже, я дезинформировал общественность, утверждая, что прокси закрывает соединение, если у нее долго не кто не забирает поток, вчера как раз обсуждал этот момент с Dorik...
Соединение закрывается потому что плеер послал команду Close

Re: ProgTV + HTTPAceProxy + timeout

#44
Prog wrote:
Tue May 08, 2018 6:57 pm
А почему пропадают звуковые дорожки? Даже если они через hls то ProgTV их должен уметь?

Подскажите как по http ответу можно определить этот прокси?
1) Пропадание звуковых дорожек, точнее "оставляние" только одной нужной - это особенность работы acestream engine при выборе типа потока в hls ... ну вот так сделано. Для совместимости со всякими Apple-продуктами и Chrome-кастами.
2) Теоретически можно по заголовку 'Server' , сейчас там стандартный заголовок от питоновского BaseHTTPServer ... могу всунуть любой ...
Last edited by Dorik1972 on Wed May 09, 2018 4:05 am, edited 2 times in total.

Re: ProgTV + HTTPAceProxy + timeout

#45
!Joy! wrote:
Wed May 09, 2018 12:37 am
А не должен ли при этом плеер при этом ещё и соврать, что у него идёт васпроизведение
Не, не нужно.
Похоже, я дезинформировал общественность, утверждая, что прокси закрывает соединение, если у нее долго не кто не забирает поток, вчера как раз обсуждал этот момент с Dorik...
Соединение закрывается потому что плеер послал команду Close
Уже не так :) !Joy! После беседы с тобой я внес изменения - и ты тоже, под диктовку :) ..... По факту теперь прокся сама может отключить клиента в двух случаях:
1) Если клиент НЕ забрал из очереди данные за 5 сек (это я вчера подправил) .... Логика такова что если буфер на выдачу данных клиенту full (т.е. равно заданному кол-ву чанков по умолчанию 1000 чанков по 8192) то ставим текущее "пополнение" буфера на паузу в 5 сек и за это время клиент выбирает столько сколько успел за эти 5 сек, после чего "добиваем" в буфер.... Если за 5 сек буфер на клиента не уменьшиться , т.е. останеться full , то отрубаем данного клиента (считаем что он "умер" :( раз не забирает ничего)
2) Если прокся НЕ получила данные из буфера ( по сути от движка) более чем 60 сек по текущей трансляции.... По факту это выглядит так что если буфер на клиента empty , то будем ждать максимум 60 сек пока в нем появится хотя бы один чанк ... Если нет - "рубим" всех клиентов смотрящих данную трансляцию . В реальности такая ситуация присутствует на совсем "тупых" и "дохлых" трансляциях и возникает крайне редко ... В "природе" это выглядит так что клиент в какой-то момент "выбрал" весь буфер (максимум 8Мбайт) при этом движок "впал" в состояние buffering и не вышел из него за 60 сек .... Время buffering - у движка не предсказуемо и по моим "наблюдениям" не более 30 сек

Других вариантов когда прокся "отрубит" клиента - нет

Но опять же повторюсь , что версия с увеличенным таймаутом реконекта у меня работает ... если не считать отсутсвие видео на некоторых каналах (я описывал выше с картинками)... Во всяком случае на проксю НЕ прилетают реконнекты от progTV
cron