Welcome! Log In Create A New Profile

Advanced

nginx в качестве прокси вещания iptv юникастом

Posted by mkc 
mkc
nginx в качестве прокси вещания iptv юникастом
March 29, 2011 10:16AM
Доброго времени суток!
Вещаю внутри сети через http ( к сожалению пока оборудование не позволяет вещать мультикастом ).
Стоит связка udpxy + nginx. udpxy отдаёт потоки на локалхост, nginx отдаёт в сеть потоки абонентам.

Вопрос: как на уровне конфигурации nginx поключить некий скрипт-helper, который бы лез в базу, смотрел тариф абонента и либо отдавал канал, если этот канал входит в тарифный план, или отдавал стандартную заглушку в виде http потока из "заглушки", что данный канал Вам не доступен.

Буду признателен за любые идеи реализации.
mkc
Re: nginx в качестве прокси вещания iptv юникастом
March 29, 2011 02:13PM
Вижу нет ответов. Немного уточню структуру и вопрос.
Постановка такая:
1. отдельным оптоволокном приходит IPTV мультикастом. На коммутаторе на приходе есть выделенный влан, куда включены сервера на которых 2 интерфейса - первый смотрит на мультикаст, второй смотрит на внутреннюю сеть.
2. На серверах запущен udpxy который с первого интерфейса берёт ИПТВ мультикастом и отдаёт на 127.0.0.1 по http 80 каналов.
3. На вторых интерфейсах висит nginx и отдаёт по http все 80 каналов абонентам, немного преобразовывая URL - udpxy формирует URL так: http://ип_сервера/udp/мультикаст_ип:порт - пример http://tv.lan/udp/238.1.1.1:1234 - соответственно 238.1.1.1:1234 - это входящий на первом интерфейсе мультикаст ( например для телеканала Disney )
4. nginx висит на вторых интерфейсах типа 172.28.х.х и преобразовывает ссылки по сл. конфигу:
server {
listen 80;
server_name "~^(\w\d{1,3}+)\.(\w\d{1,3}+)\.tv\.lan$";
location / {
proxy_pass http://udpxy/udp/238.1.1.$1:$2;
}
}
т.е. путь http://127.0.0.1/udp/238.1.1.1:1234 отдаётся абоненту внутри сети как http://1234.1.tv.lan
Всё отлично работает, каналы кешуться, потоки параллелються))))

Какая задача решается:
написать в конфиге nginx следующую схему ( чисто принципиально, синтаксически неверно в примере ):

server {
listen 80;
server_name "~^(\w\d{1,3}+)\.(\w\d{1,3}+)\.tv\.lan$";
location / {
if($taramparam=1) {
proxy_pass http://udpxy/udp/238.1.1.$1:$2;
} else {
proxy_pass http://closed.tv.lan;
}
}
}

Как организовать чтобы $taramparam брался из внешнего источника - например sql базы или GET запроса .....


фуууууух, вроде более точно описал вопрос )))))
Re: nginx в качестве прокси вещания iptv юникастом
August 09, 2011 03:32AM
mkc, как с вами связаться, есть много идей по данной теме. хочу тоже самое сделать :)
Re: nginx в качестве прокси вещания iptv юникастом
August 09, 2011 08:03AM
mkc, получилось ли у вас решить эту задачу?
mkc
Re: nginx в качестве прокси вещания iptv юникастом
August 15, 2011 02:26AM
Да. Решение работает - http://tv.mozhay.net
Связь - dimka.smith [ at ] gmail
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 319
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready