Jump to content
Калькуляторы

VLC (под линуксом) ограничивает ширину мультикаста до 2,54 Мбит/с Как убрать это ограничение?...

Приветствую.

 

На линуксе стоит VLC 1.0.5.

Задача: принять поток по http и передать мультикастом в сеть.

Проблема в том, что vlc ограничивает каждый поток ровно в 2,54 мегабита. Если вещаю по HTTP - все ок. Ограничивается только мультикаст. Независимо, откуда берется поток (из сети по http или с dvb карты). При том, если одним процессом вещаю сразу несколько каналов (со спутника), то ограничивается не весь поток, а каждый канал отдельно.

 

При этом другие приложения (getstream, mumudvb) вещают нормально.

 

Куда копать?...

 

p.s.

Или подскажите, чем лучше ретранслировать HTTP поток в сеть мультикастом?

Share this post


Link to post
Share on other sites
Приветствую.

 

На линуксе стоит VLC 1.0.5.

Задача: принять поток по http и передать мультикастом в сеть.

Проблема в том, что vlc ограничивает каждый поток ровно в 2,54 мегабита. Если вещаю по HTTP - все ок. Ограничивается только мультикаст. Независимо, откуда берется поток (из сети по http или с dvb карты). При том, если одним процессом вещаю сразу несколько каналов (со спутника), то ограничивается не весь поток, а каждый канал отдельно.

 

При этом другие приложения (getstream, mumudvb) вещают нормально.

 

Куда копать?...

 

p.s.

Или подскажите, чем лучше ретранслировать HTTP поток в сеть мультикастом?

а явно указать в transсode нужный vb не вариант?

PS а строку запуска кинуть можно?

Share this post


Link to post
Share on other sites

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

 

 

Строка запуска:

/usr/bin/cvlc -vvv --color --ttl 12 http://94.73.253.213:8001 --sout '#standard{access=udp,mux=ts,dst=224.1.1.11:1234}'

 

 

Да, и в логи постоянно пишет это:

 

[0x80e1688] access_output_udp access out debug: packet has been sent too late (360324)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (361332)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (362342)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (363360)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (364391)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (365391)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (366409)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (367423)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (368441)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (369459)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (370474)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (371493)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (372500)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (373514)

Share this post


Link to post
Share on other sites
Да, и в логи постоянно пишет это:

Вот и у меня то же самое. Перерыл весь гугль - ничего не нашел. Но кто-то же ведь транслирует HD мультикастом?! Или нет?

Share this post


Link to post
Share on other sites
Да, и в логи постоянно пишет это:
Вот и у меня то же самое. Перерыл весь гугль - ничего не нашел. Но кто-то же ведь транслирует HD мультикастом?! Или нет?

Да тут не только HD. Обычный SD канал - 3-5 мегабит - тоже сильно обрезается.

Причем обрезается ровно до 2.54 мегабита. (10 * 254 кбит). Копался в исходниках, искал похожую константу - ничего не нашел.

Share this post


Link to post
Share on other sites
Причем обрезается ровно до 2.54 мегабита

Как проверяли? Кто-то траффик считает? Или в сниффере?

Share this post


Link to post
Share on other sites
Причем обрезается ровно до 2.54 мегабита
Как проверяли? Кто-то траффик считает? Или в сниффере?

iftop на вещающем сервере.

Share this post


Link to post
Share on other sites

попробуйте запустить на сервере и на клиенте iperf и прогоните udp-поток на нужном битрейте. потерь нет?

Share this post


Link to post
Share on other sites
[0x80e1688] access_output_udp access out debug: packet has been sent too late (372500)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (373514)

--file-caching надо попробовать

 

Share this post


Link to post
Share on other sites
--file-caching надо попробовать
Я пробовал - не помогает.
попробуйте запустить на сервере и на клиенте iperf и прогоните udp-поток на нужном битрейте. потерь нет?
И что это даст? Мне-то для тестирования еще туда-сюда, а человеку вещать в сетку надо.

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

Share this post


Link to post
Share on other sites
попробуйте запустить на сервере и на клиенте iperf и прогоните udp-поток на нужном битрейте. потерь нет?
С этого же сервера нормально вещают мультикастом getstream и mumudvb.

 

[0x80e1688] access_output_udp access out debug: packet has been sent too late (372500)
[0x80e1688] access_output_udp access out debug: packet has been sent too late (373514)

--file-caching надо попробовать

Тогда уж в данном случае не --file-caching, а --tcp-caching и --sout-udp-caching, но все равно не помогает ((

Share this post


Link to post
Share on other sites

тогда разве что явно указать в transсode vcodec и vb потока, нагрузка правда появится на камне не кислая, но выдаст поток нужного качества.

Share this post


Link to post
Share on other sites

С этого же сервера нормально вещают мультикастом getstream и mumudvb.

Гм.. Как вариант - попробовать на другом дситрибутиве.

Share this post


Link to post
Share on other sites
С этого же сервера нормально вещают мультикастом getstream и mumudvb.
Гм.. Как вариант - попробовать на другом дситрибутиве.

или с vlc чёто...

у меня на бубунте он чёто както с заходами последнее время.

то rtp перестал вещать, то ретрансляция udp-to-http не работает, причем ошибок при не выдает.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this