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

[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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.