All Projects → christopher-dG → go-obs-websocket

christopher-dG / go-obs-websocket

Licence: MIT license
Go client for obs-websocket

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to go-obs-websocket

obs-golang-plugin
OBS Studio Golang Plugin
Stars: ✭ 50 (-41.86%)
Mutual labels:  obs, obs-studio
obs blade
Make use of the OBS WebSocket Plugin (https://github.com/obsproject/obs-websocket) and control your stream
Stars: ✭ 182 (+111.63%)
Mutual labels:  obs, obs-studio
obs-screenshot-plugin
An OBS Studio filter plugin to save screenshots of a source/scene
Stars: ✭ 93 (+8.14%)
Mutual labels:  obs, obs-studio
obs-websocket-js
Consumes https://github.com/obsproject/obs-websocket
Stars: ✭ 521 (+505.81%)
Mutual labels:  obs, obs-studio
character-overlay
Web App for adding an OBS overlay with character information such as name, picture, and health for your favorite role-playing game.
Stars: ✭ 17 (-80.23%)
Mutual labels:  obs, obs-studio
OBS-ChatSpam
Python script for OBS Studio that posts messages in Twitch chat
Stars: ✭ 26 (-69.77%)
Mutual labels:  obs, obs-studio
obs-zoom-and-follow
Dynamic zoom and mouse tracking script for OBS Studio
Stars: ✭ 126 (+46.51%)
Mutual labels:  obs, obs-studio
meme-box
Manage and trigger media in OBS as a browser source
Stars: ✭ 82 (-4.65%)
Mutual labels:  obs, obs-studio
XION-ChaseCam
This is a free-to-use HTML/javascript based overlay for roleplay streamers. Basically it mimics the overlay of the AXON bodycam, but since most folks play in 3rd person, it's a ChaseCam. I've included a logo, and the html file. The html file has the css, html, and javascript all in one file for ease of editing. Goto line 81 of the html file to c…
Stars: ✭ 27 (-68.6%)
Mutual labels:  obs, obs-studio
obs-face-tracker
Face tracking plugin for OBS Studio
Stars: ✭ 185 (+115.12%)
Mutual labels:  obs, obs-studio
obs-studio
This is a community-supported modified build of OBS Studio.
Stars: ✭ 86 (+0%)
Mutual labels:  obs, obs-studio
obs-websocket-java
A java library for obs-websocket
Stars: ✭ 46 (-46.51%)
Mutual labels:  obs, obs-studio
kiwi
Kiwi turns your Pimoroni Keybow into a fully customizable poor-man's Elgato Stream Deck!
Stars: ✭ 40 (-53.49%)
Mutual labels:  obs, obs-studio
CounterStrike-GlobalOffensive-LiveStat-for-OBS-Studio
Showing you LIVEstats of CS:GO in your Stream like OBS-Studio while playing/streaming.
Stars: ✭ 24 (-72.09%)
Mutual labels:  obs, obs-studio
BeatRecorder
Easily record your BeatSaber gameplay!
Stars: ✭ 20 (-76.74%)
Mutual labels:  obs, obs-studio
obs-text-slideshow
OBS plugin inspired by the built in image slideshow, except for text sources instead. Both Free Type 2 and GDI+ are supported.
Stars: ✭ 45 (-47.67%)
Mutual labels:  obs, obs-studio
obs-backgroundremoval
An OBS plugin for removing background in portrait images (video), making it easy to replace the background when screen recording.
Stars: ✭ 1,304 (+1416.28%)
Mutual labels:  obs
twitch-youtube-restream-chat-overlay
Access the YouTube Live chat and route it to your OBS or VMix Browser source.
Stars: ✭ 52 (-39.53%)
Mutual labels:  obs
file-upload
koa2 middleware support upload to cos/oss/obs/aws/local
Stars: ✭ 28 (-67.44%)
Mutual labels:  obs
streamlabs-chat
Free customizable theme, template, custom coded CSS for Twitch, Streamlabs, Streamelemens chat box widget & overlay.
Stars: ✭ 59 (-31.4%)
Mutual labels:  obs

obsws

Build Status GoDoc

obsws provides client functionality for obs-websocket. Currently, the target version is 4.4.

Installation

go get github.com/christopher-dG/go-obs-websocket

Usage

package main

import (
	"log"
	"time"

	"github.com/christopher-dG/go-obs-websocket"
)

func main() {
	// Connect a client.
	c := obsws.Client{Host: "localhost", Port: 4444}
	if err := c.Connect(); err != nil {
		log.Fatal(err)
	}
	defer c.Disconnect()

	// Send and receive a request asynchronously.
	req := obsws.NewGetStreamingStatusRequest()
	if err := req.Send(c); err != nil {
		log.Fatal(err)
	}
	// This will block until the response comes (potentially forever).
	resp, err := req.Receive()
	if err != nil {
		log.Fatal(err)
	}
	log.Println("streaming:", resp.Streaming)

	// Set the amount of time we can wait for a response.
	obsws.SetReceiveTimeout(time.Second * 2)

	// Send and receive a request synchronously.
	req = obsws.NewGetStreamingStatusRequest()
	// Note that we create a new request,
	// because requests have IDs that must be unique.
	// This will block for up to two seconds, since we set a timeout.
	resp, err = req.SendReceive(c)
	if err != nil {
		log.Fatal(err)
	}
	log.Println("streaming:", resp.Streaming)

	// Respond to events by registering handlers.
	c.AddEventHandler("SwitchScenes", func(e obsws.Event) {
		// Make sure to assert the actual event type.
		log.Println("new scene:", e.(obsws.SwitchScenesEvent).SceneName)
	})

	time.Sleep(time.Second * 10)
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].