Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/austinsonger/metaswitch
Rotating Camera Feed is designed to enhance live streaming and recording setups by automatically rotating through multiple video capture devices at user-defined intervals.
https://github.com/austinsonger/metaswitch
meta obs twitch
Last synced: about 17 hours ago
JSON representation
Rotating Camera Feed is designed to enhance live streaming and recording setups by automatically rotating through multiple video capture devices at user-defined intervals.
- Host: GitHub
- URL: https://github.com/austinsonger/metaswitch
- Owner: austinsonger
- License: gpl-2.0
- Created: 2024-04-11T00:12:50.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-04-11T21:52:00.000Z (10 months ago)
- Last Synced: 2024-11-21T05:25:45.806Z (2 months ago)
- Topics: meta, obs, twitch
- Language: CMake
- Homepage:
- Size: 196 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MetaSwitch - Rotating Video Feed
MetaSwitch - Rotating Camera Feed is designed to enhance live streaming and recording setups by automatically rotating through multiple video capture devices at user-defined intervals. This functionality allows broadcasters to create dynamic scenes without manually switching between video sources, ideal for multi-camera setups, showcasing different angles or aspects of the broadcast environment.
## FILE STRUCTURE
```
├── src # Source code for the plugin
│ ├── CMakeLists.txt # CMake file for building the plugin on Linux and macOS
│ └── metaswitch_plugin # Actual source code of the plugin
│ ├── devices # Device enumeration and management
│ │ ├── enumerate.c # Enumerate devices on Linux/macOS
│ │ └── enumerate_win.c # Enumerate devices on Windows
│ ├── ui # User interface properties and rendering logic
│ │ ├── countdown_ui.cpp # Countdown timer UI element
│ │ └── metaswitch_ui.cxx # Main plugin UI component
│ └── render # Rendering logic
│ ├── capture.cpp # Capture frames on Linux/macOS
│ ├── capture_win.cpp # Capture frames on Windows
│ └── renderer.cpp # Render output and frame composition
├── include # Header files for the plugin
│ └── metaswitch_plugin # Headers for device management and UI properties
├── resources # Resource files used by the plugin
│ └── images # Image files for UI elements and graphics
├── plugins # Compiled plugin for Linux/macOS
│ └── metaswitch_plugin.so # Compiled shared object file
├── tests # Test cases for the plugin
│ └── metaswitch_plugin_tests.cpp # Tests for device enumeration and UI management
├── build # Temporary files for building the plugin
│ └── CMakeFiles # Build directory used by CMake
└── doc # Documentation for the plugin
```#### Key Components
- src/: Contains all the source code required for the plugin's functionality, including scripts for building the project.
- include/: Holds the header files which declare interfaces and integration points for different components of the plugin.
- resources/: Stores static assets like images which are used within the plugin's UI.
- plugins/: The location where the compiled plugin file (metaswitch_plugin.so) is placed, ready to be loaded by OBS Studio.
- tests/: Contains code that tests the various functionalities of the plugin, ensuring reliability and stability.
- build/: Used by CMake during the build process to store intermediary files.
- doc/: Provides detailed documentation, guides, and tutorials for using or developing the plugin further.