URL/API Source: Live Data, Media and AI on OBS Made Simple

URL/API Source: Live Data, Media and AI on OBS Made Simple v0.3.7

Supported Bit Versions
  1. 64-bit
Source Code URL
https://github.com/occ-ai/obs-urlsource
Minimum OBS Studio Version
29.0.0
Supported Platforms
  1. Windows
  2. Mac OS X
  3. Linux
The URL/API Source plugin adds a video source that fetches data from a URL / API endpoint or a local file and displays it as formatted text (HTML, CSS), Image and even Audio. You can build dynamic requests, including sending an image, parse output as JSON, XML, HTML and also plain text response body with a Regex to get just the information you need. Set up a timer to keep refreshing the data to get that live feed effect.

If this plugin has been valuable to you consider adding a ⭐ to the GH repo, rating it here on OBS, subscribing to my YouTube channel, and supporting my work: GitHub, Patreon or OpenCollective . Check out the Home for Open Source Content Creator AI: https://github.com/locaal-ai Join us on Discord !


IMG_9143725D00B6-1.jpegIMG_81FC50C32C1E-1.jpegIMG_3D4C2FFC9E40-1.jpeg
(YouTube Tutorial) (New Features Tutorial) (HTML Scraping tutorial)

Additional things to do with URL/API source to upgrade your content:

Inspiration​

Out of ideas on what to do with URL/API Source? Here's a repo with 1,000s of public APIs https://github.com/public-apis/public-apis

Features:
  • HTTP request types: GET, POST
  • Request headers (for e.g. API Key or Auth token)
  • Request body for POST
  • Dynamic input from a Text or Image source (base64)
  • Output parsing: JSON via JSONPointer & JSONPath, XML/HTML via XPath & XQuery, Regex and CSS selectors
  • Update timer for live updating data
  • Test of the request to find the right parsing
  • Output styling (font, color, etc.) and formatting (via regex post processing)
  • Output Image (via image URL or image data on the response)
  • Output text to external Text Source
  • Output audio to external Media Source
  • Output to multiple sources with one request (Output Mapping)
  • Output to source settings for usage in automations (adv-SS, websocket, etc.)
  • Multi-value (array, union) parsed output capture, object unpacking (via Inja)
  • Dynamic input aggregations (time-based, "empty"-based)
  • Websocket support
Coming soon:
  • Authentication (Basic, Digest, OAuth)
  • More parsing options (CSV, etc.)
  • More request types (HTTP PUT / DELETE / PATCH, and GraphQL)
  • More output formats (Markdown, slim, reStructured, HAML, etc.)
  • Video output
HTML Subset

The internal template renderer supports HTML4 and CSS with a reduced subset of features (https://doc.qt.io/qt-6/richtext-html-subset.html). It is quite powerful and can render tables and apply various styling to the text.
Image render is supported with the `<img />` tag, and external URLs are supported as well. For example, `<img src="{{output}}" />` could be used to dynamically render an image URL coming from the response.

Walkthrough
of the plugin code with highlights of its internal workings:
IMG_711128732FD1-1.jpeg
(YouTube Code Walkthrough)
  • WhatsApp Image 2023-11-17 at 13.37.53_5b39d038.jpg
    WhatsApp Image 2023-11-17 at 13.37.53_5b39d038.jpg
    128.5 KB · Views: 4,194
  • 1700246865986.png
    1700246865986.png
    105.9 KB · Views: 1,748
  • WhatsApp Image 2023-11-21 at 11.09.41 AM.jpeg
    WhatsApp Image 2023-11-21 at 11.09.41 AM.jpeg
    135.3 KB · Views: 1,083
  • WhatsApp Image 2023-11-23 at 09.21.18_ebf2adae.jpg
    WhatsApp Image 2023-11-23 at 09.21.18_ebf2adae.jpg
    140.4 KB · Views: 919
  • 1701275754445.png
    1701275754445.png
    22.7 KB · Views: 14,449
Author
royshilkrot
Downloads
13,750
Views
47,764
First release
Last update
Rating
5.00 star(s) 6 ratings

More resources from royshilkrot

Latest updates

  1. v0.3.7 - fix mem leak in HTML parser

    Fix major memory leak in HTML parser, and improve XML, JSON, regex parsers a bit. Download...
  2. v0.3.6 - Websockets! Improvements and bugfixes

    In this release Initial support for Websockets! XML parsing exception handling Some UI...
  3. v0.3.5 - Critical bug fix

    Fixing the critical input bug with OBS v30.2+ Fix small UI bug Download...

Latest reviews

Amazing resource that has helped transform our broadcast package.

I've used the plugin for well over half a year and in that time development has made it easier to use as well as lessen the load on APIs being used.

Also recently after needing a bit of support with a feature added in a recent update, I joined the discord and they were friendly and helpful!

Fantastic job, keep up the great work!
Congratulations on the fantastic work. I tested the plugin on Windows and it works perfectly. However, for application I use Ubuntu 22.04 (XFCE) on VPS at Vultr. I've tried several times to install the plugin but I can't. During installation via terminal, error messages do not appear, but the plugin does not appear in Note. Could someone check and help me resolve it? Thanks.
Great method to create sports overlays. No fancy animations but easily grab API data!
Works great! Just what I needed for our Rumble channel implementation! Thank you @royshilkrot!
Very useful plugin for those familiar with web requests, with a good roadmap also, looking forward for more request type coverage.
Top