Skip to content

kaito-tokyo/obs-plugintemplate-ai-vision

Β 
Β 

Repository files navigation

πŸ€– OBS AI Vision Plugin Template

Supercharge Your Streaming with Artificial Intelligence

Build Status License OBS Studio C++

A cutting-edge template for building AI-powered vision plugins for OBS Studio

Features β€’ Quick Start β€’ Documentation β€’ Contributing


Note

This is an unofficial template based on the official OBS Plugin Template. It has been customized for AI and computer vision plugin development but is not maintained or endorsed by the OBS Project.

🌟 Overview

Welcome to the OBS AI Vision Plugin Template β€” your launchpad for creating next-generation streaming plugins powered by artificial intelligence! This template provides a robust foundation for developing computer vision and AI-enhanced features for OBS Studio, the world's leading open-source streaming and recording software.

🎯 What Makes This Special?

This isn't just another plugin template. It's a production-ready starting point designed specifically for AI and vision-based applications:

  • 🧠 AI-Ready Architecture: Pre-configured structure optimized for integrating machine learning models
  • πŸ‘οΈ Vision Processing: Built with computer vision workflows in mind
  • πŸš€ Modern C++17: Clean, maintainable code following industry best practices
  • πŸ”§ Cross-Platform: Seamless development on Windows, macOS, and Linux
  • ⚑ CMake Presets: Simplified build process with zero configuration headaches
  • πŸ€– CI/CD Pipeline: Automated builds and releases via GitHub Actions

✨ Features

πŸ› οΈ Development Ready

  • Complete boilerplate source code
  • CMake project configuration
  • Modern C++17 standards
  • Cross-platform compatibility
  • Professional code structure

πŸ”„ Automation First

  • GitHub Actions workflows
  • Automated testing & builds
  • Continuous deployment
  • Release management
  • Code signing support

🎨 Integration Friendly

  • OBS Studio API integration
  • Qt6 GUI framework
  • Plugin lifecycle management
  • Locale support
  • Resource management

πŸ“¦ Distribution Ready

  • Packaging automation
  • Multi-platform artifacts
  • Version management
  • Dependency handling
  • Professional releases

πŸš€ Quick Start

Get up and running in minutes with our streamlined build process powered by CMake Presets.

πŸ“‹ Prerequisites

Ensure you have the following tools installed:

Tool Version Purpose
CMake 3.28+ Build system generator
C++ Compiler VS2022/Xcode16/GCC Code compilation
Git Latest Version control

πŸ’» Supported Platforms

πŸ–₯️ Platform πŸ”§ Environment βœ… Status
Windows Visual Studio 17 2022 βœ… Fully Supported
macOS Xcode 16 βœ… Fully Supported
Ubuntu Ubuntu 24.04 βœ… Fully Supported

πŸ”§ Build Instructions

πŸͺŸ Windows (PowerShell)

Step 1: Install Dependencies

cmake -P scripts/download-deps.cmake

Step 2: Configure & Build

# Configure the project
cmake --preset windows-x64

# Build the plugin
cmake --build --preset windows-x64

# Install to local release folder
cmake --install build_x64 --prefix release

Step 3: Deploy

Copy the contents of the release directory to your OBS Studio installation:

C:\Program Files\obs-studio
🍎 macOS (Terminal)

Step 1: Install Dependencies

cmake -P scripts/download-deps.cmake

Step 2: Configure & Build

# Configure the project
cmake --preset macos

# Build the plugin
cmake --build --preset macos

# Install directly to OBS plugins folder
cmake --install build_macos --prefix "$HOME/Library/Application Support/obs-studio/plugins"

✨ The plugin will be immediately available in OBS Studio!

🐧 Ubuntu (Bash)

Step 1: Install Dependencies

# Add OBS Studio PPA
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-get update

# Install required packages
sudo apt-get install \
  cmake \
  libgles2-mesa-dev \
  libqt6svg6-dev \
  libsimde-dev \
  ninja-build \
  obs-studio \
  pkg-config \
  qt6-base-dev \
  qt6-base-private-dev

Step 2: Configure & Build

# Configure the project
cmake --preset ubuntu-x86_64

# Build the plugin
cmake --build --preset ubuntu-x86_64

# Install system-wide
sudo cmake --install build_x86_64 --prefix /usr

πŸ—οΈ Architecture

obs-plugintemplate-ai-vision/
β”œβ”€β”€ πŸ“ src/                  # Plugin source code
β”œβ”€β”€ πŸ“ data/                 # Resources & localization
β”œβ”€β”€ πŸ“ cmake/                # Build configuration
β”œβ”€β”€ πŸ“ scripts/              # Helper scripts
β”œβ”€β”€ πŸ“ .github/              # CI/CD workflows
└── πŸ“„ CMakeLists.txt        # Main build file

🎨 Use Cases

This template is perfect for creating:

  • 🎭 Face & Object Detection: Real-time recognition in streams
  • πŸ–ΌοΈ Scene Analysis: Intelligent scene switching and composition
  • 🎯 Motion Tracking: Follow subjects automatically
  • 🌈 Style Transfer: Apply AI-powered filters and effects
  • πŸ“Š Analytics: Gather insights from video content
  • πŸ” Background Removal: AI-powered chroma-free keying
  • πŸ‘₯ Multi-Person Tracking: Follow multiple subjects
  • 🎨 Content-Aware Effects: Smart filters that understand your scene

πŸ“¦ Packaging & Release

Automated Workflow

The template includes a complete CI/CD pipeline powered by GitHub Actions:

Trigger Action Output
πŸ”„ Push to main/master Build & Test Validation
πŸ“₯ Pull Request Build & Test CI Checks
🏷️ Tag Push (e.g., v1.0.0) Build, Sign & Package Draft Release

Release Process

  1. Create a tag: git tag v1.0.0 && git push origin v1.0.0
  2. Automated build: GitHub Actions compiles for all platforms
  3. Code signing: Artifacts are signed (macOS/Windows)
  4. Draft release: Binaries are attached and ready for publishing

🍎 macOS Code Signing

For distribution on macOS, you'll need to configure code signing and notarization.

πŸ“š Detailed instructions: Codesigning on macOS

πŸ“š Documentation

Expand your knowledge with our comprehensive documentation:

Resource Description
πŸš€ Getting Started Begin your plugin development journey
πŸ”§ Build Requirements System prerequisites and setup
βš™οΈ CMake Options Advanced build configuration
πŸ“– OBS Plugin API Official OBS Studio documentation

🀝 Contributing

We welcome contributions! Whether you're fixing bugs, improving documentation, or proposing new features:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing-feature)
  5. πŸŽ‰ Open a Pull Request

πŸ“„ License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

🌐 Community & Support

πŸ™ Acknowledgments

Built with ❀️ using:


⭐ Star this repository if you find it helpful!

Made with πŸ€– for the AI-powered streaming future

Report Bug Β· Request Feature Β· Documentation

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Languages

  • CMake 68.1%
  • Shell 19.4%
  • PowerShell 10.4%
  • C++ 1.2%
  • C 0.9%