dvangennip / web_remote_for_obs Goto Github PK
View Code? Open in Web Editor NEWWeb remote UI for controlling OBS Studio via websockets
License: The Unlicense
Web remote UI for controlling OBS Studio via websockets
License: The Unlicense
GetSceneItemProperties
for a range of options to edit)Example: Camera Control Unit elements are not useful to most users. So instead of always showing this, let users enable CCU. When enabled, use a pane below the main UI dedicated to CCU elements.
For other additions, a similar approach may work. Scene switching and audio could be considered examples of such modules. Settings panes are perhaps another, always-there instance as well.
In terms of overall UI, there must be a way to make managing and moving between them easy. Perhaps status bar has to become a fixed bar to the side for quick access. Needs visual mock-ups.
As a solution, push label and value text over the side edges?
use .source-active
css class for one to avoid conflict?
Depends on that functionality becoming available in obs-websocket plugin (planned for v5)
Not updating properly as it's tied to per-scene visibility, and some (audio) elements can go across scenes.
active
state may adjust after visibility changes, so needs to be checked as wellThese classes are very, very similar so should have one parent class, or let two inherit from one to reduce duplication in code.
currently assumes a standard 16/9 aspect ratio in .scene
class
I'm connecting to my OBS instance through an NGINX server and don't see anything in the VU section of the audio devices.
I tried multiple sources on different volumes but it always stays blank.
Not needed by default so best separated.
PTZoptics python examples look really simple:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
s.connect(('192.168.100.81', 1259))
data = bytes.fromhex('8101043F0201FF')
s.send(data)
s.close()
Currently, audio inputs deleted or created in OBS are not handled properly, so UI goes out of sync.
Currently, there is no way to see or adjust transition settings.
Also, implement reasonable defaults on smaller devices:
Currently, no indication is given about connection and authentication success or failure, which makes it hard to troubleshoot for users.
Needs better styling
Check for wakelock
availability in navigator
and also listen for visibilitychange
events to re-request.
Leads to undefined behaviour and very likely wrong outcomes, so obs-websocket recommends halting updates until changeover is complete.
this.is_changing_x
Sliders are blue by default but better to match the overall colour scheme that matches the state of that audio input. Unless we map the colour to the filter enabled state.
Get data from ListOutputs
command.
Typical outputs:
adv_stream
, type: rtmp_output
=> Streaming output (may only be listed when streaming is set up)adv_file_output, type:
ffmpeg_muxer` => Recording output (always available)virtualcam_output
, type: virtualcam_output
=> Virtual cameraNDI Preview Output
, type: ndi_output
=> NDI outputNDI Program Output
, type: ndi_output
=> NDI outputCurrently, failure to start a stream isn't made clear in any way.
It looks like obs-websocket v4.9.1 does not return any info from which errors can be deduced (other than knowing if we're steaming or not), so this one will have to wait until more info is available. v5 will give a outputActive
response on ToggleStream
request.
add vectorscope based on https://github.com/mikkab/vectorscopeJS?
Will go into outputs status pane.
In the webinterface you can only set a max of 0dB gain while in the advanced audio properties it goes way beyond would be great to implement this. Also if a gain is above 0 the sliders actually go out of their box while still showing 0dB as their value.
Currently, there are some elements that are tied to a specific OBS scene setup. This wouldn't transfer to any other scene setup, so it would be good to think of ways to make this more generic.
Current behaviour sets the old Program scene as Preview and desired scene as Program, so the old Preview assignment is lost.
Proposed implementation is to send the SetCurrentScene
request wrapped in a batch:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.