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

Каким софтом попроще вещать http unicast?

Чем можно нормально вещать http unicast (внутри mpeg ts со спутника), чтобы из одного потока сделать несколько?

 

Я пробовал nginx streaming module, но он неожиданно на каждый коннект открывает новый коннект к источнику, и в результате входящий трафик с каждым коннектом растет, хотя вещается всем клиентам один и тот же канал.

Он вообще такое может? Или какой софт может?

Условие-то только одно - вход и выход должны быть http mpeg-ts.

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


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

Форум астры почитал, говорят падает оно при http input, ибо поддержка в зачаточном состоянии.

Может подскажете конкретную версию, на которой у вас стабильно работает подобный конфиг?

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


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

Можете попробовать flussonic или wowza для решения той же задачи.

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

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


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

обостайте своим опытом а не чужим, астра никогда на input не падала,

есть тестовые есть стабильные версии, есть бесплатные

сначала пробовать надо

ну либо покупайте вовзу, вдруг у вас денег много лишних и ресурсов

 

у меня avproxy работает и не падает

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


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

Собрал astra, работает, единственно, что смущает, url каждого канала надо забивать статически, хотя это же релей, какая ему вообще разница до этого, задача же передать на апстрим.

Может это как-то решается через lua? я в нем не силен.

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


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

опенсорс версия уже давно не обновлялась, по причине того что теперь астра полностью ушла в комерц

соответственно и багов в опенсорс давно не фиксилось

я не помню, там кажется даже http chunks не поддерживается

поэтому пробовать лучше платную тестовую, там плюшек больше и hls и http chunks, веб инферфейс итд

http://dev.cesbo.com/download/astra/

 

 

луа я тоже не знаю

как проксик там вроде на форуме кто то кидал какие то луа скрипты, и даже xproxy кажется называется версия скриптов для астры с проксированием

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

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


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

Да, нашел этот скрипт, оставлю тут, вдруг кому пригодится:

 

master = "http://12.34.56.78"

function on_request_channel(server, client, request)
   local client_data = server:data(client)

   if not request then -- on_close
       kill_input(client_data.input)
       xproxy_kill_client(server, client)
       collectgarbage()
       return nil
   end

   local conf = parse_url(master .. request.path)
   if not conf then
       server:abort(client, 404)
       return nil
   end

   xproxy_init_client(server, client, request, request.path)

   conf.name = "Relay " .. client_data.client_id
   client_data.input = init_input(conf)
   server:send(client, {
       upstream = client_data.input.tail:stream(),
       buffer_size = relay_buffer_size,
       buffer_fill = relay_buffer_fill,
   })
end

 

запускать "astra --relay -p 8000 script.lua"

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


Ссылка на сообщение
Поделиться на других сайтах
' timestamp='1480694365' post=1348718]

каждый коннект открывает новый коннект к источнику, и в результате входящий трафик с каждым коннектом растет, хотя вещается всем клиентам один и тот же канал.

а юникаст по любому открывает каждому подписчику свой канал, или я не прав?

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


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

а юникаст по любому открывает каждому подписчику свой канал, или я не прав?

Если мы говорим, о релее, то нет. Будет 1 коннект от релея к источнику, и по одному коннекту от клиента до релея.

Т.е. мы смещаем точку вещания кучи потоков ближе к абоненту.

 

 

p.s.

Astra (как минимум последняя 4 версии) все-таки не готова к http input. Можете попробовать взять поток из nginx'а или squid'a, и увидите кучу ошибок через '--analyze', или кашу на экране в режиме релея.

Хотя если напрямую плеером подключаться к nginx, то все ок. Astra и nginx даже на одной машине для теста запускал.

 

Т.е:

клиент -> astra relay -> источник http - работает без проблем

клиент -> nginx proxy -> источник http - без проблем

клиент -> astra relay -> любой прокси -> источник http - куча ошибок

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


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

к http input 4 версия готова, а вот http chunks она не поддерживает, это можно было в wireshark посмотреть или в tcpdump

 

все это поддерживает только коммерческая версия

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

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


Ссылка на сообщение
Поделиться на других сайтах
' timestamp='1480696493' post='1348726']

Форум астры почитал, говорят падает оно при http input, ибо поддержка в зачаточном состоянии.

Может подскажете конкретную версию, на которой у вас стабильно работает подобный конфиг?

бвает

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


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

очень информативно)))

баг репорт писали ? наверняка это тестовая версия

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


Ссылка на сообщение
Поделиться на других сайтах
' timestamp='1480698002' post='1348733']

Собрал astra, работает

300-400 юзеров онлайн и астра умрёт.

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


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

300-400 юзеров онлайн и астра умрёт.

 

почти полторы тысячи активных сессий на одном сервере и работает нормально.

wO0oYyUPpXg-small.jpg

картинка побольше http://cesbo.com/download/and/wO0oYyUPpXg.jpg

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

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


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

Всё так же греет воздух копируя данные из юзерспейса каждому юзеру и в один поток?

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


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

О, начались опять камлания вокруг нахер ненужного ядерного zerocopy.

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


Ссылка на сообщение
Поделиться на других сайтах
О, начались опять камлания вокруг нахер ненужного ядерного zerocopy.

Так если он был не нужен то нетфликс его бы во фрю так старательно и целенаправленно не впиливал.

У тебя то тоже поди sendfile() юзается.

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


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

Всё так же греет воздух копируя данные из юзерспейса каждому юзеру и в один поток?

 

так где есть смысл использовать sendfile - оно используется. там где оно не надо - не используется. это называется здравый смысл :-)

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


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

да-да, я слышал про эти смешные игры с поллингом через madvice и последующим sendfile.

 

Нет, мы этой фигней не балуемся и 20 гигабит прекрасно обычными pread, write отдаются. Блокирующий тред sendfile и непредсказуемые игрища с мапингом памяти — это не про предсказуемость, а больше про синтетические бенчмарки.

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас