Возникла недавно необходимость организовать видеопрезентацию в учебном заведении. Проектор был, но в силу громоздкости конструкции, неудобного расположения экрана, такой способ не подошел. Как вариант - ЖК телевизор с большой диаганолью - подумаете вы. Но и здесь не получилось. В предыдущем кабинете был, а в классе с компьютерами нет.
Компромисс был найден. Я решил организовать трансляцию видеопотока со своего ноутбука в локальную сеть. 8 компьютеров клиентов смогли наслаждаться презентацией, причем с захватом компьютерной мыши.
Итак ближе к делу. В качестве сервера видеотрансляции был выбран мой ноутбук на не самом мощном процессоре P8600 и медиаплеер VLC. Продукт опенсурс и очень гибконастраиваемый.
Распишу пошагово настройки через интерфейс VLC.
Плеер может быть хоть на 32bit хоть на 64bit - на официальном сайте можно скачать хоть последнюю версию, хоть версии 2.0х, которая немного отличается от версии 2.1х, представленной в обзоре.
Итак, запускаем программу и заходим в Медиа - Передавать или жмем Ctrl+S
- Далее выбираем режим захвата - экран
- Частота кадров - в пределах 15-25 каров в секунду
- Настраиваем кеширование в зависимости от мощности сети и сервера
- Строка параметров - здесь надо разобраться подробнее в настройках
Внешний вид мастера настроек
Строка параметров:
: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
:screen-left=0 :screen-top=0 - Координаты верхней левой точки экрана
:screen-height=768 :screen-width=1360 - Высота и ширина экрана ноутбука 1366х768px
При трансляции ширину задаем именно 1360px !!! это значение задается экспериментально, при 1366 не будет захвата курсора мыши (проверено опытным путем)
:screen-fps=20.000000 :live-caching=300 - частота кадров
и время кеширования видео для снижения нагрузки на сеть
:screen-follow-mouse :screen-mouse-image=cursor.png - опции для захвата курсора компьютерной мыши
Курсор с именем cursor.png необходимо положить в папку с вашим VLC или задать относительный путь с указанием буквы диска. Если этого не сделать - трансляция не пойдет и будет выведено сообщение об ошибке.
Выбираем формат сжатия для потока
Mpeg-2 дает сравнительно низкую нагрузку на процессор ноутбука, по сравнению с тем же H-264
:sout=#transcode{vcodec=mp2v,vb=800,fps=20,scale=0,acodec=none}:http{dst=:8080/video.ts, ttl=1} :sout-all :sout-keep
Ниже для удобства прикреплю готовый батник для запуска VLC и картинку курсора.
Извлеките vlcscr.bat в удобное место для запуска и положите картинку курсора в папку vlc, например
c:\Program Files (x86)\VideoLAN\VLC\
Bat файл: vlcscr.zip
Курсор в виде точки: cursor.png
Текст 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{vcodec=mp2v,vb=800,fps=20,scale=0,acodec=none}:http{dst=:8080/video.ts, ttl=1} :sout-all :sout-keep
exit
Остается только проверить трансляцию. Запускаем vlc на любом компьютере в сети и пробуем Медиа - Открыть URL
В качестве адреса нужно указать ip или URL нашего ноутбука сервера, обычно если в сети маршрутизатор, то ip наш ноутбук получит от DHCP сервера.
Порт указываем в соотвествии с настройками трансляции, имя видеофайла также.
В связи с возникающими вопросами связанными с качеством и скоростью трансляции - появилось продолжение.
В продолжении я расскажу как использовать DirectShow фильтр в качестве драйвера захвата. При этом курсор и все элементы экрана остаются неизменными и убирается характерное моргание.
Рубрики
-
3D и графика ( 7 )
-
Веб разработка ( 13 )
-
Железо и периферия ( 8 )
-
Портфолио и резюме ( 3 )
-
Сервер на Debian Linux ( 20 )
-
Сисадмину на заметку ( 14 )
-
Тестовая лаборатория ( 10 )
Новые записи
25.03.23 Ошибка 0x00000709 при попытке установить сетевой USB принтер
05.10.19 Добавление сертификата в exim4
18.08.18 Утилиты диагностики системы Linux
02.10.16 Отключение systemd на Debian
Комментарии
- Всё отлично! Спасибо за гайд!
03.03.24 08:01 комментирует: Luidgi Vampa - Добрый день! Спасибо вам за ваши статьи! Подскажите пожалуйста. Как проверить ус...
17.01.24 01:47 комментирует: Олег - Спасибо, проделал на ноутбуке dv5-1040er, скорость реально выросла. Делал на w10...
10.10.23 15:58 комментирует: Евгений - у мене схожа проблема як була у вас... чому ви вирішили ввести 92500000??? дякую...
11.04.23 01:51 комментирует: Володимир
Комментарии
11.11.2021 15:06
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 у вас должен быть свой.
30.10.2021 16:34
17.08.2020 16:22
@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{vcod ec=mp2v,vb=1500,fps=20,scale=0,acodec=none}:udp{dst=239.224.0.1:1234} :sout-all :sout-keep
exit
17.08.2020 16:20
23.08.2019 16:40
12.08.2019 23:57
Подскажите, нужен ли Bat файл и с какой целью необходимо задавать имя файла для трансляции?
01.05.2019 14:51
Так звук тоже захватить и закодить надо. Там допкоманды прописывать надо. А так только изображение.
28.04.2019 23:04
04.03.2019 01:30
VLC не может открыть MRL 'screen://'. Ищите более подробную информацию в лог-файле. У меня Ubuntu.
09.01.2019 12:01