Автор Тема: HLS Proxy для серверного TS-Proxy  (Прочитано 2137 раз)

ViverraXX

  • Full Member
  • ***
  • Сообщений: 191
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #15 : Сентябрь 15, 2017, 17:03:57 »
Ещё обнаружилось, что некоторые потоки используют относительные пути. Не абсолютные.
А можно ли детектировать не hls потоки и отдавать их напрямую? ...пока еще руки мелодию не забыли ;-)

andreyh

  • Newbie
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #16 : Сентябрь 16, 2017, 18:12:03 »
Ещё обнаружилось, что некоторые потоки используют относительные пути. Не абсолютные.
А можно ли детектировать не hls потоки и отдавать их напрямую? ...пока еще руки мелодию не забыли ;-)
Теоретически можно.
Занесу в список.
Но есть с этим проблема. Человек, скачавший такой плейлист не поймёт, что прокси его не кеширует. И будет в полной уверенности, что прокси работает, но глючит, например.
Хотя прокси тут будет уже ни при чём.
А мне хотелось бы, чтобы человек знал, что поток не HLS.
« Последнее редактирование: Сентябрь 16, 2017, 18:23:30 от andreyh »

ViverraXX

  • Full Member
  • ***
  • Сообщений: 191
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #17 : Сентябрь 18, 2017, 13:56:42 »
Попробовал на AceStream... не получилось
Имеем в плейлисте :
#EXTINF:-1 protocol="hls" group-title="tv",Ямал Регион (Региональные)
http://127.0.0.1:6878/ace/manifest.m3u8?id=e14e8cb1abebd300de4b40a8221def521b8c58fb&hlc=1&spv=0&transcode_audio=0&transcode_mp3=0&transcode_ac3=1&preferred_audio_language=rus
В VLC проигрывается практически мгновенно. Подсовываю плейлист в HLS Proxy - не играет. В консоли ошибка:
[2017-09-18 12:53:12.555] [INFO] default - loadPlaylists: Loading playlists
[2017-09-18 12:53:12.620] [INFO] default - === Server started. http://192.168.10.13:8081/
[2017-09-18 12:53:12.620] [INFO] default - === Node.js version  v6.10.3
[2017-09-18 12:53:12.650] [INFO] default - === Playlist is ready: Torrent-TV
[2017-09-18 12:53:12.650] [INFO] default - loadPlaylists: Loading playlists finished
[2017-09-18 12:53:25.013] [INFO] default - ==> Incoming request: 192.168.10.13 GET /channel/baaa.m3u8?q=1505728075130 VLC/2.2.6 LibVLC/2.2.6
[2017-09-18 12:53:25.063] [ERROR] default - channelHandler TypeError: Cannot read property 'info' of undefined
    at Object.getOptimalQualityStream (D:\snapshot\hls-proxy\hls.js:1655:52)
    at D:\snapshot\hls-proxy\hls.js:140:31
    at bound (domain.js:280:14)
    at runBound (domain.js:293:12)
    at tryCatcher (D:\snapshot\hls-proxy\node_modules\bluebird\js\release\util.js:16:23)
    at Promise.module.exports.Promise._settlePromiseFromHandler (D:\snapshot\hls-proxy\node_modules\bluebird\js\release\promise.js:512:31)
    at Promise.module.exports.Promise._settlePromise (D:\snapshot\hls-proxy\node_modules\bluebird\js\release\promise.js:569:18)
    at Promise.module.exports.Promise._settlePromiseCtx (D:\snapshot\hls-proxy\node_modules\bluebird\js\release\promise.js:606:10)
    at Async._drainQueue (D:\snapshot\hls-proxy\node_modules\bluebird\js\release\async.js:138:12)
    at Async._drainQueues (D:\snapshot\hls-proxy\node_modules\bluebird\js\release\async.js:143:10)
    at Immediate.e.Async.drainQueues (D:\snapshot\hls-proxy\node_modules\bluebird\js\release\async.js:17:14)
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)
    at processImmediate [as _immediateCallback] (timers.js:617:5)

Конфигурация оригинальная, только адрес/порт поправил и ссылку на плейлист. Все запущено на одном компьютере с Win10_64. Что подкрутить?

andreyh

  • Newbie
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #18 : Сентябрь 18, 2017, 17:43:51 »
Попробовал на AceStream... не получилось
Конфигурация оригинальная, только адрес/порт поправил и ссылку на плейлист. Все запущено на одном компьютере с Win10_64. Что подкрутить?
Я примерно понимаю, где нестыковка.
Серверный TS-Proxy по главной ссылке даёт ссылку не на поток, а ссылку на выбор потока по качеству.
В некоторых плейлистах, и в вашем тоже, по ссылке идет сразу поток.
Я попытаюсь это починить в ближайшее время. Просто до этого у меня не было других источников и я считал, что это единственно возможный вариант.
Спасибо за сообщение.

andreyh

  • Newbie
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #19 : Сентябрь 20, 2017, 23:58:26 »
В версии 3.5.0 добавлена совместимость с другими HLS-источниками.
Сразу должен оговорить, что эта версия не гарантирует стабильной работы с такими источниками.
На сегодняшний момент мной обнаружены две проблемы с плейлистом от FreeSlyNet.
1. Очень короткие плейлисты - порядка трех чанков и невысокая скорость отдачи от серверов.
2. Некоторые потоки возвращают стабильную ошибку 404 при попытке скачать первый чанк. Из-за этого вопроизведение нужно запускать повторно.

В общем, пробуйте, пишите.

ViverraXX

  • Full Member
  • ***
  • Сообщений: 191
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #20 : Сентябрь 21, 2017, 14:31:02 »
В версии 3.5.0 добавлена совместимость с другими HLS-источниками.
Стало гораздо лучше :-) Около 80% каналов проигрываются. Каналы, которые напрямую идут с паузами, через прокси работают без затыков.
Спасибо!

doc_bravn

  • Full Member
  • ***
  • Сообщений: 159
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #21 : Октябрь 04, 2017, 13:29:57 »
Задам возможно глупый вопрос. А битрейты канало и их качество картинки меняются при использовании этого hls proxy? Мне нужно чтобы качество картинки и битрейт потока были максимальными. Это реализовать можно? Или этот hls proxy только для плохих каналов интернета и тормозных приставок которые не могут переваривать высокие битрейты?
Intel Atom D410, 2GB, Ubuntu 16.04.3.
OrangePi PC, ARMv7, 1GB, Ubuntu 16.04.3.
GPON >> DL300/UL300 Мбит/сек

andreyh

  • Newbie
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #22 : Октябрь 04, 2017, 18:44:05 »
Задам возможно глупый вопрос. А битрейты канало и их качество картинки меняются при использовании этого hls proxy? Мне нужно чтобы качество картинки и битрейт потока были максимальными. Это реализовать можно? Или этот hls proxy только для плохих каналов интернета и тормозных приставок которые не могут переваривать высокие битрейты?
Битрейт и качество не меняются при воспроизведении потока, но может быть задано пороговое значение максимального желаемого битрейта для клиента.
По умолчанию задано самое высокое качество.
Прокси пытается подобрать битрейт не выше порогового значения в момент запроса на новый поток.
P.S.
А вопрос был совсем не глупый.
« Последнее редактирование: Октябрь 04, 2017, 18:50:42 от andreyh »

doc_bravn

  • Full Member
  • ***
  • Сообщений: 159
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #23 : Октябрь 05, 2017, 09:31:24 »
Ясно. Спасибо за разъяснение. Как я понимаю без использования серверного прокси ваша hls прокся не работает? Напрямую с локально запущенного движка нельзя поток получать и заворачивать через hls прокси? Только поток с серверного прокси?
Intel Atom D410, 2GB, Ubuntu 16.04.3.
OrangePi PC, ARMv7, 1GB, Ubuntu 16.04.3.
GPON >> DL300/UL300 Мбит/сек

andreyh

  • Newbie
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #24 : Октябрь 05, 2017, 13:18:20 »
Ясно. Спасибо за разъяснение. Как я понимаю без использования серверного прокси ваша hls прокся не работает? Напрямую с локально запущенного движка нельзя поток получать и заворачивать через hls прокси? Только поток с серверного прокси?
Локальный TS-Proxy по-моему не отдает в HLS.
Но AceStream вроде умеет. Люди как-то настраивают через AceStream.
На досуге проверю.

gershte

  • Newbie
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #25 : Октябрь 09, 2017, 18:47:26 »
Вопрос автору. 
А будет Ваша система работать на Odroid на котором бежит сервер на Дебиан не имеющий ГУИ? В частности  DietPI? Если да, то не трудно будет разъяснить, как можно запускать Вашу программу на таком сервере в автоматическом режиме. Спасибо!


andreyh

  • Newbie
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #26 : Октябрь 09, 2017, 20:40:48 »
Вопрос автору. 
А будет Ваша система работать на Odroid на котором бежит сервер на Дебиан не имеющий ГУИ? В частности  DietPI? Если да, то не трудно будет разъяснить, как можно запускать Вашу программу на таком сервере в автоматическом режиме. Спасибо!
Я так понимаю, архитектура процессора ARM?
Под такой процессор пока билда нет.
Я пока не разбирался с компиляцией под него, хотя теоретически возможно скомпилировать под ARM64 и 32.
Очень уж я не хочу, чтобы люди ставили его на андроид девайсы, а потом задавались вопросами, а что всё глючит.
Прокси очень требователен к ресурсам памяти. Для повышения скорости и уменьшения нагрузки на диск, потоки кешируются в оперативной памяти.
Один поток может кушать до 200 МБайт оперативки. Три потока ~600 Мбайт.
Андроид такие аппликации не любит.

Не думайте, что я путаю одроид и андроид, но прокси - это серверная аппликация, и на любой клиентской коробочке с ограниченными ресурсами работать будет плохо. Хоть то линукс, то ли андроид.

gershte

  • Newbie
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #27 : Октябрь 09, 2017, 20:58:57 »
Вопрос автору. 
А будет Ваша система работать на Odroid на котором бежит сервер на Дебиан не имеющий ГУИ? В частности  DietPI? Если да, то не трудно будет разъяснить, как можно запускать Вашу программу на таком сервере в автоматическом режиме. Спасибо!
Я так понимаю, архитектура процессора ARM?
Под такой процессор пока билда нет.
Я пока не разбирался с компиляцией под него, хотя теоретически возможно скомпилировать под ARM64 и 32.
Очень уж я не хочу, чтобы люди ставили его на андроид девайсы, а потом задавались вопросами, а что всё глючит.
Прокси очень требователен к ресурсам памяти. Для повышения скорости и уменьшения нагрузки на диск, потоки кешируются в оперативной памяти.
Один поток может кушать до 200 МБайт оперативки. Три потока ~600 Мбайт.
Андроид такие аппликации не любит.

Не думайте, что я путаю одроид и андроид, но прокси - это серверная аппликация, и на любой клиентской коробочке с ограниченными ресурсами работать будет плохо. Хоть то линукс, то ли андроид.

Вот о чем я говорю. Чисто серверная железячка. И ресурсами и с памятью все должно быть нормально.
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143452239825
Она и так бежит себе все время с NAS, Samba, DLNA и другими удовольствиями под вот этой системой.
http://dietpi.com/
Так что само собой напрашивается решение держать прокси на ней, а не включенном десктопе. Так же у людей еще есть НАСы. Тоже было бы прекрасно добавить прокси туда.



andreyh

  • Newbie
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #28 : Октябрь 10, 2017, 00:17:09 »
Вот о чем я говорю. Чисто серверная железячка. И ресурсами и с памятью все должно быть нормально.
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143452239825
Она и так бежит себе все время с NAS, Samba, DLNA и другими удовольствиями под вот этой системой.
http://dietpi.com/
Так что само собой напрашивается решение держать прокси на ней, а не включенном десктопе. Так же у людей еще есть НАСы. Тоже было бы прекрасно добавить прокси туда.
После недолгих копаний выяснилось, что у меня нет под рукой Linux-системы с arm-архитектурой.
Соответственно, собрать проект без нее не предоставляется возможным.
Пока никак. Извините.

gershte

  • Newbie
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy
« Ответ #29 : Октябрь 10, 2017, 19:39:09 »
Вот о чем я говорю. Чисто серверная железячка. И ресурсами и с памятью все должно быть нормально.
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143452239825
Она и так бежит себе все время с NAS, Samba, DLNA и другими удовольствиями под вот этой системой.
http://dietpi.com/
Так что само собой напрашивается решение держать прокси на ней, а не включенном десктопе. Так же у людей еще есть НАСы. Тоже было бы прекрасно добавить прокси туда.
После недолгих копаний выяснилось, что у меня нет под рукой Linux-системы с arm-архитектурой.
Соответственно, собрать проект без нее не предоставляется возможным.
Пока никак. Извините.

Да нет проблем! Мне как бы это не главное что нужно, но было бы не плохо добавить к серверам и этот. Думается очень многие захотели бы иметь подобное или на Odroid или на raspberry pi. Просто как читается иметь совмещенный НАС, ДЛНА и этот сервера на одной не жрущей электричество платке! Но нет так нет...

Кстати я так и не понял, а на простом ПС на котором стоит какой нибудь серверный RedHat без ГУИ эта штука работать будет?