Fedora Workstation: Live Streaming Compatibility Initiative
In the last decade the use case for live streaming games, coding sessions, has skyrocketed, specially after the pandemic.
We want to articulate an initiative to make sure that Fedora Workstation has the best out of the box experience for the software and hardware used by this community of users.
In this page we want to summarize the areas we want to cover and articulate a partnership with entities outside of Fedora that have an interest in both upstream and downstream enablement. As an initial effort we probably want to pick single tool in each category and figure out how to make it work well with the rest of the tools. Once we have a golden standard defined then other tools can work to fit into that standard.
Note: After some feedback it is clear we need to define some usecases here, while there of course is some overlap the requirements to do news or interview shows are not the same is the requirements if you primarily are a game streamer.
- Elgato Key Light Air This is not connected to the computer, but it is WIFI enabled and can be controlled over the network.
- Prior art:
Mixer and Input decks
- Behringer X32 This one actually got a official Linux GUI application. A bit pricey for the Joe Average streamer perhaps?
- TC Helicon GoXLR Not especially well working atm.
- Elgato Stream Deck GamingOnLinux article about Stream Deck
- Elgato Wave XLR
- Focusrite Scarlett devices
High-end USB Microphones
- Audio Technica AT2005USB Chris Fisher recommends this one for Linux as a better option than the Blue Yeti.
- Blue Yeti Works well with Linux.
High End Webcams
For DSLR as webcam over USB we rely o non upstreamed v4l2loopback + gphoto2. v4l2loopback is very unlikely to go upstream however libcamera seems to be the way forward. Worth exploring what kind of work is needed to get DSLRs working with libcamera.
Worth exploring if some setups rely on software that configure or control the camera somehow from the OS itself or simply getting the stream is fine for most usecases.
Note: Spoke with Laurent Pinchart of libcamera fame and some sort of libgphoto powered backend for libcamera isn't out of the question. Someone needs to write the code of course and prove that it is viable. If anyone does end up looking at this he did ask they relatively early reach out to discuss architecture and pitfalls.
Smartphone as Webcam
Lots of Smartphones these days have top notch camera sensors, we could take advantage of this:
- USB to HDMI adapters
- Extend KDE Connect and integrate it with libcamera/PipeWire
- Magewell USB Capture HDMI 4K Plus Works well under Linux.
- OBS Studio - We want to reach out to OBS to ensure top notch PipeWire integration and Flatpak availability - Georges Stavracas
- Noisetorch Popular tool for cleaning up background noise
- Helvum - Patchbay for PipeWire
- EasyEffects - Audio effects tool for PipeWire
- Steam and Lutris - Gaming often the focus of streamers
- Reaper Advanced tool, non-free, but with Linux version
-  Keymapper for mapping keys on these devices.
Worth summarizing what the status is for hw encoding on each of these GPU platforms for both MESA and proprietary drivers and then figuring out whether OBS can leverage those or not.
We intend to gather support from vendors and industry players to build momentum around this initiative.
- Control Center Issue #1172: Default audio device and disabling audio devices - When live streaming for various reasons you may need to plug different equipment in/out and different times... this issue makes it more difficult to manage.
Audio Device behaviour
- The current behaviour on connecting/disconnecting new audio devices is very frustrating for content creators. This bug should have the details. Note: smarter behaviour here is hopefully something Wireplumber will make easier.