Перейти к содержимому
Калькуляторы

Мультикаст NAT ?

Привет.

Такая задача.

 

Есть сервис мультикаст, вещает в сеть каналы с тарелки. Открыто. Все неплохо но иногда сигнал пропадает, PBI ломается или карта не проплачена.... в общем что-то идет не по плану и телевидения нет.

Решили дополнительно получать каналы от другого оператора по IP. Тоже по мультикаст.

Оператор вещает на свои группы например 224.0.10.1-224.0.10.100

У нас плей листах прописаны наши группы (с тарелки) например 224.0.50.1-224.0.50.100

В качестве мультикаст роутера - Cat6506.

Вопрос: как сделать так, что бы при отказе "тарелки" пользователи смогли по прежнему запрашивать группы 224.0.50.1-224.0.50.100. Что б не приходилось менять плей лист.

Возможно ли делать какой то NAT Для мультикаст групп ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Но это будет запутаный и муторный конфиг, заводить свой мультикаст с PBI и мультикаст оператора на сервер c астрой в input, а затем создавать другой мультикаст с основным своим и резервным чужим на output.

Будет что-то типа:

 

require("stream")

 

make_channel({

name = "Rossia 1",

input = {

"udp://eth0@224.0.50.1:1234",

"udp://eth1@224.0.10.1:1234",

},

output = {

"udp://eth2@224.0.50.1:1234",

}

})

И так на каждый канал. Хотя почему бы и нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Астра это значит пропускать все каналы через сервер-транскодер ? Я хотел этого избежать....

Надеялся можно просто модифицировать заголовки пакетов. Что б изменить мультикаст-группу. :-(

 

Какой процессор нужен для транскодинга 10-ти SD каналов ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ivan Rostovikov

Это не транскодер. Астра к содержимому пакетов даже ts уровня не прикоснётся. Она именно переформирует их заголовки. На циске так точно не сделать. Очень вероятно, что можно сделать нечто такое на iptables.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на иптейбл тоже не сделать )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Астра не очень требовательная к ресурсам. Пробовал на уже немолодом Xeon E5420 на Arch Linux запустить около 20 каналов SD загрузка выше 15% не поднималась. При том что он еще немного с другим работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какие требования к ОЗУ ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

martiniПочему это не сделать. Вполне возможно. Нужен только один момент - весь мультикаст должен сыпаться на карту как броадкаст.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zedsh

Сразу оба не снатить в один адрес иначе рассыпания будут из-за дублирования пакетов. Придётся натить только один, анализировать оба источника где-то и при пропадании одного - переключать скриптом нат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Minya

Да, ты прав. Именно это я и имел ввиду. Тогда может понадобиться 3 сетевухи)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хернёй занимаетесь.

На любом перле пишется простейший демон который на нужном интерфейсе джойнися к нужной группе а на другом выплювывает полученное.

Если прожорливость не устраивает и оптимизировать почему то не получается смотрим на фрю с нетграфом: ng_ether + ng_bpf + ng_patch правда оно там джойнится не умеет, потому снупинги придётся отключать со стороны входа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня уже написано такое :) только nat - это побочная функция. основная - принять мультикаст в одной точке, передать через интернеты и раздать его в другой. можно сразу на несколько точек раздать.

 

на раздающей стороне:

# cat sender.conf 
mode: 'send'
defaults: {dst_bsize: 8192, iface: eth0, src_bsize: 2048000}
hosts:
2x2: {src: '233.166.172.215:1301', dst: '0.0.0.0:11500'}
disney: {src: '233.166.172.75:1301', dst: '0.0.0.0:11501'}
5nica: {src: '233.166.172.81:1301', dst: '0.0.0.0:11502'}

 

на принимающей:

# cat reciever.conf 
mode: 'recv'
defaults: {dst_bsize: 262144, src_bsize: 8192, ttl_mc: 4}
hosts:
2x2: {dst: '239.152.0.1:1301', src: '93.xx.xx.zz:11500'}
disney: {dst: '239.152.0.3:1301', src: '93.xx.xx.zz:11501'}
5nica: {dst: '239.152.0.7:1301', src: '93.xx.xx.zz:11502'}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как вы выравнивали поток исходящего мультикаста?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2rage Давай делись подробностями ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.