reelmimic
좋아하는 영상을 보여주면 같은 스타일의 새 영상을 AI 팀이 함께 기획·제작·검토해 줍니다
VDO.Ninja is a powerful tool that lets you bring remote video feeds into OBS or other studio software via WebRTC.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗VDO.Ninja brings peer-to-peer video to OBS and other studio software, for remote cameras and guests:
Open VDO.Ninja in your browser and select Add your Camera to OBS.
Steve maintains these apps and services for VDO.Ninja and live production. The helper-app catalog has setup guides and more tools.
| Project | What it adds |
|---|---|
| Game Capture | Windows app that publishes games, app windows and Spout2 sources, with hardware encoding and window audio. |
| Ninja OBS Plugin | Publish from OBS, receive streams, and add room participants as OBS sources. OBS 32 on Windows, macOS and Linux; the native receiver and transparent Game Capture workflow are experimental. |
| Custom OBS builds with improved WHIP support | OBS fork with WHIP trickle ICE and better TURN connectivity. Builds of OBS 32.2.2 and OBS 33 beta for Windows, macOS and Linux; check each release's limitations. |
| Electron Capture | Desktop app for frameless playback and window capture of VDO.Ninja feeds and other web pages, as an alternative to an OBS Browser Source. |
| VDO.Ninja Video Capture Extension | Publish web videos, or a browser tab with audio. Needs Chrome or Chromium 116+; DRM-protected video cannot be captured. |
| Ninja VST3 Plugin | Send and receive VDO.Ninja audio in a DAW. Audio only; Windows-only and tested with Reaper. |
| Raspberry.Ninja | Publish or receive without a browser, using Python and GStreamer on Raspberry Pi, Linux, Jetson, macOS or WSL. Hardware encoding, WHIP output and computer-vision workflows. |
| Project | What it adds |
|---|---|
| Meshcast / Meshcast app | Server-assisted distribution for larger rooms and one-to-many streams, so the publisher uploads less. The newer app supports WHIP, RTMP and SRT; RTMP and SRT need an account. |
| Comms | Browser-based intercom and talkback with separate audio groups for hosts, crew and backstage. |
| app.invite.cam | Managed lobby with reusable invitations, waiting lists and host controls for admitting guests. Hosts sign in with Discord. |
| Social Stream Ninja | Combine live chat from YouTube, Twitch and more into OBS or vMix overlays, with featured comments, text-to-speech and bots. |
| Caption.Ninja | Live captions and translation overlays for OBS and vMix. Caption Local runs speech recognition on your own computer. |
| Ninja Backer | Creator tipping pages and OBS alerts, linked to VDO.Ninja's built-in tipping options. |
| Project | What it adds |
|---|---|
| VDO.Ninja Stream Deck Plugin | Control mics, cameras, guests, scenes, mixer layouts and PTZ from Stream Deck keys and dials. Beta; not yet in the marketplace. |
| Companion-Ninja | Remote-control tools and HTTP/WebSocket API examples, including Bitfocus Companion workflows. |
| Screen Recorder | Record tutorials in a desktop browser with screen, webcam, microphone and supported system audio, saved locally. |
| Icecast / AzuraCast helper | Publish local audio, or a received VDO.Ninja stream, to an Icecast-compatible radio server. |
| Teleprompter Tool | Flip, mirror or rotate websites, chat overlays and VDO.Ninja feeds for teleprompter displays. |
The VDO.Ninja web frontend and sample apps that use its IFRAME API. Production backends and operational scripts live in separate repositories. User documentation is at docs.vdo.ninja.
To host the frontend, serve this repository from an HTTPS-enabled static web server. There is no build step.
| What you want to host | Guide | What it provides |
|---|---|---|
| The website on your own web server or GitHub Pages | install.md | Static website files. Public VDO.Ninja connection services stay enabled by default. |
| The website with Docker on a VPS, home server or Raspberry Pi | docker-vdon | An HTTPS website container. Public connection services stay enabled by default. |
| A local setup that works without internet | offline_deployment | The website, a local secure handshake server and certificate instructions. Docker is optional. |
For a local preview, run this from the repository root and open http://localhost:8080/:
python -m http.server 8080 --bind 127.0.0.1
This server does not map addresses without .html, so open other pages with the extension (for example /mixer.html). Other devices need HTTPS. The preview serves only the frontend; rooms still use the configured signaling and relay services.
Before you open a pull request, run the translation checks (they need Node.js), then test the flows you changed in a browser:
node .github/ci-validateTranslations.js
node .github/ci-checkTranslationKeys.js
develop branch: the preview version, for code contributions. It may be less tested or have unfinished features. It is close to https://vdo.ninja/alpha/ and is hosted at https://steveseguin.github.io/vdo.ninja/.The browser uses a signaling server to set up rooms and peer connections. STUN helps peers find their network addresses, and TURN relays traffic when a direct connection fails. Hosting the frontend does not deploy these, or the authentication and call-in backends.
&wss2= for its advanced routing server (vdoninja_advanced.js) and &wss= for the older fanout servers, on both publisher and viewer links.turnserver_basic.conf and .sample files are self-hosting examples that the website does not run. Replace their placeholders before use.vdo-callin-alpha.vdo.workers.dev), and &callinapi= (alias &twilioapi=) sets your own.Phones and other remote clients need HTTPS even on a private LAN. With a private certificate authority, trust its root certificate on each client device; see the certificate guide for browsers, OBS and native apps.
Self-hosting the frontend does not by itself make a deployment independent of hosted services, so review the endpoints your features use. LICENCE.md explains the difference between the software license and access to hosted services.
VDO.Ninja sends audio and video directly between devices using WebRTC. The website only delivers the app, and the signaling (handshake) server only helps devices find each other and exchange connection details; neither carries the live stream. Devices on the same local network usually keep the stream on that network, but loading the page and the handshake still need internet unless you run the offline deployment.
When a direct route is not possible, a TURN server relays the encrypted packets without decoding them. With optional Meshcast, or another SFU (a media server that receives one upload and forwards it to many viewers), the publisher sends one stream and the server distributes it.
See How does it work for details, and the hosting guides for your own or a fully local setup.
VDO.Ninja avoids data collection where possible, and streams are designed to be private, but use it at your own risk and share links only with people you trust. To keep your IP address private, use your own TURN server with forced relaying; see turnserver.md.
https://vdo.ninja may use cookies that the service needs to work, which are exempt from EU cookie-notice rules. Cloudflare caches the site and provides denial-of-service protection. If you need extra security or privacy features, ask; many have been added on request.
See the Terms of Service, Privacy Policy and privacy and security details. To report a vulnerability, see SECURITY.md.
Ideas, feedback and bug reports are all welcome, by email or on Discord. Many of Steve's ideas are tracked as GitHub issues.
See LICENCE.md for licensing and ownership details, LICENSE for the full core license, and examples/LICENSE for the example-code license. Contributions are covered by CONTRIBUTING.md.
Thank you to everyone who has supported this project: the moderators, support volunteers, media contributors, sponsors, and everyone who has reported issues, offered feedback or submitted code.