From Fedora Project Wiki
(→‎Device Management: Add note about sound device chooser extension)
Line 81: Line 81:
=== Device Management ===
=== Device Management ===
** [https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1172 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.
** [https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1172 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.
** [https://extensions.gnome.org/extension/906/sound-output-device-chooser/ 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 behaviour ===
=== Audio Device behaviour ===
* The current behaviour on connecting/disconnecting new audio devices is very frustrating for content creators. [https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1172 This bug should have the details.] Note: smarter behaviour here is hopefully something Wireplumber will make easier.
* The current behaviour on connecting/disconnecting new audio devices is very frustrating for content creators. [https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1172 This bug should have the details.] Note: smarter behaviour here is hopefully something Wireplumber will make easier.

Revision as of 04:18, 3 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 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.

Light

Mixer and Input decks

Some extra input in this twitter thread

High-end USB Microphones

High End Webcams

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

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

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.