Professional Open-Source Streaming Software
Features • Installation • Building • Usage • Plugins • Contributing • License
WeaR Studio is a professional, open-source streaming and recording application built with modern C++20, Qt 6.10, and FFmpeg. Inspired by OBS Studio, it provides a modular architecture with plugin support for maximum extensibility.
| Technology | Purpose |
|---|---|
| Qt 6.10 | UI Framework (Widgets, Docking) |
| FFmpeg | Video encoding (NVENC, x264) |
| Windows Graphics Capture | High-performance screen capture |
| Direct3D 11 | GPU texture handling |
| RTMP/FLV | Live streaming protocol |
- Screen Capture — Windows Graphics Capture API with zero-copy GPU frames
- Scene System — Multiple scenes with layer-based composition
- Hardware Encoding — NVENC (NVIDIA) with libx264 fallback
- RTMP Streaming — Stream to Twitch, YouTube, Facebook, custom servers
- Plugin System — Dynamic plugin loading with Qt Plugin Loader
- Dark Theme UI — Professional OBS-like interface with docking
- Audio capture and mixing (WASAPI)
- GPU shader effects (Qt RHI)
- Local recording (MP4, MKV)
- Scene transitions
- Browser source
- Webcam support
- Windows 10/11 (64-bit)
- NVIDIA GPU (for NVENC hardware encoding, optional)
- Visual C++ Redistributable 2022
Download the latest release from the Releases page.
- Extract the ZIP file to your desired location
- Run
WeaRStudio.exe
- Visual Studio 2022 (or 2026) with C++ workload
- Qt 6.10.1 (MSVC 2022 64-bit)
- FFmpeg 6.0+ (with development libraries)
- CMake 3.21+
# Clone repository
git clone https://github.com/RidTheWann/WeaR-studio.git
cd WeaR-studio
# Configure with CMake
cmake -B build -G "Visual Studio 17 2022" -A x64 `
-DCMAKE_PREFIX_PATH="C:/Qt/6.10.1/msvc2022_64" `
-DFFMPEG_ROOT="C:/ffmpeg"
# Build Release
cmake --build build --config Release
# Copy FFmpeg DLLs (REQUIRED)
Copy-Item C:/ffmpeg/bin/*.dll -Destination build/bin/Release/cd build/bin/Release
./WeaRStudio.exe- Launch WeaR Studio
- Add a Scene — Click
+in the Scenes panel - Add a Source — Click
+in the Sources panel, select "Screen Capture" - Configure Stream — Enter your RTMP URL and stream key in Controls
- Start Streaming — Click "Start Streaming"
| Service | URL Example |
|---|---|
| Twitch | rtmp://live.twitch.tv/app |
| YouTube | rtmp://a.rtmp.youtube.com/live2 |
rtmp://live-api-s.facebook.com:443/rtmp/ |
|
| Custom | rtmp://your-server.com/live |
WeaR Studio supports dynamic plugins for extending functionality.
- Copy plugin
.dllfiles to theplugins/folder next to the executable - Restart WeaR Studio
- Plugins will appear in the Sources/Filters list
See Plugin Development Guide for detailed instructions.
// Example: Minimal source plugin
class MySource : public QObject, public WeaR::ISource {
Q_OBJECT
Q_PLUGIN_METADATA(IID WEAR_SOURCE_IID FILE "MySource.json")
Q_INTERFACES(WeaR::ISource)
// ... implement ISource interface
};WeaR-studio/
├── core/ # Backend engine
│ ├── CaptureManager.* # Screen capture (WinRT)
│ ├── EncoderManager.* # Video encoding (FFmpeg)
│ ├── StreamManager.* # RTMP streaming
│ ├── SceneManager.* # Scene composition
│ ├── PluginManager.* # Plugin system
│ ├── IPlugin.h # Plugin interface
│ ├── ISource.h # Source interface
│ └── IFilter.h # Filter interface
├── ui/ # Qt user interface
│ ├── WeaRApp.* # Application & theme
│ ├── MainWindow.* # Main window
│ └── PreviewWidget.* # Video preview
├── plugins/ # Example plugins
├── cmake/ # CMake modules
└── docs/ # Documentation
We welcome contributions! Please read our Contributing Guide before submitting pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
WeaR Studio is licensed under the GNU General Public License v2.0 (GPL-2.0).
See LICENSE for the full license text.
- OBS Studio — Inspiration for architecture
- Qt Project — UI framework
- FFmpeg — Video encoding
- Microsoft — Windows Graphics Capture API
RidTheWann — Creator and Lead Developer
- GitHub: @RidTheWann
