private void onRecordingStateChange(ObsWebSocket sender, OutputState newState) { string state = ""; switch (newState) { case OutputState.Starting: state = "Recording starting..."; break; case OutputState.Started: state = "Stop recording"; break; case OutputState.Stopping: state = "Recording stopping..."; break; case OutputState.Stopped: state = "Start recording"; break; default: state = "State unknown"; break; } BeginInvoke((MethodInvoker) delegate { btnToggleRecording.Text = state; }); }
private void onSceneChange(ObsWebSocket sender, string newSceneName) { BeginInvoke((MethodInvoker) delegate { tbCurrentScene.Text = newSceneName; }); }
private void onTransitionDurationChange(ObsWebSocket sender, int newDuration) { BeginInvoke((MethodInvoker) delegate { tbTransitionDuration.Value = newDuration; }); }
private void onTransitionChange(ObsWebSocket sender, string newTransitionName) { BeginInvoke((MethodInvoker) delegate { tbTransition.Text = newTransitionName; }); }
/// <summary> /// Establish a connection to OBS /// </summary> /// <param name="port"></param> /// <returns></returns> public Task Connect() { _OBS = new ObsWebSocket(); _OBS.Connect($"ws://{_IpAddress}", ""); return(Task.CompletedTask); }
private static void OnStreamData(ObsWebSocket sender, StreamStatus data) { App.Current.Dispatcher.Invoke(() => { MainWindow.Form.ObsState_TotalStream.Content = data.TotalStreamTime.ToString() + " sec"; MainWindow.Form.ObsState_FPS.Content = data.FPS.ToString() + " FPS"; MainWindow.Form.ObsState_Strain.Content = (data.Strain * 100).ToString() + " %"; MainWindow.Form.ObsState_DropFrames.Content = data.DroppedFrames.ToString(); MainWindow.Form.ObsState_TotalFrames.Content = data.TotalFrames.ToString(); }); }
private void onStreamData(ObsWebSocket sender, StreamStatus data) { BeginInvoke((MethodInvoker)delegate { txtStreamTime.Text = data.TotalStreamTime.ToString() + " sec"; txtKbitsSec.Text = data.KbitsPerSec.ToString() + " kbit/s"; txtBytesSec.Text = data.BytesPerSec.ToString() + " bytes/s"; txtFramerate.Text = data.FPS.ToString() + " FPS"; txtDroppedFrames.Text = data.DroppedFrames.ToString(); txtTotalFrames.Text = data.TotalFrames.ToString(); }); }
private void onSceneChange(ObsWebSocket sender, string newSceneName) { BeginInvoke((MethodInvoker) delegate { lblCurrentScene.Text = newSceneName; }); if (!mappings.ContainsKey(newSceneName)) { mappings[newSceneName] = 0; } sendShureMessage("< SET LED_COLOR_UNMUTED " + cmboColours.Items[mappings[newSceneName]] + " >"); }
protected virtual void Dispose(bool disposing) { if (!_DisposedValue) { if (disposing) { // TODO: dispose managed state (managed objects) } _OBS.Disconnect(); _OBS = null; _DisposedValue = true; } }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: dispose managed state (managed objects) } obsWebSocket.Disconnect(); obsWebSocket = null; disposedValue = true; } }
private static async Task Main(string[] args) { Settings = SettingLoader.Load(); SetTimer(); ObsWebSocket.Connected += ObsWebSocket_Connected; ObsWebSocket.Disconnected += ObsWebSocket_Disconnected; ObsWebSocket.Connect(Settings.Url, Settings.Password); await ConsoleHost.WaitAsync(); ObsWebSocket.Disconnect();
private void UpdateHeartbeat(ObsWebSocket sender, Heartbeat heartbeat) { DataModel.CurrentProfile = heartbeat.CurrentProfile; DataModel.CurrentScene = heartbeat.CurrentScene; DataModel.Streaming = heartbeat.Streaming; DataModel.TotalStreamTime = heartbeat.TotalStreamTime; DataModel.TotalStreamBytes = heartbeat.TotalStreamBytes; DataModel.TotalStreamFrames = heartbeat.TotalStreamFrames; DataModel.Recording = heartbeat.Recording; DataModel.Paused = heartbeat.Paused; DataModel.TotalRecordTime = heartbeat.TotalRecordTime; DataModel.TotalTecordBytes = heartbeat.TotalTecordBytes; DataModel.TotalRecordFrames = heartbeat.TotalRecordFrames; DataModel.Stats = heartbeat.Stats; }
public ObsManager( ILogger logger, string serverIp, int port, string password = "") { _serverIp = serverIp; _port = port; _password = password; _logger = logger; Obs = new ObsWebSocket() { Timeout = TimeSpan.FromMinutes(1) }; Obs.Disconnected += OnDisconnected; Obs.OBSExit += OnObsExit; }
public override void Enable() { _obs = new ObsWebSocket(); try { _obs.Connect(OBS_URI, OBS_PASSWORD); _obs.Api.SetHeartbeat(true); _obs.Heartbeat += UpdateHeartbeat; DataModel.IsConnected = true; } catch { DataModel.IsConnected = false; //logger } }
public tailobs() { InitializeComponent(); _obs = new ObsWebSocket(); //initialize UrlTextbox.Text = Properties.Settings.Default.obsurl; PasswordTextbox.Text = Properties.Settings.Default.obspassword; ExtensionTimeTextbox.Text = Properties.Settings.Default.RecTime.ToString(); AddExtensionTimeTextbox.Text = Properties.Settings.Default.AddTime.ToString(); RefreshControlsStatus(); ReloadAddTime(); _obs.RecordingStateChanged += onRecordingStateChange; _obs.StreamingStateChanged += onStreamingStateChange; _obs.StreamStatus += onStreamData; }
public MainWindow() { InitializeComponent(); _obs = new ObsWebSocket(); _obs.Connected += onConnect; _obs.Disconnected += onDisconnect; _obs.SceneChanged += onSceneChange; _obs.SceneCollectionChanged += onSceneColChange; _obs.ProfileChanged += onProfileChange; _obs.TransitionChanged += onTransitionChange; _obs.TransitionDurationChanged += onTransitionDurationChange; _obs.StreamingStateChanged += onStreamingStateChange; _obs.RecordingStateChanged += onRecordingStateChange; _obs.StreamStatus += onStreamData; }
static void Main(string[] args) { var _obs = new ObsWebSocket(); _obs.Connect("ws://127.0.0.1:4444", ""); var settings = _obs.Api.GetSourceSettings("PictureOverlay"); var currentDir = Directory.GetCurrentDirectory(); var imagesDir = Path.GetFullPath(Path.Combine(currentDir, @"..\..\..\..\Images")); var imageName = "check"; var filePath = $"{imagesDir}/{imageName}.png".Replace(@"\", @"/"); string json = "{\"file\": \"" + filePath + "\"}"; JObject obj = JObject.Parse(json); _obs.Api.SetSourceSettings("PictureOverlay", new JObject(obj)); Console.ReadLine(); }
//Streaminging method private void onStreamingStateChange(ObsWebSocket sender, OutputState newState) { string state = ""; string btnstate = ""; switch (newState) { case OutputState.Starting: state = "配信開始中..."; btnstate = "開始中..."; break; case OutputState.Started: state = "配信中"; btnstate = "配信停止"; break; case OutputState.Stopping: state = "配信停止中..."; btnstate = "停止中..."; ResetStreamingStateText(); break; case OutputState.Stopped: state = "停止"; btnstate = "配信開始"; break; default: state = "不明"; break; } BeginInvoke((MethodInvoker)delegate { streamingStatus.Text = state; streamingbtn.Text = btnstate; if (state == "不明") streamingbtn.Enabled = false; }); }
private void onStreamingStateChange(ObsWebSocket sender, OutputState newState) { string state = ""; switch (newState) { case OutputState.Starting: state = "Stream starting..."; break; case OutputState.Started: state = "Stop streaming"; BeginInvoke((MethodInvoker) delegate { gbStatus.Enabled = true; }); break; case OutputState.Stopping: state = "Stream stopping..."; break; case OutputState.Stopped: state = "Start streaming"; BeginInvoke((MethodInvoker) delegate { gbStatus.Enabled = false; }); break; default: state = "State unknown"; break; } BeginInvoke((MethodInvoker) delegate { btnToggleStreaming.Text = state; }); }
private void onRecordingStateChange(ObsWebSocket sender, OutputState newState) { string state = ""; switch (newState) { case OutputState.Starting: state = "Recording starting..."; break; case OutputState.Started: state = "Recording Started"; sendShureMessage("< SET LED_BRIGHTNESS 5 >"); BeginInvoke((MethodInvoker) delegate { chkRecording.Checked = true; }); break; case OutputState.Stopping: state = "Recording stopping..."; break; case OutputState.Stopped: state = "Recording Stopped"; sendShureMessage("< SET LED_BRIGHTNESS 0 >"); BeginInvoke((MethodInvoker) delegate { chkRecording.Checked = false; }); break; default: state = "State unknown"; break; } Console.WriteLine(state); }
public static void Close() { if (_obs == null || !_running) { return; } try { _thread?.Abort(); } catch { } _thread = null; try { _obs?.Disconnect(); } catch { } _obs = null; _running = false; }
public static void Open() { if (_obs != null || _running) { return; } _running = true; _obs = new ObsWebSocket(); _obs.StreamStatus += OnStreamData; try { _connecting = true; _tip = false; MainWindow.Form.AddInfo("尝试连接OBS中..."); _ctip = true; _obs.Connect(connectTo, connectPassword); _thread = new Thread(CheckConnection); _thread.Start(); } catch (AuthFailureException) { MainWindow.Form.AddInfo(InfoType.ERROR, "身份验证失败,请确认OBS Studio的WebSocket设置密码为空"); } catch (ErrorResponseException ex) { MainWindow.Form.AddInfo(InfoType.ERROR, "尝试连接OBS时发生错误: " + ex.Message); } finally { _connecting = false; } }
public OBSConnection() { var obs = new ObsWebSocket(); var obsApi = new ObsWebSocketApi(obs); // TODO }
/// <summary> /// Constructor /// </summary> /// <param name="settings">Settings to connect</param> public ObsWebSocketClient() { this.obsWebSocket = new ObsWebSocket(); // Always not null }
//Recording method private void onRecordingStateChange(ObsWebSocket sender, OutputState newState) { try { var state = ""; var btnstate = ""; switch (newState) { case OutputState.Starting: state = "録画開始中..."; btnstate = "開始中..."; break; case OutputState.Started: state = "録画中"; btnstate = "録画停止"; //Start Timer BeginInvoke((MethodInvoker)delegate { //LeftStoppingTimeSec = 5; LimitTimer.Start(); IsRecording = true; }); break; case OutputState.Stopping: state = "録画停止中..."; btnstate = "停止中..."; break; case OutputState.Stopped: state = "停止"; btnstate = "録画開始"; //Reset AddTme BeginInvoke((MethodInvoker)delegate { LimitTimer.Stop(); ReloadAddTime(); IsRecording = false; }); break; default: state = "不明"; //Reset AddTme BeginInvoke((MethodInvoker)delegate { LimitTimer.Stop(); ReloadAddTime(); }); break; } BeginInvoke((MethodInvoker)delegate { RecordingStatus.Text = state; recordbtn.Text = btnstate; if (state == "不明") recordbtn.Enabled = false; }); } catch { } }
public Task Connect() { _OBS = new ObsWebSocket(); _OBS.Connect($"ws://127.0.0.1:4444", ""); return(Task.CompletedTask); }
private void OnSceneChanged(ObsWebSocket sender, string newSceneName) { throw new NotImplementedException(); }