Streaming Remote обеспечивает безопасное удаленное управление OBS Studio или XSplit через TCP-сокеты или WebSockets.
Также предоставляются плагин StreamDeck и базовый веб-интерфейс.
Загрузите файлы из последней версии; большинству пользователей не нужны отладочные загрузки.
Инструкции см. на INSTALL.md.
Веб-интерфейс протестирован в Chrome и Safari; известно, что он не работает на Edge.
Если локальное хранилище доступно, веб-интерфейс сохранит настройки подключения; локальное хранилище недоступно при открытии файла index.html непосредственно в Safari, но оно работает в Chrome.
получить список выходов и состояний
начать вывод (поток или запись)
остановить вывод
push-уведомления об изменениях состояния вывода
независимость от программного обеспечения: при использовании OBS и XSplit нет различий в протоколах или клиентах.
современная безопасность (аутентификация и шифрование) через libsodium
Мы рассчитываем расширить возможности в будущем.
CMake
Qt5 веб-интерфейс или плагин XSplit
OBS Studio — построено из исходного кода — при создании плагина OBS.
Visual Studio 2019 или более поздняя версия XCode.
streaming-remote$ mkdir build streaming-remote$ cd build build$ cmake .. -DWITH_XSPLIT=ON -DWITH_OBS_ON -DOBS_SOURCE_DIR=/path/to/obs-studio -DOBS_BUILD_DIR=/path/to/obs-studio/build build$ cmake --build . --parallel
Плагин XSplit можно построить на всех платформах, хотя сам XSplit доступен только в Windows. Это полезно при работе над изменениями, влияющими на класс StreamingSoftware
на компьютере, отличном от Windows.
машинопись
пряжа (предпочтительно) или npm
в js-client-lib
запустите yarn install && tsc
в xsplit-js-plugin
, streamdeck-plugin
и webui
запустите: yarn install && yarn run webpack --mode production
Существует два протокола обмена сообщениями:
двоичный протокол рукопожатия, обеспечивающий аутентификацию и шифрование инициализации
зашифрованный протокол RPC на основе JSON-RPC
Для WebSockets используются стандартные функции двоичных сообщений.
Для сокетов TCP, сокетов Unix (MacOS, Linux) и именованных каналов (Windows) отправляется заголовок ASCII Content-Length:
содержащий количество байтов, затем CRLF CRLF, а затем большой двоичный объект. Следующий заголовок Content-Length следует сразу за большим двоичным объектом.
"Content-Length: 7rn" "rn "hello, Content-Length: 6rn" "rn" "world."
Этот репозиторий в основном лицензируется по лицензии MIT, хотя некоторые части плагина OBS лицензируются по Стандартной общественной лицензии GNU версии 2, как и двоичные файлы плагина OBS.
Подробности см. в [ЛИЦЕНЗИИ](файл ЛИЦЕНЗИИ) и отдельных исходных файлах.