Настройка vlc для вещания multicast
Когда удобно использовать сеть?
Локальные сети используются на любом предприятии. Также, они есть в частных домах и квартирах. Удобство такой организации девайсов заключается в том, что между компонентами сетки можно легко передавать файлы, создавать режим общего доступа к информации и одновременно проигрывать один и тот же контент на нескольких устройствах.
Проигрыватель VLC создает трансляцию в сеть, с помощью которой можно включить фильм или песню на каждом компоненте сетки. Таким образом очень удобно смотреть фильмы или делиться графическими объектами, презентациями.
Создаём передачу данных
Для настройки локального эфира понадобятся как минимум два ПК, которые подключены к одному хосту (часто к одному роутеру). С помощью командной строчки узнайте маску подсети для каждого устройства. Используйте команду IPConfig.
Далее следуйте инструкции по настройке VLC для вещания в сеть:
- Откройте проигрыватель и в главном меню начните настройку вещания:
- После загрузки объекта кликните на кнопку «Поток»;
- Выберите профиль MP4 для воспроизведения видео;
Подтвердите создание потока. Теперь откройте VLC на другом компьютере и с помощью поля «Открыть URL» начните показ вещания. Адрес трансляции – это маска подсети первого компьютера.
Multicast и Unicast вещание с помощью VLC media player (vlc multicast and unicast stream)
Запуск вещания VoD (Video on Demand) — Видео по запросу
Для примера возьмем сервер с unicast IP-адресом 172.16.10.14, вещаем с порта 5554
Консоль сервера:
===========
1. vlc --ttl 12 --color -I telnet --telnet-password 123 --rtsp-host 172.16.10.14:5554
2. telnet localhost 4212
3.
> new Test vod enabled
> setup Test input /path/to/file.avi
На клиенте:
=======
запускаем vlc проигрыватель
нажимаем «Файл» -> «Открыть URL»
в строке MRL пишем: rtsp://172.16.10.14:5554/Test
жмем «ОК» — смотрим фильм «по запросу»
Multicast вещание нескольких видео файлов на multicast IP-адреса 239.255.1.1 и 239.255.1.2
Вещаем по RTP, консоль сервера:
===========
1. vlc --ttl 12 --color -I telnet --telnet-password 123
2. telnet localhost 4212
1. vlc --ttl 12 --color -I telnet --telnet-password 123
2. telnet localhost 4212
Если мы хотим зациклить проигрывание файлов до бесконечности «по кругу» то добавим:
> setup channel1 loop
> setup channel2 loop
На клиенте:
========
запускаем vlc проигрыватель
нажимаем «Инструменты» -> «Настройки» , там, в нижнем левом углу жмем в «Показывать настройки» на «Все» , затем раскрываем «Вывод потока» , а там ищем «Модули вывода» , в поле «Интерфейс вывода IPv4 multicast» пишем IP-адрес, который прописан на вашей сетевой карте ( смотрящей в сторону сервера вещающего поток) , жмем «Сохранить»
Для просмотра потока по RTP:
После того как выполнили настройки: «Файл» -> «Открыть URL»
в строке MRL пишем:
udp://@239.255.1.1:5004 (что бы посмотреть видео из файла file_1.avi)
или
udp://@239.255.1.2:5004 (что бы посмотреть видео из файла file_2.avi соответственно)
Для просмотра потока по UDP:
в строке MRL пишем:
udp://@239.255.1.1 (что бы посмотреть видео из файла file_1.avi)
Так же запустить вещание в один поток по UDP можно так:
На клиенте:
========
код страницы для отображения вещания + ссылка на запуск WMP:
10.10.16.71 — IP-адрес сервера, с которого вещается поток
8080 — порт куда вещается поток
VLC Multicast to Unicast
Принимаем поток по multicast, а отдаем по unicast
224.0.42.49:5000 — адрес потока откуда берем multicast
192.168.1.15 — адрес клиента куда отправляем unicast
Будьте внимательны с указанием портов для потоков.
Если на сервере несколько сетевых карт и соответственно IP-адресов, то указать через какую карту брать поток можно прописав маршрут (роутинг) через IP-адрес сервера на нужной вам сет. карте, например на сервере одна из сет. карт это em0 с IP-адресом 192.168.1.1:
route add 224.0.42.49/32 192.168.1.1
Добавив маршрут сервер будет пытаться получить multicast поток через em0, что можно видеть с помощью tcpdump:
09:24:34.475683 IP XX.XX.100.182.32857 > 224.0.42.49.5000: UDP, length 1316
09:24:34.478554 IP XX.XX.100.182.32857 > 224.0.42.49.5000: UDP, length 1316
09:24:34.481677 IP XX.XX.100.182.32857 > 224.0.42.49.5000: UDP, length 1316
Отправка unicast потока клиенту (192.168.1.15) будет выглядеть примерно так:
09:26:11.374433 IP 192.168.1.1.61320 > 192.168.1.15.1234: UDP, length 1316
09:26:11.376441 IP 192.168.1.1.61320 > 192.168.1.15.1234: UDP, length 1316
09:26:11.378381 IP 192.168.1.1.61320 > 192.168.1.15.1234: UDP, length 1316
На клиенте:
=======
запускаем vlc проигрыватель
нажимаем «Файл» -> «Открыть URL»
в строке MRL пишем: udp://@192.168.1.15
жмем «ОК» — смотрим unicast поток отправляемый сервером
Сжимаем выходной поток:
«vb=» — Эта опция позволяет установить bitrate видио потока в kbit/s
«ab» — TЭта опция позволяет установить bitrate аудио потока в kbit/s
VLC и несколько сетевых интерфейсов
Вопрос:
У меня в компьютере несколько сетевых интерфейсов, как указать VLC чтобы multicast шел через нужный мне, например 192.168.1.15 ?
Ответ:
Это можно сделать указав IP-адрес нужного вам сетевого интерфейса в настройках VLC.
Теперь IGMP запросы будут уходить с сетевого интерфейса с IP-адресом 192.168.1.15
Если вещание производится из консоли сервера (например сервер с OS FreeBSD) и в нем несколько сетевых интерфейсов, то указать через какой интерфейс пускать поток multicast (udp) можно прописав статический маршрут, например:
224.0.42.49 — адрес потока который собираемся вещать
192.168.1.15 — IP-адрес на одной из сетевых карт сервера
route add 224.0.42.49/32 192.168.1.15
Теперь поток multicast (udp) будет уходить с сетевого интрфейса с IP-адресом 192.168.1.15
Multicast (англ. групповая передача) — специальная форма широковещания, при которой копии пакетов направляются определённому подмножеству адресатов. Технология IP Multicast использует адреса с 224.0.0.0 до 239.255.255.255. Поддерживается статическая и динамическая адресация. Примером статических адресов являются 224.0.0.1 — адрес группы, включающей в себя все узлы локальной сети, 224.0.0.2 — все маршрутизаторы локальной сети. Диапазон адресов с 224.0.0.0 по 224.0.0.255 зарезервирован для протоколов маршрутизации и других низкоуровневых протоколов поддержки групповой адресации. Остальные адреса динамически используются приложениями. Для определения членов различных групп в локальной сети маршрутизатор использует протокол IGMP. Один из маршрутизаторов подсети периодически опрашивает узлы подсети, чтобы узнать, какие группы используются приложениями узлов. На каждую группу генерируется только один ответ в подсети. Для того чтобы стать членом новой группы, узел получателя инициирует запрос на маршрутизатор локальной сети. Сетевой интерфейс узла-получателя настраивается на прием пакетов с этим групповым адресом. Каждый узел самостоятельно отслеживает свои активные групповые адреса, и когда отпадает необходимость состоять в данной группе, прекращает посылать подтверждения на IGMP — запросы. Результаты IGMP — запросов используются протоколами групповой маршрутизации для передачи информации о членстве в группе на соседние маршрутизаторы и далее по сети.
VLC media player (первоначально от VideoLAN Client) — это свободный медиаплеер.
Программа работает на большинстве современных операционных систем, в частности на:
* GNU/Linux
* BSD (FreeBSD, NetBSD, OpenBSD, Apple Darwin, Mac OS X)
* Solaris
* и других разновидностях UNIX…
* Семейство BeOS (BeOS, Zeta-OS, Haiku-OS)
* QNX
* MorphOS
* Microsoft Windows
* Microsoft Windows CE
Плеер VLC можно использовать в качестве сервера для трансляции потока аудио/видео по сети (поддерживает протоколы IPv4 и IPv6). Для воспроизведения файлов мультимедиа не требуется установка дополнительных кодеков, они уже «встроены» в программу. VLC может воспроизводить DVD и потоковое незашифрованное (бесплатное) видео (IPTV) и Интернет-радио. Также программа может записывать потоковое аудио/видео на компьютер. VLC хорошо воспроизводит испорченные файлы.
Для вещания был выбран слабенький Pentium III 800MHz c 512 Mb RAM и с дисковой подсистемой в RAID1. На все это железо воздрузилась Gentoo Linux:
VLC был собран со следующими флагами:
media-video/vlc-0.9.7 USE="a52 aac ffmpeg hal libgcrypt mp3 mpeg ncurses stream x264 -X -aalib -alsa (-altivec) -arts -atmo -avahi -bidi -cdda -cddax% -cddb -cdio -dbus -dc1394 -debug -dirac -directfb -dts -dvb -dvd -esd -fbcon -flac -fluidsynth -fontconfig -ggi -gnome -gnutls -httpd -id3tag -jack -kate -libass -libcaca -libnotify -libsysfs -libv4l2 -lirc -live -lua -matroska -mmx -modplug -musepack -nsplugin -ogg -opengl -optimisememory -oss -pda% -png -pulseaudio -pvr -qt4 -remoteosd -rtsp -run-as-root% -samba -schroedinger -sdl -sdl-image -seamonkey -shout -skins -speex -sse -svg -svga -taglib -theora -truetype -twolame -upnp -v4l -v4l2 -vcdinfo -vcdx -vlm -vorbis -win32codecs -xinerama -xml -xosd -xv -zvbi (-vcd%)"
Соответственно можно поиграть флагами кому как хочется, обязателен флаг stream. Описание флагов можно подсмотреть командой equery u vlc из пакета gentoolkit. Единственное на что хочется обратить внимание, это флаг optimisememory. Собирал с ним 3 предыдущих версии, процесс за пару дней сжирал на 100% ресурсы процессора и умирал.
Screen, а не демон, был выбран для паралельного запуска нескольких каналов, для более простого и удобного мониторинга процесса. PID'ы мне нужны чтобы STB и MidlleWare все правильно скушали. Файлы конвертировались в:
Формат : MPEG Video
Версия формата : Version 2
Настройка матрицы формата : Standard
Режим расчёта битрейта : Переменный
Битрейт : 7 762 Кбит/сек
Ширина : 1 920 пикс.
Высота : 1 080 пикс.
Соотношение кадра : 16/9
Частота кадров : 30,000 кадр/сек
Колориметрия : 4:2:0
Тип развёртки : Прогрессивная
Формат : MPEG Audio
Версия формата : Version 1
Профайл формата : Layer 2
Режим расчёта битрейта : Постоянный
Битрейт : 64,0 Кбит/сек
Канал(ы) : 2 канала(ов)
Частота : 44,1 КГц
Разрешение : 16 бит
Производительность:
up 70 days, 17:08, load average: 0.16, 0.17, 0.11
Загрузка сети:
30 second input rate 8718000 bits/sec, 801 packets/sec
30 second output rate 2000 bits/sec, 2 packets/sec
В этой части мы рассмотрим «Простой Стриминг» через GUI для домохозяек, а для примера нам послужат ситуации:
1. Когда мы выступаем в роли локального транслятора, для людей с лимитированным интернетом, с отключенным интернетом, или для тех, кто считается с вашим вкусом и хочет смотреть то, что вы им порекомендуете.
3. Если вы захотите передавать видео со своей вебкамеры, просто цифровой камеры и любых других подобных устройств, через DirectShow.
Комментарии:
1. Для удобства, в случае если вы будете засовывать множества файлов, советую заранее подготовить плейлист в формате M3U.
2. В последних версиях VLC, стрим можно смело настроить на вещание практически по всем протоколам сразу, если конечно это потребуется.
3. Для отладки и изучения, рекомендую начинать работу с VLC используя модуль «logger»
vlc -extraintf logger
4. Для наложения логотипа на стрим используйте фильтр logo, лучше в формате PNG.
5. В качестве альтернативных плееров для воспроизведения потоков с VLC брали Windows и Winamp Media Player.
Для всех типов вещание начальный GUI-диалог выглядит одинаково:
File: Достаточно выбрать плейлист или любой файл (Аудио/Видео), а зависимости от того, что вы собираетесь вещать в сеть.
Disk: DVD. AudioCD. VCD, здесь же можно отключить вывод меню, выбрать привод, и главу.
Network: здесь мы можем выбрать любой протокол и адрес входящего потока, который будем ретранслировать/конвертировать/сохранять (например с Youtube), Также вчера было проверено, что VLC отлично справляется с RTMP потоками, так что можете вещать видео со своей веб-камеры, поток которой идет на любой сервис управляемый red5.
Capture Device: Здесь можно выбрать, при наличии такового, любое устройство которое работают через Direct Show, Камеру, Вебкамеру, Цифровое или Спутниковое ТВ, а также Ваш Рабочий стол (Будет вещаться все, что происходит у вас на экране монитора).
После того как вы определились с выбором входящего потока, достаточно нажать кнопку «Stream». После чего откроется новое диалоговое окно, которое одновременно работает как настройка стриминга и/или конвертации, и конечный результат зависит от внесенных здесь настроек. Нажимаем кнопку Next, или вкладку Destination.
Как показано на рисунке, и как я уже упоминал, мы можем вести трансляции по всем поддерживаемым протоколам одновременно, в данном примере я показываю пример трансляции по HTTP/MMS.
Выбираем:
New Destination — HTTP, нажимаем Add, вбиваем адрес (0.0.0.0, или смотрим по ipconfig), указываем порт. Если нам нужны еще протоколы, то просто нажимаем "+".
Transcoding Options: Выбираем метод транскодинга из готовых профилей, или создаем свой (а также можно пустить поток без обработки для клиентского VLC).
Этот же метод можно использовать для людей у которых вообще нет медийного плеера, для просмотра/прослушивания стрима с вашего веб сайта (локального, или если у вас Внешний IP, то этот метод так же сработает на сайт в сети интернет).
Для этого создайте документ с расширением *.asx, например stream.asx и поместить туда код:
Где HREF, — Ваш IP и порт. Поместите этот файл на сервер, например в папку /stream/, а в html файле, где бы вы хотели отобразить стрим, напишите следующее:
В случае же если у клиентов стоит Mplayer или VLC, то можно поиграть с другими типами инкапсуляций и кодеков, таких как TS и h264 соответственно.
В таком случае мы получим меньшую нагрузку на систему, большую на канал, но при этом клиенты получают оригинальное видео.
Следующая/последняя вкладка Options не обязательна, в нее стоит заглянуть только для тех кто будет настраивать Анонсы, или захочет посмотреть сгенерированный скрипт, который можно будет в дальнейшем использовать из командной стройки, так же полезен если вы будете запускать вещания по «Крону». О том как использовать я уже писал.
Нажимаем последний раз "Stream" и приглашаем друзей.
Выводы: Качество стрима и его приема может быть достигнуто только при наличии VLC или Mplayer с обоих сторон, так как в случае с VLC не потребует заморочек с плагинами и кодеками, Все, что он стримает по любому протоколу, он быстро и безболезненно подхватывает и на стороне клиента, вне заисимости от кодеков и инкапсуляций и прочих раздражающих факторов. Данный вывод основан только на том факте, что рассматриваемый метод хорош для «домохозяек», и людей которые не умеют пользоватся консолями и командными строками. В следющей части мы попробуем раскрыть тему и возможности вещания на основе «Command Line», которые увеличивают спектр возможностей по стрмингу.
UPD: Для передачи потока по UDP unicast
со стороны сервера необходимо указать IP и порт назначения. Например:
Сервер (192.168.0.1), Клиент (192.168.0.2)
На сервере в настройках стриминга указать
Media — Stream — UDP, 192.168.0.2:1234
У клиента для просмотра потока:
Media — Open Network Stream — UDP, @:1234
UDP Multicast
В multicast, стрим вещается на multicast IP адреса (IP адреса зарезервированные для этих целей, диапазон которых от 224.0.0.0 до 239.255.255.255). Затем, любая машина в сети, может присоединится к multicast группе, посылая запрос в сеть, автоматически получит транслируемый поток.
Потом отправляет запрос об остановке воспроизведения потока и выходит из данной группы. Преимущество multicast стрима, в том, что поток получают только те машины, которые хотят его получать, а сервер вещает только один поток, который получают все участники группы.
Активация multicast, происходит также как в случае с unicast, только во вкладке Options необходимо указать количество TTL* (например 50) IP пакетов, Это означает, что multicast поток сможет пересекать 50 маршрутизаторов.
* — Time To Live
А со стороны клиента, достаточно просто открыть поток в любом плеере который поддерживает multiсast и в строке имени потока указать
udp://@_IP_:port
Более подробно multicast мы рассмотрим в теме продвинутого стриминга с использованием командной строки и телнета
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 19 человек(а).
Медиаплеер VideoLan (VLC) – это многофункциональный медиаплеер, доступный для Windows, Linux и других *Nix-дистрибутивов. Он также доступен для Mac, предоставляет мощные опции для управления и воспроизведения медиафайлов. Использование VLC позволяет легко передавать аудио и видео с помощью Multicast.
Щелкните по кнопке “Добавить” и выберите файл для потоковой передачи. В нижней части окна щелкните по треугольнику рядом с кнопкой “Воспроизвести” и выберите “Поток”.
Убедитесь, что открыт порт 8080. Проверьте, чтобы другое программное обеспечение не использовало порт 8080.
Если вы слушаете один поток в разных комнатах и на разных устройствах, звук может быть не синхронизирован. Если вы настроите потоковую передачу с помощью vlc на одном компьютере, а слушать будете на других, в результате получите разные задержки от сервера потоковой передачи. Вот что можно с этим сделать:
На vlc сервере: Не ставьте галочку возле “Воспроизводить локально”. Вы ничего не услышите, но потоковая передача начнется.
На клиентах vlc: Изменение параметров буферизации/кэширование: Начните с 20мс и увеличивайте на 10, пока не достигните синхронизации звучания. В начале воспроизведения плеер будет всегда много отрезать, но поток стабилизируется через 5 - 10 секунд.
Для прослушивания потока на сервере: Откройте второй vlc клиент и слушайте поток так, как вы делали это на остальных устройствах, используя те же значения кэширования/буферизации.
В VLC-плеере есть возможность не просто работать с проигрыванием медиа-контента на профессиональном уровне. Пользователи могут просматривать онлайн-трансляции, телевизионные каналы и даже создавать свои собственные вещания в локальной сети.
Видео инструкция
Рекомендуем! InstallPack | Стандартный установщик |
---|---|
Официальный дистрибутив Vlc Player | |
Тихая установка без диалоговых окон | |
Рекомендации по установке необходимых программ | |
Пакетная установка нескольких программ |
рекомендует InstallPack, с его помощью вы сможете быстро установить программы на компьютер, подробнее на сайте.
Многофункциональность медиакомбайна VLC превращает данный продукт в практически универсальное решение для просмотра видео в
Получить объемный видеофайл высокого качества из Интернета, прибегнув к возможностям торрент-сетей является на сегодняшний
В широком перечне функций VideoLAN Client достойное место занимает возможность превратить компьютер, на котором
Далеко не все функциональные возможности медиакомбайна VLC Media Player доступны при использовании графического интерфейса
Несмотря на довольно качественную реализацию разработчиками функций, выполняемых VLC MediaPlayer, даже такой довольно надежный
Возможности конвертера форматов, которым оснащен VLC MediaPlayer, чрезвычайно широки. При этом работа с инструментом
здраствуйте я скачал vlc мне нужно устоновить локальную сеть но я не могу
Читайте также: