Трансляция по компьютерной сети

Как транслировать (передавать) видео и музыку в сеть — делаем собственное вещание в локалку и интернет

translyatsiya-delaem-svoyu-setku-veshhaniya

Доброго дня!

Если у вас есть какая-нибудь камера или ТВ-тюнер, и вы хотите сделать свою трансляцию в локальной сети (или в интернет) — то эта заметка для вас. 👌

Впрочем, никто не мешает с таким же успехом вещать и просто какие-нибудь фильмы/музыку, например, с ПК на ТВ или мобильные гаджеты.

Единственное, учитывайте, что ваш компьютер (который транслирует) должен быть достаточно производительным (чтобы избежать лагов и подвисаний). К тому же, нужно иметь хорошее и стабильное подключение к сети (не ниже 10 Мбит/с). В помощь: тест скорости интернета.

В этой заметке я по шагам рассмотрю все необходимые действия как для вещания по локальной сети, так и по интернету. Разумеется, в вашем случае могут быть небольшие отличия (например, при выборе устройства захвата. ).

Трансляция видео в сеть: пример настройки вещания

Запуск трансляции

И так, для нашей задачи понадобится универсальный кросс-платформенный плеер VLC. Программа позволяет не только смотреть потоковое видео в сети, но и создавать трансляцию самостоятельно.

Основные преимущества проигрывателя:

  1. «всеядность»: воспроизводит файлы, внешние диски, сетевые трансляции и т.д.;
  2. поддерживает все популярные форматы файлов: MPEG-2, MPEG-4, H.264, MKV, WebM, WMV, MP3 (даже, если у вас не установлены кодеки в системе);
  3. работает на Windows, Android, Linux, Mac OS X, iOS;
  4. программа бесплатна (и без рекламных вставок).

Примечание : очень желательно установить данный проигрыватель и на то устройство, с которого вы будете вещать, и на то — на котором будете принимать трансляцию. В своем примере ниже я так и сделал.

Теперь необходимо запустить VLC на том компьютере (устройстве), с которого будем вести трансляцию.

После перейти в меню «Медиа/Передать» (Ctrl+S). См. скриншот ниже.

Передавать

Далее нужно выбрать, что мы будем транслировать:

В своем примере я просто добавил один из фильмов.

Добавить файл

Затем нужно уточнить источник вещание: при выборе обычного файла (как в моем случае) можно сразу же нажать далее (т.е. следующий) .

Читайте также:  Протокол резервирования сетевых ресурсов

Следующий

Нужно выбрать в списке «HTTP» и нажать на кнопку «Добавить» . У вас появится вкладка с одноименным названием, в которой можно указать порт и путь трансляции (по умолчанию порт 8080). Рекомендую не менять эти значения и перейти к дальнейшей настройке.

Вывод потока (порт)

В этом шаге нужно выбрать качество трансляции (подбирается экспериментально, в зависимости от ваших нужд). Например, я транслирую видео с ПК на телефон — поэтому выбрал видео для андроида ( прим. : на экране телефона почти незаметна разница между оригиналом и сжатым видео) .

Задание качества

Здесь можно задать доп. параметры вещания. В большинстве случаев можно сразу же нажать «Поток» .

Поток

При первом запуске трансляции брандмауэр Windows попросит вас дать разрешение на работу VLC — просто согласитесь, нажав на «Разрешить доступ» .

Разрешить доступ

Если трансляция запустилась вы увидите тикающий таймер времени (см. нижнюю часть окна программы). То есть с этого момента — вещание можно принять на другое устройство и посмотреть «что-там. «. 👌

Трансляция пошла

Как смотреть трансляцию

По локальной сети

Примечание!

Т.е. и компьютер (который вещает), и устройство (которое принимает трансляцию) находится в одной общей локальной сети. В своем примере ниже: трансляция ведется с ПК, а принимается на телефон под андроидом. Оба устройства подключены к одной Wi-Fi сети.

Для начала нам нужно узнать локальный IP-адрес компьютера, который ведет трансляцию. Сделать это можно через командную строку: введя в ней ipconfig и нажав Enter.

См. ниже скриншот — мой IP 192.168.0.106 (это нужно для дальнейшего подключения).

ipconfig / Командная строка

ipconfig / Командная строка

Кстати, узнать IP-адреса также можно в настройках роутера.

IP-адрес в настройках роутера

IP-адрес в настройках роутера

Теперь запускаем VLC на том устройстве, с которого будем принимать трансляцию (например, телефон). Далее переходим в меню программы и выбираем «Поток» (или «открыть URL-адрес трансляции») .

Поток / VLC

Далее нужно указать сетевой адрес — http://192.168.0.106:8080

1) Вместо 192.168.0.106 — у вас будет свой IP-адрес того компьютера, который ведет трансляцию (например, 192.168.10.102 или 192.168.0.103). Мы этот IP-адрес узнавали в ШАГЕ 1.

2) Вместо порта 8080 может использоваться другой (если при создании трансляции вы изменили его).

VLC для андроид

Если вы все указали правильно, то через 3-5 сек. устройство «прогрузит» кэш и VLC начнет показывать вещание.

Читайте также:  Сетевых технологий и протоколов что это такое

Трансляция

Разумеется, к одной трансляции можно одновременно подключить несколько устройств.

Фото трансляции

По интернету

Всё отличие здесь будет сводится к тому, что нам нужно узнать не локальный IP-адрес (который «дал» нам роутер), а внешний/глобальный (у того ПК, который ведет трансляцию) . Сделать это можно по-разному, ссылку на инструкцию привожу ниже.

Например, мне импонирует утилита Speccy — достаточно открыть раздел Network и вы знаете и локальный IP, и внешний.

Speccy - просмотр IP-адресов, раздел Network

Speccy — просмотр IP-адресов, раздел Network

Разумеется, подобную информацию также можно узнать в настройках роутера. Скрин ниже в качестве примера.

Глобальный IP-адрес

Чтобы к вашей трансляции могли подключиться из интернета — необходимо открыть (пробросить) нужный порт (в нашем случае 8080). По умолчанию, в целях безопасности, роутер не позволяет подключаться из вне.

Делается это обычно в настройках роутера в разделе «Перенаправление портов» (Port Forwarding). Вообще, у меня на блоге есть подробная заметка на эту тему (для начинающих), ссылка ниже.

В помощь! Как пробросить порты на роутере (открываем порты для игр, Skype, uTorrent и др. приложений) — https://ocomp.info/kak-probrosit-portyi-na-routere.html

проброс портов

Теперь запускаем VLC на том устройстве, где будем принимать трансляцию и открываем сетевой адрес вида: http://89.118.10.32:8080

Вместо 89.118.10.32 — у вас будет свой внешний IP-адрес (который мы уточняли в ШАГЕ 1, см. чуть выше).

Вводим глобальный IP

Если вышеприведенные настройки были корректно заданы — то через несколько секунд начнется показ трансляции (см. скрин ниже). Задача выполнена?!

Источник

Трансляция по компьютерной сети

scr7

:sout=#transcode:http :sout-all :sout-keep

Ниже для удобства прикреплю готовый батник для запуска VLC и картинку курсора.

Извлеките vlcscr.bat в удобное место для запуска и положите картинку курсора в папку vlc, например

c:\Program Files (x86)\VideoLAN\VLC\

Текст bat файла:

@echo off
cd c:\
cd Program Files (x86)\VideoLAN\VLC\
start vlc.exe screen:// :screen-left=0 :screen-top=0 :screen-height=768 :screen-width=1360 :screen-fps=20.000000 :live-caching=300 :screen-follow-mouse :screen-mouse-image=cursor.png :sout=#transcode:http :sout-all :sout-keep
exit

Остается только проверить трансляцию. Запускаем vlc на любом компьютере в сети и пробуем Медиа — Открыть URL

В качестве адреса нужно указать ip или URL нашего ноутбука сервера, обычно если в сети маршрутизатор, то ip наш ноутбук получит от DHCP сервера.

Порт указываем в соотвествии с настройками трансляции, имя видеофайла также.

Читайте также:  К какому типу относится компьютерные сети действующие в пределах одного помещения

final

В связи с возникающими вопросами связанными с качеством и скоростью трансляции — появилось продолжение.

В продолжении я расскажу как использовать DirectShow фильтр в качестве драйвера захвата. При этом курсор и все элементы экрана остаются неизменными и убирается характерное моргание.

Комментарии

1) Медиа — Открыть устройство захвата
2) Режим «Экран», 1 к/с (ставил 10, 30, не влияло)
3) Внизу кнопка с надписью «Воспроизведение «, рядом стрелка вниз нарисована, нажать на стрелку и выбрать «Поток»
4) Источник «screen:\\» уже заполнен, жмём «Следующий»
5) Новое назначение выбрать «HTTP» и ОБЯЗАТЕЛЬНО. нажать «Добавить». Создаётся вкладка HTTP с заполненным портом «8080», вероятно его можно задать свой, я пока не трогал, в поле «Путь» укажите «\v.ts» без кавычек (зачем пишут аж длинное VIDEO.TS я не понимаю, наверное людям делать нечего набирать по 300 букв). Пробовал не указывать имя файла — не работает сразу. Жмём «Следующий»
6) перекодирование , играемся с кодеками, жмём «Следующий»
7) Жмём «Поток»
8) Настройка закрывается и у VLC в заголовке будет написано «Converting screen://»
9) ЗАПУСКАЕМ VLC (MPC-HC), «Открыть URL»/»Открыть файл», адрес «http://192.168.1.1:8080/v.ts». Адрес 192.168.1.1 у вас должен быть свой.

Почему не люблю подобные статьи — совершенно не ясно для кого она написана. Если для новичка, то тут только 50% информации, то есть запустить ничего не получится. А если для разбирающегося в вопросе, который эти 50% сам понимает как сделать — так ему и сам гайд нафик не нужен. Вот и получается — весь интернет забит бесполезными инструкциями.

Для тех у кого подобная моей проблема вот мой код

@echo off
cd c:\
cd Program Files (x86)\VideoLAN\ VLC\
start vlc.exe screen:// :screen-left=0 :screen-top=0 :screen-height=768 :screen-width=1360 :screen-fps=20.000000 :live-caching=300 :sout=#transcode:udp :sout-all :sout-keep
exit

Спасибо от души! двое с половиной суток пытался решить проблему стрима экрана в udp из командной строки со свёрнутым интерфейсом. Спасибо реально помогло что ты выложил код.

Странно, всё делается по инструкции, но из локальной сети ссылка типа rtsp://192.168.1.127:8554/video.ts не работает.

Подскажите, нужен ли Bat файл и с какой целью необходимо задавать имя файла для трансляции?

Источник

Оцените статью
Adblock
detector