Потребовалось настроить вещание на YouTube и ВК с четырех камер (на самом деле их пять, но комп не тянет).
Выбор пал на бесплатную OBS studio. Про настройки этой программы много всего в интернете, по этому разберем только частности (Умное переключение сцен, удаленное управление, управление скриптами, вещание на разные платформы, управление из программы Djin). Мы будем использовать в OBS studio режим «Режим студии». Если потребуются плагины ищем тут.
Переключение сцен
- Переключение сцен осуществляется в определенном порядке
- Время между переключениями разное и настраивается
- Требуется простое удаленное управление с возможность остановить карусель сцен на конкретной сцене, а затем продолжить
Решение:
Для настройки переключения сцен, будем использовать плагин OBS studio Advanced Scene Switcher github
После того как мы настроили сцены переходим в меню OBS studio
Инструменты -> Advanced Scene Switcher
Настройка плеера вещания DJin Lite (Джинн Лайт)
Затем вкладка Scene Sequence тут настраиваем очередность автоматического переключения сцен и время переключений.
Для того что бы делать паузы на определенных сценах, мы делаем копии этих сцен и добавляем в название например «Стат», то есть было «Диван» а копию называем «ДиванСтат». Затем переходим во вкладку pause и добавляем сцены на которых автоматическая ротация сцен остановится до тех пор пока не выберут сцену из списка во вкладке Scene Sequence.
Удаленное управление рассмотрим в следующем пункте.
Удаленное управление. Автоматическое управление OBS studio
- Запуск/остановка вещания/записи по времени
- Запуск/остановка вещания/записи от программы Djin
- Простое управление переключением камер ведущими
Решение:
Для удаленного и локального управление OBS studio будем использовать плагины
- Серверная часть obs-websocketgithub
- Клиентская часть Command line tool for obs-websocket plugin (Windows)
- Клиентская часть для управления переключениями сцен через браузер заходим на страницу. Проект находится тут obs-tablet-remote
После того как мы подключили и настроили плагин obs-websocket мы можем управлять как удаленно так и локально через плагин «Command line tool for obs-websocket plugin» из консоли.
Например запускать видео поток можно bat скриптом:
Остальное в документации.
Единственное уточнение по поводу /command
Например можно сделать скриншот:
/command=TakeSourceScreenshot,sourceName=СценаДиван,PictureFormat=png,saveToFilePath=D:%DATE_TIME%.png
Или переключить коллекцию сцен:
/command=SetCurrentSceneCollection,sc-name=КоллСценГлавная
То есть в начале ставим класс команды (например SetCurrentSceneCollection), а потом саму команду (в нашем случае sc-name)
Так же мы можем управлять с любого браузера (в локальной сети, если конечно комп с OBS studio не имеет белый IP, тогда с с любого браузера) со страницы http://t2t2.github.io/obs-tablet-remote/ (Там скрипт клиент, который сразу работает, в общем там все просто и легко разобратся)
Djin Lite Обзор 1 часть. Программа автоматизации радиовещания.
Профили
- Вещание в должно запускаться автоматически
- В 7:05, 11:05 (Пн,Ср,Чт,Пт), 19:00 вещание должно осуществляться только на YouTube
- В 8:05, 11:05 (Вт) вещание должно осуществляться одновременно на YouTube и на ВК
Решение:
Создаем профили (в меню папка профиль) отличающиеся только сервером вещания (и соответственно ключом).
Файл -> Настройки -> Вещание
Для профиля который будет вещать на YouTube и ВК воспользуемся «бесплатным» сервисом https://restream.io/
Профиль для вещания только на YouTube назовем Youtube, а профиль для вещания на YouTube и ВК назовем VK_YouTube.
Так как вещание управляется максимально в автоматическом режиме воспользуемся «Планировщиком заданий» windows.
И так в В 7:05, 11:05 (Пн,Ср,Чт,Пт), 19:00 запускаем через планировщик заданий:
C:OBSscriptsOBSCommandOBSCommand.exe /server=127.0.0.1:4444 /password=НАШСУПЕРПАРОЛЬ /profile=YouTube /startstream
C:OBSscriptsOBSCommandOBSCommand.exe /server=127.0.0.1:4444 /password=НАШСУПЕРПАРОЛЬ /profile=VK_YouTube /startstream
Теперь требуется добавить еще завершение вещания в конце часа:
C:OBSscriptsOBSCommandOBSCommand.exe /server=127.0.0.1:4444 /password=НАШСУПЕРПАРОЛЬ /stopstream
Решение проблемы с сохранением настроек у камер Ligitech
Для проекта были закуплены usb Web-камеры Logitech Webcamera C930e (Я бы купил ip-камеры, но не суть). Эти камеры на отрез не хотели сохранять настройки, например баланс белого и автофокус всегда были в режиме авто при перезагрузке ПК, а выдержка же слетала при перезапуске OBS studio.
Задача:
- Сохранение настроек камеры после перезагрузке ПК и перезапуске OBS studio
Решение:
Различные решения предложенные на форумах Logitech у кого то работали у кого то нет, у меня не работали. И вообще многие писали как техподдержка и в мягкой форме «посылала», в общем идея переписываться с тех поддержкой тоже отпала.
В итоге На форуме OBS studio нашел утилиту WebCameraConfig, которая сохраняет настройки всех usb камер ( WebCameraConfig.exe —savedev ) в файл в папке из которой запустили утилиту и при последующем вызове восстанавливает настройки. Поддерживает профили.
Распаковываем в папку C:OBSscriptsWebCameraConfig
WebCameraConfig.exe —help CamCfg.Date.2017.version.1.0 To save and apply DirectShow webcam settings Usage: WebCameraConfig.exe [options] Options: —readdev : Read and print all devices short info. —savedev : Save devices current settings into .cfg file. —profile [string] : Uses string as filename to save/load settings. —ignorefn : Ignore FriendlyName when looking for diveces. —help : Display this help info. Without [options], it reads existing cam_sett.cfg file and applies settings to all available devices. It doesn’t build new graph, only uses existing one.
Настраиваем камеры, затем сохраняем настройки:
cd C:OBSscriptsWebCameraConfig C:OBSscriptsWebCameraConfigWebCameraConfig.exe —savedev
В папке C:OBSscriptsWebCameraConfig появится файл cam_sett.cfg значит все в порядке.
Так как OBS studio при запуске меняет выдержку то пришлось написать скрипт запуска:
И на всякий случай для ручного быстрого восстановления настроек камер (например при смене коллекции сцен, тоже слетает настройки выдержки) скрипт который восстанавливает настройки камер при его запуске:
Немного оффтоп, но в Win7 на панель задач никак не хотел вставать ярлык скрипта. Пришлось винду обмануть, переименовываем .bat в .exe кидаем ярлык на панель, затем редактируем ярлык в c:Users\AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar и возвращаем разрешение скрипту.
Запуск/остановка вещания/записи от программы Djin
Возможно это мало кому пригодится, но все таки.
Создаем два джингла «StartVideoOBS»и «StopVideoOBS». Первый джингл будет запускать, второй останавливать запись (Для вещания аналогично, команды OBSCommand.exe выше)
Аналогично описанному выше в папке C:OBSscripts ПК с установленным Djin находятся файлы плагина Command line tool for obs-websocket plugin (Windows) и скрипты.
Скрипт запуск видеозаписи C:OBSscriptsStartVideoRecDjin.bat
chcp 1251 — устанавливаем кодировку
Следующие две строки:
set DATE_TIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2% set DATE_TIME=%DATE_TIME: =0%
Создает переменную DATE_TIME с текущей датой и временем вида 2019-08-22_14-20-11 (год-месяц-день_час-минута-секунда)
/server=10.0.0.140:4444 — ip адрес ПК с OBS studio
/startrecording — запустить запись
/command=TakeSourceScreenshot,sourceName=Общий,PictureFormat=png,saveToFilePath=D:VIDEO%DATE_TIME%.png создать скриншот сцены с названием «Общий» для загрузки на Youtube
Скрипт остановки видеозаписи C:OBSscriptsStopVideoRecDjin.bat
И скрипт парсинга C:OBSscriptsParserXMLDjin.bat, который запускается каждый раз когда меняется файл XML файла Djin (требуется настроить, об этом ниже) и если проигрываются ролики StartVideoOBS или StartVideoOBS запускает скрипты остановки или старта записи.
Для начала рассмотрим пример XML файла создаваемого Djin-ом:
16:38:26 2019-07-03 Д StartVideoOBS 23697 \nvbdfstractrootSNDStartVideoOBS.wav.mp2 00:00:04 0 Д StopVideoOBS 23698 \nvbdfstractrootSNDStopVideoOBS.wav.mp2 00:00:03 0
Как видно, в плеере 1 в аппаратной АРВ01 загружено два ролика: StartVideoOBS и StopVideoOBS, причем StartVideoOBS играет, это нам и требуется. (в целом играть могут несколько роликов из разных плееров одновременно)
Это оболочка bat-файла служит для запуска скрипта PowerShell внутри себя(Djin не захотел запускать скрипт на PowerShell):
Для PowerShell «;» знак комментария, а интерпретатор bat его игнорирует и выполняет команды.
Теперь разберем часть PowerShell: Создаем объект $cp с xml структурой загруженной из файла
[xml]$cp = Get-Content «C:Program Files (x86)Digispot IIDJincur_playing.xml»
Следующие две строки непосредственно парсят его и в зависимости от названия проигрываемого элемента запускает или нет различные bat файлы
$cp.ELEM_LIST.ELEM | Where-Object | % | %> $cp.ELEM_LIST.ELEM | Where-Object | % | %>
разберем и их. Здесь используется конвейерная обработка. В начале выводим содержимое всех элементов ELEM
$cp.ELEM_LIST.ELEM
затем выберем только те из них у которых STATUS имеет значение playing
| Where-Object
Теперь, из того что осталось, возьмем только содержимое блоков NAME
и в следующих двух строчках проверяем не соответствует ли оно значению StartVideoOBS и StopVideoOBS соответственно и если находим соответствие выполняем скрипты действия
Внимание, требуется разрешить запуск скриптов PowerShell. Из под админа в консоли PowerShell выполнить:
Set-ExecutionPolicy RemoteSigned
Настройка Djin
Требуется настроить создание файла XML и запуска скрипта C:OBSscriptsParserXMLDjin.bat.
Сервис -> Настройки -> Доп. -> XML -> Воспроизводимые в данный момент элементы
Заполняем:
Производить запись XML файл Да
Имя XML файла C:Program Files (x86)Digispot IIDJincur_playing.xml
Запускать приложение при изменении файла C:OBSscriptsParserXMLDjin.bat
P.S. Бывает, что камера становится черной (то есть полностью перестает работать). Лечится это тем, что разрешение камеры меняется на минимальное, после того как картинка появится, возвращаем разрешение в исходное состояние. Это работает даже в случае если в данный момент осуществляется запись или вещание.
This entry was posted on Вторник, 27 августа, 2019 at 12:59 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.
Источник: i-rrv.ru
DJIN
Джин поможет жильцам и владельцам квартир управлять домом в своем смартфоне. А именно:
— Эффективно общаться с правлением ОСМД и соседями;
— Принимать важные решения с помощью инструмента онлайн голосований и опросов;
— Получать важные информационные сообщения от администрации ОСМД;
— иметь удобный доступ ко всем документам ОСМД;
— Подавать заявки на ремонтные работы и отслеживать статус их выполнения;
— Удобный доступ к контактной информации ОСМД и всем службам;
— Инструмент поиска заведений питания и сервисов вблизи дома;
– И многое другое!
Приложение не стоит в городе, постоянно расширяет функционал и добавляет новые инструменты. Следите за обновлениями!
Источник: play.google.com
Djin.tv супер приложение в Media Station X
Russian
- Albanian
- Amharic
- Arabic
- Brazilian
- Bulgarian
- Croatian
- Danish
- Deutsch
- English
- Farsi
- Français
- Georgian
- Greek
- Hebrew
- Italian
- Lithuanian
- Nederlands
- Polish
- Portuguese
- Română
- Serbian
- Slovak
- Spanish
- Swedish
- Türkçe
- Thai
Источник: best-coding.ru