Как вещать в сеть
Как транслировать (передавать) видео и музыку в сеть — делаем собственное вещание в локалку и интернет
Доброго дня!
Если у вас есть какая-нибудь камера или ТВ-тюнер, и вы хотите сделать свою трансляцию в локальной сети (или в интернет) — то эта заметка для вас. 👌
Впрочем, никто не мешает с таким же успехом вещать и просто какие-нибудь фильмы/музыку, например, с ПК на ТВ или мобильные гаджеты.
Единственное, учитывайте, что ваш компьютер (который транслирует) должен быть достаточно производительным (чтобы избежать лагов и подвисаний). К тому же, нужно иметь хорошее и стабильное подключение к сети (не ниже 10 Мбит/с). В помощь: тест скорости интернета.
В этой заметке я по шагам рассмотрю все необходимые действия как для вещания по локальной сети, так и по интернету. Разумеется, в вашем случае могут быть небольшие отличия (например, при выборе устройства захвата. ).
Ладно, ближе к теме.
Трансляция видео в сеть: пример настройки вещания
Запуск трансляции
ШАГ 1
И так, для нашей задачи понадобится универсальный кросс-платформенный плеер VLC. Программа позволяет не только смотреть потоковое видео в сети, но и создавать трансляцию самостоятельно.
VLC
Основные преимущества проигрывателя:
- «всеядность»: воспроизводит файлы, внешние диски, сетевые трансляции и т.д.;
- поддерживает все популярные форматы файлов: MPEG-2, MPEG-4, H.264, MKV, WebM, WMV, MP3 (даже, если у вас не установлены кодеки в системе);
- работает на Windows, Android, Linux, Mac OS X, iOS;
- программа бесплатна (и без рекламных вставок).
Примечание : очень желательно установить данный проигрыватель и на то устройство, с которого вы будете вещать, и на то — на котором будете принимать трансляцию. В своем примере ниже я так и сделал.
ШАГ 2
Теперь необходимо запустить VLC на том компьютере (устройстве), с которого будем вести трансляцию.
После перейти в меню «Медиа/Передать» (Ctrl+S). См. скриншот ниже.
ШАГ 3
Далее нужно выбрать, что мы будем транслировать:
- файл;
- диск;
- ТВ-тюнер, камеру или др. устройства захвата.
В своем примере я просто добавил один из фильмов.
ШАГ 4
Затем нужно уточнить источник вещание: при выборе обычного файла (как в моем случае) можно сразу же нажать далее (т.е. следующий) .
ШАГ 5
Нужно выбрать в списке «HTTP» и нажать на кнопку «Добавить» . У вас появится вкладка с одноименным названием, в которой можно указать порт и путь трансляции (по умолчанию порт 8080). Рекомендую не менять эти значения и перейти к дальнейшей настройке.
Вывод потока (порт)
ШАГ 6
В этом шаге нужно выбрать качество трансляции (подбирается экспериментально, в зависимости от ваших нужд). Например, я транслирую видео с ПК на телефон — поэтому выбрал видео для андроида ( прим. : на экране телефона почти незаметна разница между оригиналом и сжатым видео) .
ШАГ 7
Здесь можно задать доп. параметры вещания. В большинстве случаев можно сразу же нажать «Поток» .
ШАГ 8
При первом запуске трансляции брандмауэр Windows попросит вас дать разрешение на работу VLC — просто согласитесь, нажав на «Разрешить доступ» .
ШАГ 9
Если трансляция запустилась вы увидите тикающий таймер времени (см. нижнюю часть окна программы). То есть с этого момента — вещание можно принять на другое устройство и посмотреть «что-там. «.
Как смотреть трансляцию
По локальной сети
Т.е. и компьютер (который вещает), и устройство (которое принимает трансляцию) находится в одной общей локальной сети. В своем примере ниже: трансляция ведется с ПК, а принимается на телефон под андроидом. Оба устройства подключены к одной Wi-Fi сети.
ШАГ 1
Для начала нам нужно узнать локальный IP-адрес компьютера, который ведет трансляцию. Сделать это можно через командную строку: введя в ней ipconfig и нажав Enter.
См. ниже скриншот — мой IP 192.168.0.106 (это нужно для дальнейшего подключения).
ipconfig / Командная строка
Кстати, узнать IP-адреса также можно в настройках роутера.
IP-адрес в настройках роутера
ШАГ 2
Теперь запускаем VLC на том устройстве, с которого будем принимать трансляцию (например, телефон). Далее переходим в меню программы и выбираем «Поток» (или «открыть URL-адрес трансляции») .
ШАГ 3
Далее нужно указать сетевой адрес — http://192.168.0.106:8080
Важно!
1) Вместо 192.168.0.106 — у вас будет свой IP-адрес того компьютера, который ведет трансляцию (например, 192.168.10.102 или 192.168.0.103). Мы этот IP-адрес узнавали в ШАГЕ 1.
2) Вместо порта 8080 может использоваться другой (если при создании трансляции вы изменили его).
ШАГ 4
Если вы все указали правильно, то через 3-5 сек. устройство «прогрузит» кэш и VLC начнет показывать вещание.
Разумеется, к одной трансляции можно одновременно подключить несколько устройств.
По интернету
ШАГ 1
Всё отличие здесь будет сводится к тому, что нам нужно узнать не локальный IP-адрес (который «дал» нам роутер), а внешний/глобальный (у того ПК, который ведет трансляцию) . Сделать это можно по-разному, ссылку на инструкцию привожу ниже.
Например, мне импонирует утилита Speccy — достаточно открыть раздел Network и вы знаете и локальный IP, и внешний.
Speccy — просмотр IP-адресов, раздел Network
Разумеется, подобную информацию также можно узнать в настройках роутера. Скрин ниже в качестве примера.
ШАГ 2
Чтобы к вашей трансляции могли подключиться из интернета — необходимо открыть (пробросить) нужный порт (в нашем случае 8080). По умолчанию, в целях безопасности, роутер не позволяет подключаться из вне.
Делается это обычно в настройках роутера в разделе «Перенаправление портов» (Port Forwarding). Вообще, у меня на блоге есть подробная заметка на эту тему (для начинающих), ссылка ниже.
В помощь! Как пробросить порты на роутере (открываем порты для игр, Skype, uTorrent и др. приложений) — https://ocomp.info/kak-probrosit-portyi-na-routere.html
ШАГ 3
Теперь запускаем VLC на том устройстве, где будем принимать трансляцию и открываем сетевой адрес вида: http://89.118.10.32:8080
Важно!
Вместо 89.118.10.32 — у вас будет свой внешний IP-адрес (который мы уточняли в ШАГЕ 1, см. чуть выше).
Вводим глобальный IP
ШАГ 4
Если вышеприведенные настройки были корректно заданы — то через несколько секунд начнется показ трансляции (см. скрин ниже). Задача выполнена?!
Настройка трансляции аудио в VLC через локальную сеть (LAN).
Автор: Administrator вкл. 31 января 2018 . Опубликовано в Вспомогательные материалы.
Для прослушивания звука с какого-либо устройства на удалении от компьютера, к которому такое устройство подключено, можно использовать возможности потоковой трансляции в программе VLC.
Т.е. в точке А стоит компьютер, на котором «существует» некий звук (играет музыка в плеере, кто-то говорит в микрофон, либо подключен КВ-приемник, SDR, трансивер в режиме приема), в точке Б с другого компьютера подключаемся к «вещающему» компьютеру и слушаем аудио-поток.
Компьютер, с которого надо «забирать» звук, будет именоваться далее, как сервер , а компьютер, с которого подключаемся к серверу и слушаем аудио поток – клиент . В примере будет рассматриваться случай, когда на сервере запущена некая программа, которая воспроизводит звук через аудио-выход звуковой карты, но ни через какие колонки на сервере нам ничего слушать не нужно. С помощью виртуального кабеля (Virtual Audio Cable) звук «заворачивается» в VLC. Если же используется какое-либо устройство, подключенное к линейному или микрофонному входу сервера, то в VLC нужно указывать линейный или микрофонный вход в качестве источника аудио-сигнала.
Написанное ниже справедливо для VLC 2.2.6 и Windows 8.1.
Собственно говоря, настраивается VLC так:
На сервере надо запустить VLC.
В меню «Медиа» выбрать пункт «Передавать».
Далее «Режим захвата» – DirectShow. «Название видеоустройства» – None. «Название аудиоустройства» — Line 1 (Virtual Audio Cable). Поставить галочку «Показать дополнительные параметры», там установить параметр «Кэширование» — время задержки, буферизации будущего аудио-потока. Содержимое полей «MRL» и «Строка параметров» можно скопировать в текстовый файл – это позже будет нужно для настройки автоматического запуска трансляции. Нажать «Поток».
В следующем окне нажать «Следующий».
Далее в поле «Новое назначение» выбрать HTTP, нажать Добавить.
В следующем окошке выбрать желаемый порт, его нужно будет указывать при подключении к потоку на компьютере-клиенте и, если нужен доступ к потоку из интернета, пробрасывать в роутере, к которому подключен сервер. Нажать «Следующий».
Далее отметить галочкой «Включить перекодирование», в выпадающем списке выбрать кодеки «Video – H.264 + MP3 (MP4)», нажать на изображение отвертки и гаечного ключа.
В открывшемся окне во вкладке «Инкапсуляция» выбрать «MP3», перейти на вкладку «Видеокодек».
Снять галочку с пункта «Видео», перейти на вкладку «Аудиокодек».
На пункте «Аудио» должна стоять галочка. На вкладке «Параметры кодирования» выбрать желаемую скорость аудио-потока. Можно поэкспериментировать со значениями 64, 96, 128 кбит или с любыми другими. Нажать кнопку «Сохранить».
В следующем окне нажать кнопку «Следующий».
Далее в окошке будет «Строка вывода для генерируемого потока», которая пригодится, если в дальнейшем планируется автоматически запускать трансляцию. Строку можно скопировать в текстовый файл для временного хранения. Потом к ней вернемся. Нажать кнопку «Поток».
Окошки настройки закроются, появится главное окно программы VLC в заголовке которой будет написано «Потоковая передача» и также в строке состояния (она включается в «Вид» – «Строка состояния»).
Трансляция потока запущена. Как же ее прослушивать на клиенте? Рассмотрим пример, в котором оба компьютера (сервер и клиент) находятся в одной локальной сети.
На клиенте запустить VLC, в раскрывающемся меню «Медиа» выбрать «Открыть URL…»
В поле «Введите сетевой адрес:» нужно ввести IP-адрес сервера и номер порта, с которого нужно прослушать трансляцию. Если поставить галочку «Показывать дополнительные параметры», то можно изменить длительность кэширования (буферизация). Нажать кнопку «Воспроизвести».
Об успешности подключения будет свидетельствовать наличие адреса сервера в заголовке окна с программой, и увеличивающийся счетчик длительности подключения.
Чтобы каждый раз не вводить или не выбирать адрес из прежних подключений, можно сделать запуск файла плейлиста с готовыми параметрами. Для этого после подключения к серверу нужно выбрать пункт меню «Медиа», а в списке выбрать «Сохранить плейлист как…».
Далее ввести желаемое имя плейлиста, выбрать желаемое место для сохранения и нажать кнопку «Сохранить». Дальнейший запуск прослушивания трансляции сведется к двойному клику на файле плейлиста.
Все это хорошо, но после закрытия VLC на сервере или перезагрузки сервера для возобновления трансляции необходимо проделывать все манипуляции по настройке VLC с самого начала, что не есть удобно.
А можно сделать bat-файл, который будет запускать VLC с уже заданными параметрами трансляции. Содержимое такого файла может быть таким:
cd Program Files (x86)VideoLANVLC
start vlc.exe —qt-start-minimized —qt-system-tray dshow:// :dshow-vdev=none :dshow-adev=»Line 1 (Virtual Audio Cable)» :live-caching=300 :sout=#transcode
Где « Program Files ( x 86) VideoLAN VLC » является путем к папке, куда установлен VLC. Если Windows 32-битный, то путь будет « Program Files VideoLAN VLC », если VLC установлен не на диск «C», то « cd c : » надо изменить на букву того диска, куда действительно установлен VLC. Для диска D параметр будет таким — « cd d : ».
Cтрока « dshow:// :dshow-vdev=none :dshow-adev=»Line 1 (Virtual Audio Cable)» :live-caching=300 » берется из окна настроек в самом начале создания трансляции по тексту выше, также и строка « :sout=#transcode
Параметры « — qt — start — minimized — qt — system — tray » запускают программу свернутой в панель задач рядом с часами. Если такой вариант не нужен, то эти строки можно убрать.
Важно заметить, что по умолчанию параметр « dst = » выглядит как « dst =:8080 », что даст рабочий вариант только в рамках локальной сети. Если же нужно подключаться к трансляции из интернета «сквозь» маршрутизатор, то этот параметр должен содержать локальный IP-адрес сервера — « dst =192.168.1.2:8080 ». IP-адрес сервера лучше делать статическим или с привязкой к MAC в DHCP маршрутизатора.
Если нужно изменить битрейт, то правим число в « ab =96 ». Для 128 Кбит/сек параметр будет выглядеть так — « ab =128 ».
Такой bat -файл можно добавить в автозапуск на сервере, и при старте системы автоматически начнется трансляция потока.
Трансляция потокового видео с веб-камеры в локальной сети (VLC)
Задался мне как-то вопрос, а нельзя ли сделать веб-камеру одного компа в локальной сети общедоступной, и вдохновило меня на это конечно видео наблюдение (охранная система видео наблюдения).
Решить такое с помощью ip-камеры не составляет труда просто подключив к локальной сети, такая камера имеет ip-адрес. Наша камера такого адреса иметь не может по этому мы будем настраивать ее через компьютер. Подключаем нашу вэб-камеру к компьютеру, проверяем что все драйвера и сама камера установилась нормально.
Дальше для того что бы смотреть вэб-камеру на самом компьютере, проблем не будет, это решается с помощью родной программы камеры либо через программы сторонних разработчиков, это webcamXP Free (для домашнего применения), Yawcam и Dorgem. Но все это нам не достаточно, нам надо сделать видео с камеры доступным к про смотру другим компьютерам в локальной сети, по этому нам нужна программа которая может вещать поток видео в сеть. Поискав в интернете я понял что программ реализующих данную возможность не так много. Например в ОС windows 7 видео поток можно настроить и сделать доступным не прибегая к дополнительным программа все функции включены уже в Проигрывателе Windows Media, а вот для Windows XP уже придется установить Windows Media Encoder или вещать через VLC Media Player, теперь рассмотрим их подробней.
Windows Media Encoder — для начала скачиваем с официального сайта WMEncoder.exe и устанавливаем.
Программа на русском по этому здесь все понятно, запускаем новую сессию->Создаем Потоковое вещание прямого эфира->Выбираем средство захвата в нашем случаю находим пункт с web-камерой, ну и так далее по инструкции. Если же у вас английская версия то вот инструкция выбора опций:
Пуск->Все программы->Windows Media->Windows Media Encoder
New session->Broadcast a live event->Pull from the Encoder->URL for Internet connections (Запоминаем это наш адрес вещания), а далее лишь остается выбрать качество видео (что уже зависит от качества камеры, мощности компьютера и скорости передачи локальной сети), а также будет задан вопрос нужно ли сохранять видео на жесткий диск и все.
Start Encoding — вещание запущено!
Примечание : Запуск потока при включении компьютера, создаем ярлык на программу и закидываем в автозапуск + в ярлыке прописываем wmenc.exe /start (где — это имя файла конфигурации.
На удаленном компьютере в видео проигрывателе остается лишь указать URL потока.
VLC Media Player — бесплатная программа скачиваем VLC, далее запускаем:
Медиа->Потоковое вещание(Передавать)->Устройство захвата(Режим захвата)->WEB-камера->Прописываем адрес ip и порт.
Теперь откроем поток и посмотрим вещание:
Медиа->Потоковое вещание->Сеть->Вводим ip:порт
Передача видео и аудио сигналов через Интернет и в локальной сети Ethernet
Сравнительная таблица устройств и оборудования для передачи видео
Характеристики | Передача видео по витой паре | Передача видео через локальную сеть с помощью устройств ITMS | Кабель HDMI |
---|---|---|---|
Максимальное расстояние при передачи full HD (1980×1020 30 кадров/сек) видео | до 70 метров | ограничено размерами локальной сети или до 100 метров по витой паре | до 25 метров |
Оборудование может быть подключено к локальной сети Ethernet | нет | ![]() | нет |
Не требуется настраивать уровень сигнала | нужно | ![]() | ![]() |
Возможности расширения системы | |||
Добавить новый приемник | замена передатчика, новый приемник | новый приемник | HDMI делитель, новый приемник |
Перенести приемник | настройка уровня сигнала, прокладка витой пары | прокладка витой пары | проложить HDMI кабель |
Подключить приемник к другому передатчику | настройка уровня сигнала, прокладка витой пары | прокладка витой пары | проложить HDMI кабель |
Передача видео в/через Интернет | |||
Передача видео на Интернет-сайт (передача видео на сервер вещания по протоколу RTMP) | нет | ![]() | нет |
Передача видео через Интернет по протоколу RTSP | нет | ![]() | нет |
У любого пользователя может возникнуть задача передать видео от передатчик до приемника. Например, нужно передать видео с выхода камеры наблюдения на экран телевизора или передать видео с видео выхода компьютера на информационную панель. Если приемник находится на расстоянии больше 20 метров от передатчика, то даже при использовании фирменных кабелей передать видео не получится. В этом случае пользователю приходится использовать дополнительные устройства — устройства для передачи сигнала по витой паре. Все устройства применяемые для передачи видео по витой паре можно разделить на две группы :
1. устройства для передачи видео по витой паре
2.устройства для передачи видео в сети Ethernet
Устройства из первой группы могут передавать видео по витой паре, но они не будут работать если вы подключите их в вашу локальную сеть Ethernet, в худшем случае можно даже сломать коммутатор к которому будет подключено такое устройство. Однако устройства из первой группы обладают и преимуществом — меньшая задержка при передачи видео сигнала от передатчика к приемнику. Но фактически это единственное преимущество перед передатчиками из второй группы.
Передатчик из второй группы (кодер ITMS) обладает следующими характеристиками и возможностями:
- передача видео на большие расстояния в локальной сети — до 300м
- передача видео через Интернет
- передача видео по WIFI
- передача видео на неограниченное кол-во устройств одновременно в сети Ethernet ( поддержка мультикаст трансляции)
Описание работы системы передатчик( кодер ITMS) и премник ( Amino Aminet Image Encoder) поддерживающих стандарт Ethernet дано ниже.
Для передачи видео и аудио сигналов в локальной сети Ethernet или в сети Internet нужно всего три компонента:
- передатчик видео сигнала — устанавливается в точке приема видео и аудио сигналов
- услуги транспортной сети провайдера
- приемник видео сигнала— декодирующее оборудование в месте получения видео и аудио сигналов
Передатчик — оборудование, кодирующее видео сигнал, представляет собой аппаратный IP кодер/encoder, который осуществляет захват и кодирование аудио/видео сигналов и их трансляцию в виде H264 потока через сеть TCP/IP.
В качестве приемника видео сигнала можно использовать:
- ТВ приставку STB Amino Aminet Image Encoder . В зависимости от модели, у приставки могут быть разные видеовыходы: HDMI, композитный, компонентный, аудио выход.
- Компьютер с установленным ПО, например, VLC
На передаваемый видео сигнал можно наложить текстовое сообщение, логотип фирмы или другую картинку.
Различие при передачи видео сигнала в Интернет и в Ethernet.
Сеть Интернет. При передачи сигнала в сети Интернет нужно учитывать следующие требования и возможности сети Интернет:
- Передатчик видео должен обладать внешним IP адресом.
- В сети Интернет не может передаваться мультикаст. Чтобы передать видеосигнал передатчик должен формировать RTSP/HTTP поток.
- Передатчик может формировать не более 2х RTSP/HTTP потоков одновременно, поэтому если требуется передать видео для более чем 2х разных пользователей, то нужно установить дополнительное оборудование — раздающий видео сервер.
Сеть Ethernet. При передачи сигнала в сети Ethernet нужно учитывать следующие требования и возможности сети Ethernet:
- Передатчику не нужно присваивать внешний IP адрес.
- В сети Ethernet могут передаваться не только RTSP и HTTP потоки, но также и UDP мультикаст, поэтому можно передать сигнал неограниченному числу пользователей одновременно без использования дополнительного оборудования. Однако если вы хотите передавать мультикаст в вашей сети — вам нужно проконсультироваться с вашим системным администратором, может быть, передача мультикаста невозможна из-за другого оборудования установленного в вашей сети.
При передачи видео в сети Интернет или Ethernet нужно учитывать что IP поток формируемый передатчиком будет занимать определенную часть пропускной возможности сети. В общем случае поток формируемый передатчиком зависит от разрешения передаваемого видео, однако некоторые некачественные передатчики формируют большой поток даже при передачи видео в низком разрешении.
Возможные области применения:
- передача видео при проведении конференций и собраний
- передача видео из театра и концертного зала
- передача видео из операционной или больницы
- передача видео внутри города от одного оператора кабельного телевидения к другому
- передача видео от студии до телепередающей станции
- передача видео из аудитории института
Возможности расширения системы
Для каждой из представленных групп оборудования, в случае необходимости внесения изменения в схему подключения, придется осуществить ряд действий, т.е. установить новое оборудование, заменить уже существующее и/или провести настройку существующей сети и оборудования.
Например, если нужно установить дополнительный приемник, то
- Для устройств передающих видео по витой паре понадобится проложить дополнительную витую пару до передатчика, заменить передатчик на новый с 2 выходами для передачи видео и установить новый приемник видео и настроить уровень сигнала во 2й точке приема видео.
- Для устройств передающих видео в локальной сети (например кодер ITMS — приставка) понадобится установить новый приемник( приставку) и протянуть витую пару от приемника до ближайшего коммутатора подключенного к локальной сети.
- Если передатчик приемник соединены с помощью кабеля HDMI, то понадобится установить делитель HDMI сигнала и протянуть новый HDMI кабель от делителя до нового приемника.
Если нужно перенести приемник в другое место, то
- Для устройств передающих видео по витой паре понадобится проложить новую или переложить старую витую пару до передатчика, настроить уровень сигнала если была проложена новая витая пара.
- Для устройств передающих видео в локальной сети (например кодер ITMS — приставка) понадобиться только проложить витую пару от нового места установки приемника до ближайшего коммутатора подключенного к локальной сети
- Если передатчик приемник соединены с помощью кабеля HDMI, то понадобится переложить HDMI кабель.
Если нужно подключить приемник к другому передатчику, то
- Для устройств передающих видео по витой паре понадобится проложить новую или переложить старую витую пару до нового передатчика и настроить уровень сигнала.
- Для устройств передающих видео в локальной сети (например кодер ITMS — приставка) понадобиться только проложить витую пару от нового передатчика до ближайшего коммутатора подключенного к локальной сети.
- Если передатчик приемник соединены с помощью кабеля HDMI, то понадобится переложить HDMI кабель или проложить новый HDMI кабель до нового передатчика.