Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.