Skip to main content

A zero-latency, AI-powered cloud moderation proxy for live streamers using Vision Agents (Realtime Intelligent Stream Moderator).

Project description

RISM (Realtime Intelligent Stream Moderator)

RISM is a zero-latency, AI-powered cloud moderation proxy designed for live streamers. It intercepts the stream before it reaches the public, utilizing the Vision Agents framework to process audio and video in real-time. It bleeps profanity, blurs NSFW content, and intelligently monitors context, outputting a clean, brand-safe feed to platforms like Twitch or YouTube.

Architecture: Cloud Proxy

RISM uses a 3-Stage "Cloud Proxy" architecture that introduces a strict and unnoticeable 2-second processing buffer:

  1. Ingestion (The Origin): Stream directly to RISM via the WebRTC HTTP Ingestion Protocol (WHIP).
  2. The Moderation Engine (The Proxy): The stream is forked into parallel Video (YOLO11), Audio (STT & 1000Hz Bleep), and Context (Gemini 2.5 Flash) pipelines. The 2-second buffer ensures processing completes and the stream stays perfectly synchronized.
  3. Egress (The Destination): The cleaned tracks are automatically muxed into a standard RTMP feed and pushed to your actual Twitch/YouTube stream key.

Prerequisites

  1. Python 3.10+
  2. OBS Studio (v30+ supporting native WHIP output)
  3. Free GetStream account to host the Vision Agents session

Installation

  1. Install via uv tool or pip:
uv tool install rism

(Alternatively, clone this repo and run uv pip install -e .)

  1. Download your preferred YOLO NSFW detection model (e.g., nsfw_yolo.pt) or use the default yolo11n.pt (automatically downloads).

  2. Create your .env file:

STREAM_API_KEY="..."
STREAM_API_SECRET="..."
GOOGLE_API_KEY="..." # For Gemini 2.5 Flash
DEEPGRAM_API_KEY="..." # For STT Audio Moderation

How to use with OBS Studio

Part 1: Starting the Proxy Services

Start the main moderation engine:

rism run --no-demo

The agent establishes the GetStream Edge connection and waits for the broadcast. It initializes the Video and Audio processors, holding the 2-second synchronicity buffers.

Part 2: OBS Ingestion (WHIP)

Configure OBS to stream to RISM instead of your end destination.

  1. In OBS Studio, go to Settings > Stream.
  2. Service: WHIP
  3. Server: <Your GetStream WHIP Endpoint URL for the active Call>
  4. Click Start Streaming. OBS will ingest directly into the Vision Agent cloud network with near zero latency.

Part 3: RTMP Egress (Broadcasting the Safe Stream)

The agent automatically handles RTMP egress if you have configured the YOUTUBE_STREAM_KEY in your .env file. The output layout is strictly set to single-participant to show only the agent's safe, processed feed.

You are now done! RISM intercepts your raw OBS feed over WHIP, runs the 3 AI pipelines asynchronously over the 2-second jitter buffer, and ships the safe, moderated feed sequentially to Twitch/YouTube!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rism-0.1.0.tar.gz (5.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rism-0.1.0-py3-none-any.whl (4.9 MB view details)

Uploaded Python 3

File details

Details for the file rism-0.1.0.tar.gz.

File metadata

  • Download URL: rism-0.1.0.tar.gz
  • Upload date:
  • Size: 5.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rism-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d85937418534b849e58e2e4ec06a765dd0d26b39bb532621b50030df018fc9f
MD5 0c7df95702aaedba4038f7c6b998e483
BLAKE2b-256 d57f388e22b0c521fe3655bb083bd8bff8a6f49eb7948136ee009039d306c983

See more details on using hashes here.

File details

Details for the file rism-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rism-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rism-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b76bcc899228682bc10f251570a8f9c81e428333075a9168fb66dfc76a10c87
MD5 266a0b186a9d060e89e3c3e75a7074e0
BLAKE2b-256 f0527c6db854f44133e41a4b41254d530315946296a2a68610ea65349619d382

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page