shicoy Опубликовано 19 июня, 2009 · Жалоба Как есть варианты по преобразованию multicast трафика в unicast по http? Пробовал vlc все хорошо, но иногда притормаживает картинка на клиенте от 1 до 10 сек. Не очень удобно. Пробовал еще udpxy, клевая вещь но не держит больше 15ти клиентов. Нужно решение на 150 клиентов (подключений). К сожалению коммерческие варианты расмотреть не могу :( Пожалуйста подскажите! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 19 июня, 2009 (изменено) · Жалоба Ну собственно варианты вы озвучиди сами первоначальные. vlc udpxy vlc можно пересобрать с только вам нужными фичами. Но в любом случае, например каналов так 40, и двупроцесорник начинает напрягаться по крайней мере у нас на тестах, плюс утечки памяти хоть ты тресни на разных версиях вето 08 и 09, через скажем неделю работы сервер просто уходит в аут. На версии собраной только с нужными фичами - всё в целом работает наааамного дольше, а момент нагибания растянут и его лехко заметить. udpxy - в файле начинающемся с uopt найдите цифру 16 (она там одна и прям видно что это макс клиентов число) и попробуйте поменять на 150 и потом соберите. Токо просьюа расказать как получилось и как стабильность работы. Ещё можно их тупо назапускать 10 штук на разных портах, а в плейлист просто на каждый канал добалять значения с разными портами, плеер обычно сам перескочит дальше если один из них заполнен. Ещё веселее можно навешать на сервер с десяток ипшников и понавесить их на ипшники разные, в плейлисте указывать имя сервера днс, в которм указать все 10, и народ будет равномерно разбрасываться средствами днс в теории. В нём ещё кстати смущает невозможность отключить веб интерфейс который доступен по вебу через /status. Изменено 19 июня, 2009 пользователем MESB Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shicoy Опубликовано 19 июня, 2009 · Жалоба под Debian 5.0 пробовал собрать vlc 0.9 собралось но мочему отсуствовал mux ts, поэтому пользуюсь стандартным из репозитария пакетов. Возможно криво собирал, буду благодарен за помощь в конфигурационой строке (какие опции включить/выключить при сборке). Каналов пока 30, мегастабильность не требуется (если ребут раз в сутки будет спасать ситуацию). udpxy пробовал собирать с кол-во клиентов больше 15, но все равно подключения больше 15ти не дает устанавливать, странно, но факт. /status убрать не проблема, достаточно закомментировать соотвествующие строки в коде =) Железо использую 4xXeon, 4Gb ram. Думаю на моих 150 подключений хватит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MrCloud Опубликовано 19 июня, 2009 · Жалоба Если не получится, могу предложит софт под винду, умеет мультикаст\юникаст в rtsp (unicast) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Neko-san Опубликовано 20 июня, 2009 · Жалоба У меня 40 каналов, из мультикаста в юникаст передаются с помощью VLC 0.9.9. Загрузка сервера на базе единственного Core 2 Quad с 4 гб ОЗУ - минимальная. Каждый процесс жрет где-то 0,1% от проца. Зрителей правда поменьше, до 80 одновременных подключений. Перезапускаю конструкцию два раза в сутки, утром и вечером. Впринципе бы хватало одного раза, но есть риск что сервак завалится из-за нехватки оперативы в случае особенно сильной утечки. Нужно добавлять еще 4 гига. В качестве ОС - Gentoo на ядре 2.6.29. Конечному потребителю VLC отдает поток с помощью HTTP. Плюс висит icecast, apache+mysql+php для нескольких сайтов и ведется постоянный мониторинг подключенных клиентов для статистики. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shicoy Опубликовано 21 июня, 2009 · Жалоба vlc сам собирал? или готовый пакет взял? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Neko-san Опубликовано 21 июня, 2009 (изменено) · Жалоба Сам, разумеется. В Gentoo практически всё собирается вручную. Начиная от компилятора и заканчивая самой мелкой утилиткой. Местеми правда бывают грабли, но по моему опыту - их гораааздо меньше чем в какой-нибудь Fedora или Ubuntu. Изменено 21 июня, 2009 пользователем Neko-san Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shicoy Опубликовано 21 июня, 2009 · Жалоба подскажите плиз с какими параметрами vlc собирали. Как я уже писал выше у меня почему без mux = ts собирается :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Neko-san Опубликовано 21 июня, 2009 (изменено) · Жалоба Вот вывод 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. Изменено 21 июня, 2009 пользователем Neko-san Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 22 июня, 2009 (изменено) · Жалоба под 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 (но нагрузки добавляет конечно). Сам просто наткнулся когда стал влезать в это, ладно если у ретранслируемого канала первой идёт русская дорожка, но если там дорожки три и русская например где-нибудь в середине или конце, то будет не очень интересно, либо для каждого канала отдельно прописывать какую аудиодорожку к примеру ретранслировать. Изменено 22 июня, 2009 пользователем MESB Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Neko-san Опубликовано 22 июня, 2009 · Жалоба Добавлю, вот этой строкой, если мне не изменяет память, вы себе автоматически отрезаете как минимум другие аудиодороги.Туда ещё нужно добавить --sout-all (но нагрузки добавляет конечно). Да, тут вы правы. Хорошо что напомнили про этот момент. Второй день бьюсь - не могу вытащить радио из второй аудио-дорожки. И совешенно забыл про то, что сам отрезаю все лишние дорожки подобной ретрансляцией. Ради интереса перезапустил все свои VLC с таким параметром (42 процесса) - нагрузка на ЦПУ выросла всего на 1 процент. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 22 июня, 2009 · Жалоба Ну если столь незначительно, быть может это зависит от количества многодорожечных каналов от общего процента релируемого. А вообще в влц смущает ситуация что оно не может по мере необходимости релеить, ибо все эти запущеные процесы так или иначе едят трафик и создают нагрузку даже в отсуствии клиентов. Собственно этим udpxy и подкупает вдобавок. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Neko-san Опубликовано 22 июня, 2009 · Жалоба В моем случае многодорожечных каналов около 15 штук. Впринципе, даже если бы на всех 40 каналах поток шел с несколькими дорожками - разницы в нагрузке особой бы не было. Плюс или минус 3-4 процента нагрузки на ЦП - совершенно не критичны. Скажите, а что вы имели ввиду под потреблением трафика VLC? То, что он без подключенных клиентов постоянно подключен к серверу с которого идет поток и создает тем самым нагрузку на линию связи между ними? Или что-то еще? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 22 июня, 2009 (изменено) · Жалоба Скажите, а что вы имели ввиду под потреблением трафика VLC? То, что он без подключенных клиентов постоянно подключен к серверу с которого идет поток и создает тем самым нагрузку на линию связи между ними?Угу. Именно это.Да и в итоге на проц тоже нагрузка присуствует даже в отсуствии клиентов. Изменено 22 июня, 2009 пользователем MESB Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
toropovsn Опубликовано 24 июня, 2009 (изменено) · Жалоба Скажи плиз, а зачем юникаст? У меня была та же самая проблема, потому как раньше стоимость коммутаторов с igmp snooping-ом и multicast filtering-ом была нереально высока для малобюджетных решений (типа гостиница или еще чего-нить в это роде). Сейчас все тот же dlink предлагает за 4т.р. - 24 + 2 порта 10/100 мегабит. PS: прошлый раз точно так же решал проблему с помощью vlc. Все работает как часы. Изменено 24 июня, 2009 пользователем toropovsn Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 24 июня, 2009 · Жалоба toropovsn Например иногда может сложиться так что не возможно по каким-то причинам сделать так чтобы до абонента дошёл мультикаст. Это один из вариантов обхода такой проблемы. Те единицы что имеют траблы - могут просто воспользоваться юникастовым вариантом. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...