(Added AMD AMF into the "Hardware Encoding" list) |
|||
Line 19: | Line 19: | ||
** [https://github.com/GoXLR-on-Linux/goxlr-on-linux Go-XLR-on Linux] | ** [https://github.com/GoXLR-on-Linux/goxlr-on-linux Go-XLR-on Linux] | ||
** [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1093 PulseAudio bug thread] | ** [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1093 PulseAudio bug thread] | ||
* [https://www.elgato.com/en/stream-deck-xl Elgato Stream Deck] [https://www.gamingonlinux.com/articles/using-the-elgato-stream-deck-on-linux-just-got-a-whole-lot-easier-with-streamdeck-ui.15180/ GamingOnLinux article about Stream Deck] | * [https://www.elgato.com/en/stream-deck-xl Elgato Stream Deck] [https://www.gamingonlinux.com/articles/using-the-elgato-stream-deck-on-linux-just-got-a-whole-lot-easier-with-streamdeck-ui.15180/ GamingOnLinux article about Stream Deck] [https://riferrei.com/using-stream-deck-with-fedora/ Using StreamDeck with Fedora] | ||
* [https://www.elgato.com/en/wave-xlr Elgato Wave XLR] | * [https://www.elgato.com/en/wave-xlr Elgato Wave XLR] | ||
* [https://focusrite.com/en/scarlett?hsa_acc=9998263402&hsa_cam=2047999879&hsa_grp=71929016869&hsa_ad=431498514462&hsa_src=g&hsa_tgt=kwd-44800660&hsa_kw=audio%20interface&hsa_mt=p&hsa_net=adwords&hsa_ver=3 Focusrite Scarlett devices] | * [https://focusrite.com/en/scarlett?hsa_acc=9998263402&hsa_cam=2047999879&hsa_grp=71929016869&hsa_ad=431498514462&hsa_src=g&hsa_tgt=kwd-44800660&hsa_kw=audio%20interface&hsa_mt=p&hsa_net=adwords&hsa_ver=3 Focusrite Scarlett devices] |
Revision as of 15:18, 5 December 2021
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 use-cases 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.
Light
- 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 Using StreamDeck with Fedora
- Elgato Wave XLR
- Focusrite Scarlett devices
- We lack a good-generic key remapping software that could tie any keyboard/gamepad input device into more sophisticade actions. Moving to flatpaks means that we need to think about Portal infrastructure to connect apps with one another. In the case of StreamDeck we may need to create pipewire APIs for an app to do video processing, audio effects, etc... (this needs engagement with the OBS folks)
Some extra input in this twitter thread
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
- Logitech BRIO Works well under Linux.
- Dell SharpEdge Works somewhat with Linux.
DSLR
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
Capture
- Magewell USB Capture HDMI 4K Plus Works well under Linux.
Software
- 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
- [1] Keymapper for mapping keys on these devices.
Video editing
- DaVinci Resolve - Blackmagic Design's DaVinci Resolve is not open source but still free of charge. It provides video editing, color correction, visual effects, motion graphics and audio post production capabilities on Linux using the same tools as on the other but closed platforms.
- PiTiVi
- Shotcut
- KDEnlive
- OpenShot
Hardware encoding
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.
Partnerships
We intend to gather support from vendors and industry players to build momentum around this initiative.
Device Management
- 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.
- Sound output device chooser GNOME Shell extension is commonly used to quickly and easily switch output devices for getting ready for streaming. Ideally, this should be built into GNOME Shell and manage both input and output devices.
Audio Device behavior
- 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.