Ivan_83 Опубликовано 28 декабря, 2014 · Жалоба Просто взять и собрать - нет. Нужно менять механизм обмена сообщениями между потоками - забирать из линуксовой части пайповый вариант. Сделать можно но смысла поддерживать то что было 5 лет назад я не вижу. Если очень надо могу в НГ праздники попробовать сделать авто выбор для фри при сборке, чтобы и на старье собиралось. MAP_ALIGNED_SUPER - сделаю чтобы не мешалось сборке в случае отсутствия. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
t0ly Опубликовано 29 декабря, 2014 · Жалоба Просто взять и собрать - нет. Нужно менять механизм обмена сообщениями между потоками - забирать из линуксовой части пайповый вариант. Сделать можно но смысла поддерживать то что было 5 лет назад я не вижу. Если очень надо могу в НГ праздники попробовать сделать авто выбор для фри при сборке, чтобы и на старье собиралось. MAP_ALIGNED_SUPER - сделаю чтобы не мешалось сборке в случае отсутствия. было бы супер. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
atxnsk Опубликовано 29 сентября, 2015 (изменено) · Жалоба Иван приветсвую. Готов взять на себя полномасштабное тестирование под wive-ng под snr-cpe на чипах rt3052 выложите плиз сборку msd_lite под нее. или. в двух словах как собрать, самостоятельное курение инета не помогло, под mips не собирал софт ни разу Изменено 29 сентября, 2015 пользователем atxnsk Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 29 сентября, 2015 · Жалоба И я не собирал ничего линуксового под отличные от х86 архитектуры. Там должен быть тулчейн под конкретную архитектуру, а дальше оно собирается примерно как обычно только компилятором из тулчейна а не системным. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
atxnsk Опубликовано 29 сентября, 2015 · Жалоба Зараза в том, что в тулчайне wive-ng не нашел компилятора (как например в тулчайне dd-wrt). Автор на контакт не выходит :( Сегодня еще раз буду копать его тулчайн, может пойму что к чему Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
atxnsk Опубликовано 13 декабря, 2015 · Жалоба Up! Неужели никому не интересно эту няшку на домашнем роутере запустить? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 13 декабря, 2015 · Жалоба Для одного клиента там мизерный профит, а может даже наоборот мизерная просадка будет. Для двух даже на разных каналах скорее всего заметный профит, ибо переключать процессы сильно накладнее чем ещё два дескриптора в евентпуле обработать... А из тех кто может сам собрать я тут знаю только Нитро и ядрокота, им обоим оно не сильно то и надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bomberman Опубликовано 14 декабря, 2015 (изменено) · Жалоба Собрался без проблем на: Linux 3.4.4-2 i686 (Arch Linux) Linux 4.0.5-gentoo #8 SMP x86_64 (gentoo) Под нагрузкой пока не довелось проверить. Vlc 2.0.1 (linux) подцепился отлично. Возможно было бы удобно получить список кто смотрит какой канал в данный момент. Т.е. session_time ip:port:user_agent | группа:port:interface Можно всё и из "hubstat" выдернуть, не спорю. Разве что для упрощения. Автору спасибо за разработку. Изменено 14 декабря, 2015 пользователем bomberman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 14 декабря, 2015 · Жалоба Под х86 линухом и я регулярно собираю, это не новость что там работает :) Для кастомизации списка нужно поправить всего 3 файла: 1. msd_lite.c чтобы добавить новую комманду в урл 2. msd_lite_stat_text.h чтобы объявить новую функцию для обработки команды 3. msd_lite_stat_text.c саму функцию. Фактически смотреть на hubstat и делать что хочется. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 3 марта, 2016 · Жалоба Взялись поиграться. Берём мультикаст и отдаём приставке в юникасте. Исходное: centos6 msdlite 1.08 mag 245 Плейлист с каналами скормлен с флешки. На udpxy заметно подтормаживание, приходится секунд 5 ставить буфер в настройках. Но переключение каналов при этом становится на редкость задумчивым. На msd lite пока без тюнинга sysctl лучше, но буфер всёравно нужен. Мультикастовые приставка щёлкает примерно секунды 2, тут же от 5 до 10. В сторону чего стоит посмотреть для ускорения переключения каналов именно? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 3 марта, 2016 · Жалоба wget .... -o /dev/null смысл в том, чтобы на канале всегда кто то был, инача лайт версия прекращает его принимать и убивает кольцевой буфер, соответственно потом приставке приходится ждать пока накапает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 3 марта, 2016 · Жалоба Гм, а нельзя некоторые каналы заставить например постоянно тянуть или же если один раз обращались то продолжать тянуть некоторое время? Распространяется ли этот буфер в случае обращения на динамические ссылки udpxy стиля? И с какого момента рекомендуется применение тюнинга? Сейчас это маленькая вмка на esxi с гигом памяти и одним cpu, загрузка с виду меньше чем на udpxy. Скажем у тогоже icecast в опциях relay есть опция on-demand, когда станцию он тянет постоянно, илиже только если на релей к нему обратились. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 3 марта, 2016 · Жалоба Можно, либо вот так подвешивая клиента на каждый канал, либо правкой исходника либо переходом на msd. У msd_lite только динамические каналы и есть, с синтаксисом как у udpxy + немного доп параметров в урл. С момента установки ОС :) Хотя бы буфера сокета в линухе увеличить, и загрузить htcp модуль. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 10 марта, 2016 · Жалоба Ivan_83 А есть какая-то табличка сравнительная с тем-же udpxy например? Или как у тогоже мидлваре сталкера, типа на такое то количество клиентов например необходимо такое-то железо или такието ресурсы? И возможно в личку, я полистал ценник обычной msd, в рамках этого ценника на какого-то уровня помощь в установке/настройках/анализе производительности при внедрении можно рассчитывать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 10 марта, 2016 · Жалоба Таблички нет, потребление ресурсов очень скромное, настолько что на проц можно особо не смотреть, только на сетевуху чтобы ширины канала хватало и на объём памяти, из расчёта по 40 метров на канал + 1, лучше 2 гб под систему и её нужды. http://www.netlab.linkpc.net/wiki/ru:software:msd:price Если доступ по ссш будет и описание откуда брать мультикаст и как/куда отдавать то сам могу настроить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 10 марта, 2016 · Жалоба Таблички нет, потребление ресурсов очень скромное, настолько что на проц можно особо не смотреть, только на сетевуху чтобы ширины канала хватало и на объём памяти, из расчёта по 40 метров на канал + 1, лучше 2 гб под систему и её нужды. Так, я тогда не совсем понял, если присмотреться к лицензионной политике, получается что на каком-то этапе вы предполагаете что серверов может быть явно больше одного. Это обусловлено только архитектурой сети и фантазиями клиентов или таки есть какое-то аппаратное ограничение что нельзя будет скажем тысячу юзеров одним демоном обслуживать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 10 марта, 2016 · Жалоба Сколько ни старайся, а количество 10Г адаптеров которое можно поставить в один тазик - величина конечная. (я слышал про железки с 12, на 120гб в сумме, но то было не для иптв) Кроме того всякие резервы и прочие фантазии в области архитектуры. В самом демоне нет никаких ограничений по клиентам/полосе, он ограничен только железом/лимитами ОС. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nemo_lynx Опубликовано 31 мая, 2016 · Жалоба Приветствую! Заинтересовался. Скачал и поставил на FB 10.2. Запустил. Тыкнул влс, получил в логе такое вот: [2016-05-31 14:56:31]: Multi stream daemon lite 1.08: started [2016-05-31 14:56:31]: Build: May 31 2016 14:09:16, Release [2016-05-31 14:56:31]: CPU count: 12 [2016-05-31 14:56:31]: descriptor table size: 707013 (max files) [2016-05-31 14:56:31]: hostname: * [2016-05-31 14:56:31]: Thread 1 started... [2016-05-31 14:56:31]: Bind thread 1 to CPU 1 [2016-05-31 14:56:31] http_srv_acc_add, line 502: io_net_is_tcp_cc_avail() fail, this is not fatal. error 22: Invalid argument [2016-05-31 14:56:31]: bind 192.168.0.1:4242, backlog = 2048, cc_name = htcp [2016-05-31 14:56:31]: Thread 0 started... [2016-05-31 14:56:31]: Bind thread 0 to CPU 0 [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200: Created. (fd: 6) [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200 - 93.81.235.215:50615: attached, cli_count = 1 [2016-05-31 14:56:44] str_src_r_buf_alloc, line 985: ... error 12: Cannot allocate memory [2016-05-31 14:56:44] str_src_recv_mc_cb, line 873: on receive error 12: Cannot allocate memory [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200 - 93.81.235.215:50615: deattached, cli_count = 0 [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200: Destroyed. Что ей мешает память выделить? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 31 мая, 2016 · Жалоба Попробуйте sysctl vm.max_wired увеличить. А оперативной памяти хватает? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nemo_lynx Опубликовано 1 июня, 2016 (изменено) · Жалоба Попробуйте sysctl vm.max_wired увеличить. А оперативной памяти хватает? Оперативка 24 Гбайт. vm.max_wired: 2028623 Не думаю, что это причина... udpxy вполне себе нормально работает на этой же машине. За малым исключением - некоторые каналы HD/mpeg4 непонятно почему ретранслируются с рассыпанием, подвисаниями и цыканием. Поэтому я и решил попробовать msd_lite, но пока что-то категорически безуспешно :( . Изменено 1 июня, 2016 пользователем nemo_lynx Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 1 июня, 2016 · Жалоба ulimit -a что выдаёт? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nemo_lynx Опубликовано 1 июня, 2016 · Жалоба ulimit -a что выдаёт? cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) 64 max user processes (-u) 7390 open files (-n) 707013 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited sbsize (bytes, -b) unlimited pseudo-terminals (-p) unlimited Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 1 июня, 2016 · Жалоба Попробуй: sysctl vm.max_wired=4294967295 ulimit -l unlimited Либо читай доку, в конфиге нужно заменить shm на /tmp или иное место где тмпфс есть для хранения кольцевых буферов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nemo_lynx Опубликовано 2 июня, 2016 · Жалоба Попробуй:sysctl vm.max_wired=4294967295 это привело вот к чему: sysctl vm.max_wired: -1 ulimit -l unlimited эта команда выполняется, но ничего не меняет: locked memory (kbytes, -l) 64 Либо читай доку, в конфиге нужно заменить shm на /tmp или иное место где тмпфс есть для хранения кольцевых буферов. Прописал в конфиге согласно доке /tmp (там 9Гбайт свободно) - результат тот же. Может в конфиге что-то не так? <?xml version="1.0" encoding="utf-8"?> <msd> <log> <file>/var/log/msd_lite.log</file> </log> <threadPool> <threadsCount>2</threadsCount> <fBindToCPU>yes</fBindToCPU> <fCacheGetTimeSyscall>yes</fCacheGetTimeSyscall> <timerGranularity>100</timerGranularity> </threadPool> <systemResourceLimits> <maxOpenFiles>8192</maxOpenFiles> <maxCoreFileSize>unlimited</maxCoreFileSize> <maxMemLock>unlimited</maxMemLock> <processPriority>0</processPriority> </systemResourceLimits> <HTTP> <skt> <rcvBuf>4</rcvBuf> <sndBuf>256</sndBuf> <rcvTimeout>30</rcvTimeout> <sndTimeout>30</sndTimeout> </skt> <ioBufInitSize>4</ioBufInitSize> <ioBufMaxSize>4</ioBufMaxSize> <bindList> <bind> <address>192.168.1.1:4242</address> <backlog>1024</backlog> <fAcceptFilter>no</fAcceptFilter> <congestionControl>htcp</congestionControl> </bind> </bindList> <hostnameList> <hostname>*</hostname> </hostnameList> </HTTP> <hubProfileList> <hubProfile> <fDropSlowClients>no</fDropSlowClients> <fSocketHalfClosed>no</fSocketHalfClosed> <fSocketTCPNoDelay>yes</fSocketTCPNoDelay> <fSocketTCPNoPush>yes</fSocketTCPNoPush> <fZeroCopyOnSend>yes</fZeroCopyOnSend> <precache>4096</precache> <sndBlockSize>64</sndBlockSize> <ringBufSize>32768</ringBufSize> <ringBufStorePath>/tmp</ringBufStorePath> <skt> <sndBuf>512</sndBuf> <congestionControl>htcp</congestionControl> </skt> <headersList> <header>Pragma: no-cache</header> <header>Content-Type: video/mpeg</header> <header>ContentFeatures.DLNA.ORG: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000</header> <header>TransferMode.DLNA.ORG: Streaming</header> </headersList> </hubProfile> </hubProfileList> <sourceProfileList> <sourceProfile> <skt> <rcvBuf>512</rcvBuf> <rcvLowat>48</rcvLowat> <rcvTimeout>2</rcvTimeout> </skt> <multicast> <ifName>vlan200</ifName> </multicast> </sourceProfile> </sourceProfileList> </msd> Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 2 июня, 2016 · Жалоба <fZeroCopyOnSend>no</fZeroCopyOnSend> Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...