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

multicast в unicast какие есть варианты

Как есть варианты по преобразованию multicast трафика в unicast по http?

 

Пробовал vlc все хорошо, но иногда притормаживает картинка на клиенте от 1 до 10 сек. Не очень удобно.

 

Пробовал еще udpxy, клевая вещь но не держит больше 15ти клиентов.

 

Нужно решение на 150 клиентов (подключений).

 

К сожалению коммерческие варианты расмотреть не могу :(

 

 

Пожалуйста подскажите!

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


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

Ну собственно варианты вы озвучиди сами первоначальные.

vlc

udpxy

 

vlc можно пересобрать с только вам нужными фичами.

Но в любом случае, например каналов так 40, и двупроцесорник начинает напрягаться по крайней мере у нас на тестах, плюс утечки памяти хоть ты тресни на разных версиях вето 08 и 09, через скажем неделю работы сервер просто уходит в аут. На версии собраной только с нужными фичами - всё в целом работает наааамного дольше, а момент нагибания растянут и его лехко заметить.

 

udpxy - в файле начинающемся с uopt найдите цифру 16 (она там одна и прям видно что это макс клиентов число) и попробуйте поменять на 150 и потом соберите.

Токо просьюа расказать как получилось и как стабильность работы.

 

Ещё можно их тупо назапускать 10 штук на разных портах, а в плейлист просто на каждый канал добалять значения с разными портами, плеер обычно сам перескочит дальше если один из них заполнен.

Ещё веселее можно навешать на сервер с десяток ипшников и понавесить их на ипшники разные, в плейлисте указывать имя сервера днс, в которм указать все 10, и народ будет равномерно разбрасываться средствами днс в теории.

 

В нём ещё кстати смущает невозможность отключить веб интерфейс который доступен по вебу через /status.

Изменено пользователем MESB

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


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

под Debian 5.0 пробовал собрать vlc 0.9 собралось но мочему отсуствовал mux ts, поэтому пользуюсь стандартным из репозитария пакетов.

Возможно криво собирал, буду благодарен за помощь в конфигурационой строке (какие опции включить/выключить при сборке).

Каналов пока 30, мегастабильность не требуется (если ребут раз в сутки будет спасать ситуацию).

 

udpxy пробовал собирать с кол-во клиентов больше 15, но все равно подключения больше 15ти не дает устанавливать, странно, но факт.

/status убрать не проблема, достаточно закомментировать соотвествующие строки в коде =)

 

Железо использую 4xXeon, 4Gb ram. Думаю на моих 150 подключений хватит.

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


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

Если не получится, могу предложит софт под винду, умеет мультикаст\юникаст в rtsp (unicast)

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


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

У меня 40 каналов, из мультикаста в юникаст передаются с помощью VLC 0.9.9. Загрузка сервера на базе единственного Core 2 Quad с 4 гб ОЗУ - минимальная. Каждый процесс жрет где-то 0,1% от проца. Зрителей правда поменьше, до 80 одновременных подключений. Перезапускаю конструкцию два раза в сутки, утром и вечером. Впринципе бы хватало одного раза, но есть риск что сервак завалится из-за нехватки оперативы в случае особенно сильной утечки. Нужно добавлять еще 4 гига.

 

В качестве ОС - Gentoo на ядре 2.6.29. Конечному потребителю VLC отдает поток с помощью HTTP. Плюс висит icecast, apache+mysql+php для нескольких сайтов и ведется постоянный мониторинг подключенных клиентов для статистики.

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


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

vlc сам собирал? или готовый пакет взял?

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


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

Сам, разумеется. В Gentoo практически всё собирается вручную. Начиная от компилятора и заканчивая самой мелкой утилиткой. Местеми правда бывают грабли, но по моему опыту - их гораааздо меньше чем в какой-нибудь Fedora или Ubuntu.

Изменено пользователем Neko-san

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


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

подскажите плиз с какими параметрами vlc собирали. Как я уже писал выше у меня почему без mux = ts собирается :(

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


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

Вот вывод emerge vlc -pv:

 

[ebuild   R   ] media-video/vlc-0.9.9a-r1  USE="ffmpeg httpd libgcrypt mmx mp3 mpeg ncurses sse stream x264 xml -X -a52 -aac -aalib -alsa (-altivec) -arts -atmo -avahi -bidi -cdda -cddax -cddb -cdio -dbus -dc1394 -debug -dirac -directfb -dts -dvb -dvd -esd -fbcon -flac -fluidsynth -fontconfig -ggi -gnome -gnutls -hal -id3tag -jack -kate -libass -libcaca -libnotify -libsysfs -libv4l2 -lirc -live -lua -matroska -modplug -musepack -nsplugin -ogg -opengl -optimisememory -oss -pda -pulseaudio -pvr -qt4 -remoteosd -rtsp -run-as-root -samba -schroedinger -sdl -sdl-image -seamonkey -shout -skins -speex -svg (-svga) -taglib -theora -twolame -upnp -v4l -v4l2 -vcdinfo -vcdx -vlm -vorbis (-win32codecs) -xinerama -xosd -xv -zvbi"

 

Ничего особенного на счет mux ts - нет. Если вы хотите добиться результата именно под Debian - может быть поискать сторонний репозитария? Некоторое время назад именно таким способом мне удалось установить VLC 0.9.8 под Ubuntu 8.04. С родного репозитария тянулся VLC 0.8.6 версии. А с http://ppa.launchpad.net/c-korn/ppa/ubuntu поставился свежий. Правда я не знаю подходят ли пакеты для Убунты к Дебиану.

 

Впрочем не факт, что сборка VLC вручную или установка его из какого-то стороннего репозитария вам поможет. Возможно дело в общей унифицированности системы. Компилятор не идеально оптимизированный под вашу конфигурацию, куча лишнего в ядре и т.п.

 

P.S.

 

А запускаете VLC точно правильно? Запускаю VLC 0.9.9 так:

vlc udp://@192.168.0.1:10000 --sout '#std{access=http,mux=ts,dst=10.10.10.10:30100}' --daemon

Вместо 10.10.10.10 соответственно указан внешний IP сервера, к которому конектятся зрители. VLC принимает udp-поток от DVB-IP стримера из отдельного VLAN'a и тупо отдает наружу, но уже по HTTP.

Изменено пользователем Neko-san

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


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

под Debian 5.0 пробовал собрать vlc 0.9 собралось но мочему отсуствовал mux ts, поэтому пользуюсь стандартным из репозитария пакетов.

Возможно криво собирал, буду благодарен за помощь в конфигурационой строке (какие опции включить/выключить при сборке).

Каналов пока 30, мегастабильность не требуется (если ребут раз в сутки будет спасать ситуацию).

 

udpxy пробовал собирать с кол-во клиентов больше 15, но все равно подключения больше 15ти не дает устанавливать, странно, но факт.

/status убрать не проблема, достаточно закомментировать соотвествующие строки в коде =)

 

Железо использую 4xXeon, 4Gb ram. Думаю на моих 150 подключений хватит.

Постараюсь взглянуть с какими ключами оно собрано как доберусь до машины тестовой.

По версиям помню что на тот момент пробовали 085 086 и 09 вроде ещё первые выпуски.

В итоге остановились на 085.

 

Касательно udpxy. А что где коментили чтоб статусную страничку с ключами управления удалить?

И щас вот теста ради запустил 20 мплееров на разные каналы, всё нормально работает, дальше у моей машины ресурсов не хватило мплееры крутить.

 

UPD:

 

P.S.

 

А запускаете VLC точно правильно? Запускаю VLC 0.9.9 так:

vlc udp://@192.168.0.1:10000 --sout '#std{access=http,mux=ts,dst=10.10.10.10:30100}' --daemon

Вместо 10.10.10.10 соответственно указан внешний IP сервера, к которому конектятся зрители. VLC принимает udp-поток от DVB-IP стримера из отдельного VLAN'a и тупо отдает наружу, но уже по HTTP.

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

Туда ещё нужно добавить --sout-all (но нагрузки добавляет конечно).

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

Изменено пользователем MESB

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


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

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

Туда ещё нужно добавить --sout-all (но нагрузки добавляет конечно).

Да, тут вы правы. Хорошо что напомнили про этот момент. Второй день бьюсь - не могу вытащить радио из второй аудио-дорожки. И совешенно забыл про то, что сам отрезаю все лишние дорожки подобной ретрансляцией. Ради интереса перезапустил все свои VLC с таким параметром (42 процесса) - нагрузка на ЦПУ выросла всего на 1 процент.

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


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

Ну если столь незначительно, быть может это зависит от количества многодорожечных каналов от общего процента релируемого.

А вообще в влц смущает ситуация что оно не может по мере необходимости релеить, ибо все эти запущеные процесы так или иначе едят трафик и создают нагрузку даже в отсуствии клиентов. Собственно этим udpxy и подкупает вдобавок.

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


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

В моем случае многодорожечных каналов около 15 штук. Впринципе, даже если бы на всех 40 каналах поток шел с несколькими дорожками - разницы в нагрузке особой бы не было. Плюс или минус 3-4 процента нагрузки на ЦП - совершенно не критичны.

 

Скажите, а что вы имели ввиду под потреблением трафика VLC? То, что он без подключенных клиентов постоянно подключен к серверу с которого идет поток и создает тем самым нагрузку на линию связи между ними? Или что-то еще?

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


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

Скажите, а что вы имели ввиду под потреблением трафика VLC? То, что он без подключенных клиентов постоянно подключен к серверу с которого идет поток и создает тем самым нагрузку на линию связи между ними?
Угу. Именно это.

Да и в итоге на проц тоже нагрузка присуствует даже в отсуствии клиентов.

Изменено пользователем MESB

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


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

Скажи плиз, а зачем юникаст?

У меня была та же самая проблема, потому как раньше стоимость коммутаторов с igmp snooping-ом и multicast filtering-ом была нереально высока для малобюджетных решений (типа гостиница или еще чего-нить в это роде).

Сейчас все тот же dlink предлагает за 4т.р. - 24 + 2 порта 10/100 мегабит.

 

PS: прошлый раз точно так же решал проблему с помощью vlc. Все работает как часы.

Изменено пользователем toropovsn

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


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

toropovsn

Например иногда может сложиться так что не возможно по каким-то причинам сделать так чтобы до абонента дошёл мультикаст.

Это один из вариантов обхода такой проблемы. Те единицы что имеют траблы - могут просто воспользоваться юникастовым вариантом.

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


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

Join the conversation

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

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

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

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

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

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

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