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

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2288
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #270 : Март 07, 2019, 00:54:55 »
Да ладно .... не совсем так все грустно :)  (буфер live у меня на движке = 60 сек)
Здесь всё понятно. Имеется плейлист внутри AceStreamMedia. Он и используется.

Моя идея была не использовать его, так как муторно его обновлять.
Самый простой способ, который я использую, это запуск через
ht+tp://192.168.2.1:6878/ace/manifest.m3u8?id=b15d29453fa1ca4b50a2b697df7d3f3aafb8a774&hlc=1&spv=0&transcode_audio=0&transcode_mp3=0&transcode_ac3=0&preferred_audio_language=rus

Вопрос, можно ли как-нибудь ускорить таким образом?
Нету у меня никакого плейлиста внутри движка ....
http://192.168.2.1:6878/ace/manifest.m3u8?id=b15d29453fa1ca4b50a2b697df7d3f3aafb8a774&hlc=1&spv=0&transcode_audio=0&transcode_mp3=0&transcode_ac3=0&preferred_audio_language=rus
  Собственно и есть "попытка" запроса трансляции в hls от движка используя HTTP API, только правильно вот так - http://wiki.acestream.org/wiki/index.php/Engine_HTTP_API#How_to_get_HLS_stream ... там все шустро 1-3 сек и пошли данные. По такому запросу движок сделает redirect на playback_url ... Есть конечно ряд каналов с хреновым бродкастом ... но куда без них ... В ответ на этот запрос , ну если еще в конце добавить  &format=json&pid={random} получим json содержащий всю необходимую инфу для начала трансляции и "управления" ею .... - http://wiki.acestream.org/wiki/index.php/Engine_HTTP_API#Additional_features ... Собственно взяв из данного json playback_url - суем его плееру и смотрим "кино" ...

p.s. Пример (опции транскодирования упустил в запросе ибо они по умолчанию :) , хо всунь в запрос - "хозяин - барин")
http://192.168.2.50:6878/ace/manifest.m3u8?id=b15d29453fa1ca4b50a2b697df7d3f3aafb8a774&format=json&pid=123456789
Ответ
{"response": {"stat_url": "http://192.168.2.50:6878/ace/stat/fd1c1a7ccf162bf77922676729d66a2ef1281517/66631269e8d0f671b3ed5e1d371669d5",
"playback_session_id": "030124ec4b3ef4139786b61a3c78ce40f090302e",
"is_live": 1,
"playback_url": "http://192.168.2.50:6878/ace/m/fd1c1a7ccf162bf77922676729d66a2ef1281517/66631269e8d0f671b3ed5e1d371669d5.m3u8",
 "is_encrypted": 0,
"command_url": "http://192.168.2.50:6878/ace/cmd/fd1c1a7ccf162bf77922676729d66a2ef1281517/66631269e8d0f671b3ed5e1d371669d5",
"infohash": "fd1c1a7ccf162bf77922676729d66a2ef1281517"}, "error": null}
И суешь плееру (в случае с данной проксей, подозреваю, что суешь некоему middleware-reader-у  ;) )
http://192.168.2.50:6878/ace/m/fd1c1a7ccf162bf77922676729d66a2ef1281517/66631269e8d0f671b3ed5e1d371669d5.m3u8
Вот и вся "библиотека"
« Последнее редактирование: Март 07, 2019, 01:10:43 от Pepsik »
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

KyleshiK

  • Jr. Member
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #271 : Март 07, 2019, 10:50:12 »
p.s. KyleshiK Я ж Вас, вроде, в библиотеку за знаниями читать послал, а не по другим веткам "прыгать"  ;) Где Вам не понятно от чего зависит скорость старта трансляции - http://mytalks.ru/index.php?topic=4506.msg88732#msg88732

Через Ваш проксик у меня получилось запустить трансляции 2-4 секунды, только плагин нужно переделывать под мой плейлист, hls-proxy берет плейлист без проблем, только запуск тугой..

andreyh

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • HLS Proxy
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #272 : Март 07, 2019, 11:45:22 »
Вот и вся "библиотека"
Спасибо за подробную инфу. Посмотрю, что можно сделать. (подкрутить)

andreyh

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • HLS Proxy
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #273 : Март 08, 2019, 00:05:23 »
Вот и вся "библиотека"
Разобрался. Разница в формате выдачи самим AceStreamMedia, как я и предполагал.
Http-поток - 3 секунды
HLS-поток 12 секунд.
Ваш HTTP-прокси для Ace Stream выдает поток в формате http, поэтому и быстрый старт.

bfury247

  • Newbie
  • *
  • Сообщений: 2
    • Просмотр профиля

andreyh

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • HLS Proxy
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #275 : Март 08, 2019, 03:32:10 »
Can anyone explain this error?  https://imgur.com/a/S4vbgH6
This is trying to use this link: https://pubads.g.doubleclick.net/ssai/event/XZLLJIhJRNqz33DGp6NdkA/master.m3u8 from https://live.adn40.mx/.
I play this stream through my local HLS-Proxy just fine. No errors or warnings.

bfury247

  • Newbie
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #276 : Март 08, 2019, 04:12:27 »
Can anyone explain this error?  https://imgur.com/a/S4vbgH6
This is trying to use this link: https://pubads.g.doubleclick.net/ssai/event/XZLLJIhJRNqz33DGp6NdkA/master.m3u8 from https://live.adn40.mx/.
I play this stream through my local HLS-Proxy just fine. No errors or warnings.

Hmmm, the m3u8 I linked in my message is visible?  It doesn't appear for me here in the forum.  Base64 Decode : aHR0cHM6Ly9wdWJhZHMuZy5kb3VibGVjbGljay5uZXQvc3NhaS9ldmVudC9YWkxMSkloSlJOcXozM0RHcDZOZGtBL21hc3Rlci5tM3U4
That's the link that gives me errors, maybe you grabbed one of the other links?

aHR0cHM6Ly9jZG5hcGlzZWMua2FsdHVyYS5jb20vcC80NTk3OTEvc3AvNDU5NzkxL3BsYXlNYW5pZmVzdC9lbnRyeUlkLzBfdzJjYnB6ZGYvZGVsaXZlcnlQcm9maWxl
SWQvNjcyL3Byb3RvY29sL2h0dHBzL2Zvcm1hdC9hcHBsZWh0dHAvYS5tM3U4
or
aHR0cHM6Ly9kYWkuZ29vZ2xlLmNvbS9saW5lYXIvaGxzL3BhL2V2ZW50L1haTExKSWhKUk5xejMzREdwNk5ka0Evc3RyZWFtL2FlMWIzZTQ3LTQ1YTEtNDhjZS05YjM4
LTMwZjk3NjBmZjRhOTpUVUwyL3ZhcmlhbnQvMzQ3ZGQ1MTRlNGMzMDFkMjE5MjI3MTMyOTcyZmQ3NDkvYmFuZHdpZHRoLzEyNDA4MDAubTN1OA==

Those links also work but the link is constantly changing with those which is why I've been using that one I linked above:
aHR0cHM6Ly9wdWJhZHMuZy5kb3VibGVjbGljay5uZXQvc3NhaS9ldmVudC9YWkxMSkloSlJOcXozM0RHcDZOZGtBL21hc3Rlci5tM3U4

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2288
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #277 : Март 08, 2019, 08:29:59 »
Вот и вся "библиотека"
Разобрался. Разница в формате выдачи самим AceStreamMedia, как я и предполагал.
Http-поток - 3 секунды
HLS-поток 12 секунд.
Ваш HTTP-прокси для Ace Stream выдает поток в формате http, поэтому и быстрый старт.
Снова дико извиняюсь .... где я писал о наше/ваше ? Я привел пример получения ссылок на выдачу hls (m3u8) движком - http://mytalks.ru/index.php?topic=6505.msg88775#msg88775 , которую нужно далее "обрабатывать" ... ссылка выдаваемая движком как playback_url в виде
/ace/m/fd1c1a7ccf162bf77922676729d66a2ef1281517/66631269e8d0f671b3ed5e1d371669d5.m3u8
собственно и есть HLS и содержит в себе "нарезку" из ссылок на *.ts + теги заголовков предписываемые стандартом - https://developer.apple.com/streaming/ , единственно что это single bitrate .... Внутри это выглядит вот так
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.00
http://online:6878/ace/c/30fb246c92a76538e186d4119ed2287bdff1c439/0.ts
#EXTINF:5.44
http://online:6878/ace/c/30fb246c92a76538e186d4119ed2287bdff1c439/1.ts
#EXTINF:6.00
http://online:6878/ace/c/30fb246c92a76538e186d4119ed2287bdff1c439/2.ts
#EXTINF:3.64
http://online:6878/ace/c/30fb246c92a76538e186d4119ed2287bdff1c439/3.ts
#EXTINF:5.32
http://online:6878/ace/c/30fb246c92a76538e186d4119ed2287bdff1c439/4.ts
#EXTINF:4.68
http://online:6878/ace/c/30fb246c92a76538e186d4119ed2287bdff1c439/5.ts
Вы попробуйте "мимо" прокси, сразу на плеер отдать playbak_url и попытайтесь там "поймать" 12 сек ;) , думаю что старт воспроизведения будет мгновенным ....

p.s. Кстати о ваше/наше ...  HTTPAceProxy при запросе ссылки от движка в hls нужно еще и время чтобы зачитать из получаемых ссылок, приведенных выше кусков *.ts , нарезки их для выдачи в "Transfer-encoding: chunked" на чанки заданного размера и только потом отдать плееру .... и на все про все 3-5 сек на старт канала ;) - http://mytalks.ru/index.php?topic=6505.msg88773#msg88773 - Обратите там внимание на ссылку , которую возвращает движок для HTTPAce-прокси
<<< START http://127.0.0.1:6878/hls/r/c58b189f0179c461c363a17db52d89078d469456/e5f3ebaf0ea83171df91be81c493b5ce.m3u8 stream=1
Вот ее прокся и "обрабатывает" , что там внутри ссылки - приведено чуть выше в этом моем посте ;) и таки да , дальше , клиентам прокси, все это "уходит" как http progressive download .... Если быть до конца честным, то я вообще не понимаю смысла single bitrate от движка в домашней сети  ;D , ну разве что "подгрузить" движок "дурной" работой при наличии в эксплуатации яБлодевайсов или ChromeCast .... ну или совсем будучи "извращенцем" если все это смотреть в браузере на компе используя js-player (Video.js и т.д.) ... ну такое "на вкус и цвет ....."
« Последнее редактирование: Март 08, 2019, 08:59:46 от Pepsik »
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

Vitaliy_97

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #278 : Март 08, 2019, 12:45:09 »
А разве не проще раздавать hls через ffmpeg или vlc? Зачем излишне нагружать движок?

Pepsik

  • Hero Member
  • *****
  • Сообщений: 2288
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #279 : Март 08, 2019, 13:02:17 »
А разве не проще раздавать hls через ffmpeg или vlc? Зачем излишне нагружать движок?
А что "нарезка" http progressive на чанки посредcтвом  "костылей" в виде VLC или ffmpeg будет меньше грузить проц вашего девайса? Если на то уж пошло, то движок "нарезает" теми же libVLC ;) и отдает вам это в виде "текстового" файла с расширением .m3u8 , содержимое которого я привел выше, походу создавая "хендлер" на встроенном web-серверочке для того чтобы "кормить" *.ts чанками (по сути тот же http progressive download) Ваш плеер .... В принципе, ссылку на доку "что такое hls", я тоже выше в своих постах привел - там все есть "от и до"

Ну и "идеология" данной прокси именно в том что она hls-proxy .... и движок уже отдает в hls =) остается только "проксировать" .....
« Последнее редактирование: Март 08, 2019, 13:23:08 от Pepsik »
https://t.me/AceStreamMOD
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ
DASH:XvvXpE2L5AU6BDHCQYwtQ7KJCXEuq7d9aC

Vitaliy_97

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #280 : Март 08, 2019, 13:25:57 »
А разве не проще раздавать hls через ffmpeg или vlc? Зачем излишне нагружать движок?
А что "нарезка" http progressive на чанки посредcтвом  "костылей" в виде VLC или ffmpeg будет меньше грузить проц вашего девайса? Если на то уж пошло, то движок "нарезает" теми же libVLC ;) и отдает вам это в виде "текстового" файла с расширением .m3u8 , содержимое которого я привел выше, походу создавая "хендлер" на встроенном web-серверочке для того чтобы "кормить" *.ts чанками (по сути тот же http progressive download) Ваш плеер .... В принципе, ссылку на доку "что такое hls", я тоже выше в своих постах привел - там все есть "от и до"
Ну вот я сейчас раздаю hls через ffmpeg и он не нагружает процессор больше 1,8%. Думаю, движок будет "жрать" поболее. Да и зачем вообще это всё нужно?

andreyh

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • HLS Proxy
Re: HLS Proxy для серверного TS-Proxy/AceStreamMedia Proxy
« Ответ #281 : Март 08, 2019, 17:30:08 »
Я не поленюсь еще раз ответить, зачем и кому это нужно.
Понимаю, что заходят сюда люди уже опытные, имеющие собственное решение, и может быть, не одно.

Зачем мне это нужно и почему я получаю 100% положительные отзывы от людей, которым это действительно помогает.

1. Реализации HLS-протокола - весьма кривы во всех плеерах, кроме Apple, включая VLC (хотя прогресс в последних версиях в лучшую сторону есть)
Из-за таких реализаций просмотр IPTV в таком формате (про HTTP говорить не буду) без буферизации почти невозможен во многих странах (Австралия, Израиль, Штаты)
2. Я нашел несколько слабых звеньев в нескольких плеерах и исправил их используя прокси.
Это позволяет мне третий год смотреть телек из любых источников практически независимо от качества пропускной способности канала, даже если провайдер заранее мне его режет.
Делалось это не для AceStream, а именно для потоков HLS.
Кому не актуально - проходите мимо. Не нужно оставлять комментов типа "зачем это всё нужно". Вам не нужно? - Вам повезло.
Людям, у которых всё хорошо не нужны костыли.
Людям, которым другие сломали ноги нужна помощь. Они в этом не виноваты. Помогайте другим (Pepsik, спасибо огромное за помощь) и вам откликнется.
« Последнее редактирование: Март 08, 2019, 23:01:59 от andreyh »