Jump to content
Калькуляторы

HLS on demand

Доброго времени суток, коллеги. 

Есть задача поставить в сети ре-стример hls-hls, который будет уметь hls on demand, т.е тянуть только те каналы с origin сервера, которые сейчас смотрят клиенты.

Желательно решение не дорогое (не больше 100евро в год).

Что используете? Какие отзывы ? Всем спасибо за ответы. 

Share this post


Link to post
Share on other sites

Уверены, что такое существует в свободной продаже? 

Share this post


Link to post
Share on other sites

nginx настрой правильно и будет щастье.

Share this post


Link to post
Share on other sites
12 hours ago, SyJet said:

Уверены, что такое существует в свободной продаже? 

в свободной продаже — есть.

Share this post


Link to post
Share on other sites

подручными средствами сможете сделать на коленке вообще за бесплатно

ffmpeg + inotify watch на файле, обращение к которому будет запускать ffmpeg на инпут

Share this post


Link to post
Share on other sites

Nimble не умеет это?

Пока что тестируем Nice-restreamer. 

Share this post


Link to post
Share on other sites
В 14.04.2019 в 11:02, paradox_ сказал:

подручными средствами сможете сделать на коленке вообще за бесплатно

ffmpeg + inotify watch на файле, обращение к которому будет запускать ffmpeg на инпут

А почему не AvProxy + костыли ? 

Share this post


Link to post
Share on other sites

хорошое решение то о котором говорят другие а не сам разработчик

Share this post


Link to post
Share on other sites

nginx . работает как часы,  проверено многолетней практикой

испытано не для собственных нужд причем а для b2b

 

Share this post


Link to post
Share on other sites
10 часов назад, Sergey R. сказал:

nginx . работает как часы,  проверено многолетней практикой

испытано не для собственных нужд причем а для b2b

 

Знаем о стабильности работы nginx, но не знаем о стабильности работы nginx-rtmp-module и использовал ли кто его на связке hls->nginx->hls_on_demand.

 

12 часов назад, paradox_ сказал:

хорошое решение то о котором говорят другие а не сам разработчик

Легкость, стабильность, устойчивость вашего приложения очень радует. Не радует только цена коммерческой версии и отсутствие hls_on_demand. Или вы считаете что коммерции в массовом понимании там нет, только индивидуальный (дорогой) подход?

З.Ы. Форум на cesbo закрыли ? 

Share this post


Link to post
Share on other sites
14 часов назад, paradox_ сказал:

хорошое решение то о котором говорят другие а не сам разработчик

У меня с вашим прокси утекала память через н-ое время работы. Рядом стоит msd от Ивана и там вообще не было ни одной проблемы.

Так что хз кто там что говорит, возможно еще кто-то чего-то НЕ говорит.

Share this post


Link to post
Share on other sites
13 часов назад, npokypop сказал:

Не радует только цена коммерческой версии

не придумывайте, коммерческой версии пока еще нет

а все что можно скачать - бесплатно

есть платный саппорт с понятной ценой за 4 месяца и небольшими кастомизациями 

 

 

11 часов назад, vurd сказал:

У меня с вашим прокси утекала память через н-ое время работы. Рядом стоит msd от Ивана и там вообще не было ни одной проблемы.

теслу не возможно сравнивать с запорожцем, хотя ней тоже люди убивались

 

Share this post


Link to post
Share on other sites
10 часов назад, paradox_ сказал:

не придумывайте, коммерческой версии пока еще нет

Сорри, видимо не так выразился. 

 

Кто может поделится примером конфига под nginx для hls прокси?

Share this post


Link to post
Share on other sites
On 5/11/2019 at 10:42 AM, npokypop said:

Знаем о стабильности работы nginx, но не знаем о стабильности работы nginx-rtmp-module и использовал ли кто его на связке hls->nginx->hls_on_demand.

 

Легкость, стабильность, устойчивость вашего приложения очень радует. Не радует только цена коммерческой версии и отсутствие hls_on_demand. Или вы считаете что коммерции в массовом понимании там нет, только индивидуальный (дорогой) подход?

З.Ы. Форум на cesbo закрыли ? 

А при чем тут nginx-rtmp?

 

Если вы хотите отдавать hls ondemand, то вам надо что бы на источнике уже были готовы сегменты. Превращать udp mpegts или rtmp в hls ondemand невозможно: вам надо будет ждать по 10-30 секунд пока на рестримере насосется буфер.

 

Поэтому это можно сделать только если есть источник, который уже нарезает сегменты.

 

Например, nginx в режиме простого кеширования.  Наш flussonic умеет это делать немного хитрее, принимая на вход свой собственный формат с другого флюссоника и отдавая при этом не только hls ondemand, но и другие протоколы.

 

 

Share this post


Link to post
Share on other sites

Спасибо, orig сервера на wowza, вот он и нарезает hls. Т.е никаких хитростей не нужно, простое кэширование? Завтра будем пробовать.

Share this post


Link to post
Share on other sites

ДА! Просто кеширование. 

Хорошо хоть вовза, я не буду озвучивать что у меня "готовило" сегменты.

Но к кешированию и nginx вопрос не было никаких.

 

Share this post


Link to post
Share on other sites
1 hour ago, npokypop said:

Спасибо, orig сервера на wowza, вот он и нарезает hls. Т.е никаких хитростей не нужно, простое кэширование? Завтра будем пробовать.

для начала сойдет. Потом будут ньюансы, с которыми будете знакомиться по ходу дела.

 

Share this post


Link to post
Share on other sites

Интересная ситуация получается.

Делаю через proxy_pass

server {
    listen 9000;
    server_name iptv.local;

    location /stream {
       proxy_pass https://iptv.by:443;
    }
}

Получаю:

root@debian:~# curl -v -A '' 'http://iptv.local:9000/stream/7399/352516/148.m3u8'
* Hostname was NOT found in DNS cache
*   Trying 172.16.0.51...
* Connected to iptv.local (172.16.0.51) port 9000 (#0)
> GET /stream/7399/352516/148.m3u8 HTTP/1.1
> Host: iptv.local:9000
> Accept: */*
>
< HTTP/1.1 302 Moved Temporarily
* Server nginx/1.6.2 is not blacklisted
< Server: nginx/1.6.2
< Date: Mon, 13 May 2019 14:01:26 GMT
< Content-Type: application/vnd.apple.mpegurl
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-Powered-By: PHP/5.4.16
< Set-Cookie: PHPSESSID=qlggd93hg5lo738plce2csend4; path=/
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Location: http://foreign-default.iptv.by:82/live/Ch64/playlist.m3u8?securehash=Wi9lohL3bG1DJXiDn_fleEVBNcyOhF_aQ%3D&secureendtime=1557842486&securestarttime=1557756086&secureuserid=352516&securestreams=5&UserID=352516&device_code=playlist&r=%7B%22type%22%3A%22channel%22%2C%22id%22%3A%22148%22%7D
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Origin: *
<
* Connection #0 to host iptv.local left intact

По факту получаю относительную ссылку на /stream/7399/352516/661079.ts, а должен получать вида /live/Ch94/68948.ts

Вот приложение AvProxy без проблем правильно работает, а вот nginx не могу сконфигурировать. Может кто на путь истинный направит? Спасибо. 

Share this post


Link to post
Share on other sites
1 час назад, npokypop сказал:

По факту получаю относительную ссылку на /stream/7399/352516/661079.ts, а должен получать вида /live/Ch94/68948.ts

Вот приложение AvProxy без проблем правильно работает, а вот nginx не могу сконфигурировать. Может кто на путь истинный направит? Спасибо.

Ну вот вытянул ты m8u а там ссылки не на твой сервер:порт а на совсем другой.

Кто будет в m8u ссылки переписывать на правильные, Пушкин?)

 

У nginx есть какой то модуль из базы который умеет подменять строки в теле ответа, я сам не пробовал.

Либо можно не переписывать, но тогда твой сервер должен быть прозрачным прокси.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this