VideoLAN - VLC media player. Воспроизведение видео на терминалах
Включается строчкой в конфиге: application = vlc
Работает только в WTware для x86 и только с video=...(U) . Никак нельзя запустить VLC, если video=...(F) или video=...(X) . Если на вашей машине с 1024Мб памяти не запускается ни один драйвер видео из набора (U) , будем чинить.
В UEFI сборке WTware и в WTware для Raspberry Pi VLC еще не сделан.
Самый простой пример
Чтобы просто запустить VLC и увидеть, что оно работает, напишите в конфигурационный файл три строки:
Application = vlc vlc_files = vlc.jpg vlc_cmdline = /vlc_files/vlc.jpg --image-duration=-1
C таким конфигурационным файлом на экране появится оранжево-зеленая картинка с текстом "VLC for WTware test screen." Что означает каждая из строк конфигурационного файла:
Application = vlc
Включает проигрыватель VLC вместо обычного RDP клиента.
Vlc_files = vlc.jpg
Указывает терминалу скачать файл vlc.jpg из каталога VLC на TFTP или HTTP сервере (скорее всего, полный путь C:\ProgramData\WTware\VLC). Файл будет скачан в память терминала и доступен как /vlc_files/vlc.jpg
Vlc_cmdline = /vlc_files/vlc.jpg --image-duration=-1
Указывает проигрывателю VLC открыть файл //vlc_files/vlc.jpg , а волшебое слово --image-duration=-1 указывает бесконечно долго показывать картинку.
VLC и виртуальные экраны
Проигрыватель VLC можно поместить на второй виртуальный экран. Подробно про виртуальные экраны написано в документации . Пример конфигурационного файла, в котором на первом виртуальном экране подключение к RDP серверу 192.168.1.1, а на втором проигрыватель VLC с тестовой картинкой. Переключаться между экранами клавишами Win-1..Win-2, Win-стрелки или через всплывающее меню внизу справа:
Server=192.168.1.1 next screen application = vlc vlc_files = vlc.jpg vlc_cmdline = /vlc_files/vlc.jpg --image-duration=-1
Видео из памяти терминала
Картинка это еще не видео. Не интересно. Можно записать видеофайл в каталог VLC и указать его имя вместо vlc.jpg в параметрах vlc_files= и vlc_cmdline= . Тогда проигрыватель VLC будет воспроизводить видео. Файлы, указаные в параметре vlc_files= , будут загружены в оперативную память терминала при загрузке. Не стоит указывать файлы размером в гигабайты: будет загружаться долго и оперативной памяти может не хватить. Файлы загружаются быстрее, если настроить загрузку по HTTP .
Для бесконечного повтора видео в параметре vlc_cmdline нужно убрать волшебное слово --image-duration=-1 и добавить другое волшебное слово --loop . Пример:
Application = vlc vlc_files = yourvideo.mov vlc_cmdline = /vlc_files/yourvideo.mov --loop
RTSP вещание, настройка источника видео
VLC умеет принимать вещание по протоколу RTSP. Этот протокол используют камеры видеонаблюдения, и WTware можно настроить принимать картинку с камер. Или же можно настроить вещание видеопотока в сеть с Linux-машины и показывать одинаковое, синхронное видео на нескольких терминалах с WTware.
В качестве источника RTSP вещания нужна именно Linux машина, с Windows получается плохо. Возьмите любой свежий Linux. Live USB в виртуальной машине вполне подойдет. Ниже будут скриншоты запуска вещания, снятые с Ubuntu Linux. На скриншотах входящий в дистрибутив Ubuntu VLC. Ничего сложного:
RTSP вещание, настройка терминала
Конфигурационный файл терминала, принимающего вещание RTSP:
Application = vlc vlc_cmdline = rtsp://10.1.1.32:8554/test
Вместо 10.1.1.32 надо указать IP машины с Linux, на которой запущено вещание. Так, как нарисовано на скриншотах выше. Порт 8554 и путь /test указаны на скриншотах. На экране терминала должно появиться видео. Можно запустить несколько терминалов с одинаковыми настройками, и все они будут покзывать одинаковое видео, которое вещается по RTSP с Linux машины.
Принимать вещание с камеры видеонаблюдения точно так же, порт и путь надо взять из настроек камеры.
Конфигурационный файл VLM
Сложную настройку проигрывателя VLC удобнее выполнять через специальный конфигурационный файл VLM. Сначала самый простой пример, VLM для картинки. Записываем этот текст в файл test1.txt в каталоге VLC:
New c1 broadcast enabled setup c1 input /vlc_files/vlc.jpg control c1 play
В конфигурационном файле WTware пишем:
Application = vlc vlc_files = test1.txt, vlc.jpg vlc_cmdline = --vlm-conf=/vlc_files/test1.txt --image-duration=-1
На экране должна получиться картинка с текстом "VLC for WTware test screen."
Мозаика. Четыре вещания на экране
Более сложный пример настройки проигрывателя VLC с помощью конфигурационного файла VLM. Сначала надо запустить вещание видео в сеть на машине с Linux так, как выше было нарисовано на скриншотах. Затем записываем текст в файл test2.txt в каталоге VLC , заменяя 10.1.1.20 на IP вашей машины с линуксом:
New c1 broadcast enabled loop setup c1 input rtsp://10.1.1.20:8554/test setup c1 output #mosaic-bridge{id=1,width=300,height=224} control c1 play new c2 broadcast enabled loop setup c2 input rtsp://10.1.1.20:8554/test setup c2 output #mosaic-bridge{id=2,width=300,height=224} control c2 play new c3 broadcast enabled loop setup c3 input rtsp://10.1.1.20:8554/test setup c3 output #mosaic-bridge{id=3,width=300,height=224} control c3 play new c4 broadcast enabled loop setup c4 input rtsp://10.1.1.20:8554/test setup c4 output #mosaic-bridge{id=4,width=300,height=224} control c4 play
В конфигурационный файл WTware пишем следующие строки. Обратите внимание: всё, что следует после vlc_cmdline= это одна длинная строка:
Application = vlc vlc_files = test2.txt, vlc.jpg vlc_cmdline = --sub-source=mosaic{width=640,height=480,xoffset=10,yoffset=10,rows=2,cols=2,keep-picture} --vlm-conf=/vlc_files/test2.txt /vlc_files/vlc.jpg --file-caching=2000 --image-duration=-1
Должна получиться такая картинка:
Четыре рыбы в четыре раза лучше одной рыбы! Можно указать разные источники видео, например с разных камер видеонаблюдения.
Про размеры. Мозаика работает так: сначала масштабируются видеопотоки, их размеры становятся равными указанным в width= и height= в конструкции #mosaic-bridge{} . Затем потоки накладываются на фоновую картинку. И после этого фоновая картинка с видеопотоками растягивается на весь экран терминала. Чтобы не запутаться, надо вместо нашей картинки vlc.jpg использовать фоновую картинку того же размера, что и физическое разрешение монитора на терминале, и в width= и height= внутри конструкции mosaic{} указывать размер этой картинки.
Промышленная эксплуатация
Два монитора 1920x1080 по девять камер видеонаблюдения с :
Таймаут отключения VLC
По умолчанию WTware включает проигрыватель VLC только после того, как пользователь переключится на соответствующий виртуальный экран. И выключает, когда пользователь переключается на другой экран. Это позволяет не загружать процессор и сеть воспроизведением видео, когда VLC работает в фоне. Но при сетевом вещании видео картинка полностью прорисовывается через несколько секунд после запуска VLC. Неудобно, если переключать экраны приходится часто. Такая строка в конфигурационном файле WTware:
Vlc_timeout = 30
указывает терминалу не выключать VLC 30 секунд после того, как пользователь переключится на другой экран, на котором может работать RDP клиент. Это позволит, например, быстро сделать запись в базе и, переключившись обратно на видеонаблюдение, сразу без задержек видеть все камеры. Возможные значения - от 0 (значение по умолчанию) до 300 (5 минут работы VLC в фоновом режиме). Можно запретить терминалу отключать проигрыватель VLC:
Vlc_timeout = off
Интерфейс VLC
Для тех, кто понимает. Такие строки в конфигурационном файле:
Application = vlc vlc_cmdline = -I qt4
запустят VLC с интерфейсом. Пользоваться им неудобно, зато можно зайти в настройки проигрывателя или посмотреть список установленных плагинов.