Один из вариантов - использовать VLC. Вы можете указать URL-адрес в командной строке. (подробности см. здесь ). Затем вы можете написать краткий сценарий оболочки, чтобы открыть все 5000 соединений.
например. следующий скрипт на Perl (очень быстрый взлом - проверка перед запуском, может вызвать взрывы и т. д.)
$i = 0;
$myurl = "udp://someurl";
@cmdline = ("/usr/bin/vlc", "");
for( $i = 1; $i <= 5000; $i++ )
{
if( $pid = fork )
{
# parent - ignore
}
elsif( defined $pid )
{
$cmdline[1] = sprintf "%s:%d", $myurl, $i;
exec(@cmdline);
}
# elseif - do more error checking here
}
Если ваш сервер потокового видео выполняет многоадресную рассылку, этого должно быть достаточно, чтобы открыть сокеты и сделать их членами 5000 групп многоадресной рассылки (без необходимости что-либо делать с потоком. Фактически не расшифровывая поток, вы уменьшите проблемы с производительностью на клиенте конец).
Я не знаю ни одного инструмента, который сделает это за вас, но если вы готовы написать свою собственную утилиту, вы можете запустить здесь для деталей.
edit: второй вариант предполагает, что ОС на вашем клиентском компьютере имеет возможность многоадресной рассылки. Я упоминаю об этом, потому что (из памяти) ядро Linux не по умолчанию, и я хотел бы избавить вас от этой боли. : -)
Простой способ узнать (опять же в Linux) - проверить наличие /proc/net/igmp