Skip to content

OBS plugin to fetch data from a URL or file, connect to an API or AI service, parse responses and display text, image or audio on scene

License

Notifications You must be signed in to change notification settings

occ-ai/obs-urlsource

Repository files navigation

URL/API Source - OBS Plugin

GitHub GitHub Workflow Status Total downloads GitHub release (latest by date)

Introduction

The URL/API Source is a plugin for OBS Studio that allows users to add a media source that fetches data from a URL or API endpoint and displays it as text. OBS Forums page. Blog post https://www.morethantechnical.com/2023/08/10/url-api-source-obs-plugin/

Usage Tutorial

Watch a short tutorial on how to use and setup the URL/API source on your OBS scene.

Code Walkthrough

Watch an explanation of the major parts of the code and how they work together.

Features:

  • HTTP request types: GET, POST
  • Request headers (for e.g. API Key or Auth token)
  • Request body for POST
  • Output parsing: JSON via JSONPointer, XML/HTML via XPath and Regex
  • Update timer for live streaming data
  • Test of the request to find the right parsing
  • Output styling (font, color, etc.)
  • Image output (via URL)

Coming soon:

  • Authentication (Basic, Digest, OAuth)
  • Websocket support
  • More output parsing options (JSONPath, CSS selectors, etc.)
  • More request types (PUT, DELETE, PATCH)
  • More output formats (XML, HTML, CSV, etc.)
  • More output types (Video, Audio, etc.)
  • Output to OBS sources (Text, Image, etc.)

Check out our other plugins:

  • Background Removal removes background from webcam without a green screen.
  • 🚧 Experimental 🚧 CleanStream for real-time filler word (uh,um) and profanity removal from live audio stream
  • LocalVocal speech AI assistant plugin for real-time transcription (captions), translation and more language functions

If you like this work, which is given to you completely free of charge, please consider supporting it on GitHub: https://github.com/sponsors/royshil

Download

Check out the latest releases for downloads and install instructions.

Building

The plugin was built and tested on Mac OSX (Intel & Apple silicon), Windows and Linux.

Start by cloning this repo to a directory of your choice.

Mac OSX

Using the CI pipeline scripts, locally you would just call the zsh script. By default this builds a universal binary for both Intel and Apple Silicon. To build for a specific architecture please see .github/scripts/.build.zsh for the -arch options.

$ ./.github/scripts/build-macos -c Release

Install

The above script should succeed and the plugin files (e.g. obs-urlsource.plugin) will reside in the ./release/Release folder off of the root. Copy the .plugin file to the OBS directory e.g. ~/Library/Application Support/obs-studio/plugins.

To get .pkg installer file, run for example

$ ./.github/scripts/package-macos -c Release

(Note that maybe the outputs will be in the Release folder and not the install folder like pakage-macos expects, so you will need to rename the folder from build_x86_64/Release to build_x86_64/install)

Linux (Ubuntu)

Use the CI scripts again

$ ./.github/scripts/build-linux.sh

Windows

Use the CI scripts again, for example:

> .github/scripts/Build-Windows.ps1 -Target x64 -CMakeGenerator "Visual Studio 17 2022"

The build should exist in the ./release folder off the root. You can manually install the files in the OBS directory.