Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Streaming Control and Configuration page #152

Merged
merged 7 commits into from
May 30, 2021

Conversation

Samsagax
Copy link
Contributor

This is meant to complete #44 with a default sane FFmpeg configuration and options. This is not accessible via the menu awaiting the redesign, but can be accessed by /streaming/config url.

Make it simpler for the user to add inputs as necessary.
By default use x11grab on input :0 and alsa capture with pulse
input. This may not be the best solution but we want to make it
configurable in a way that the user can add as many inputs and codecs
as he/she pleases.

Audio and video codecs are not used by default but we add them as
configurables. They hold the entire line of configuration, meaning the
options for each one are set there as well.

For network streaming we hardcode mpegts as format (the only one
supported by SLS) with the option flush_packets set to 0 and for
local (recording) we hardcode it as matroska format and save the
.mkv file on users's home directory as screen_yyyymmdd_hhmmss.mkv.

Samsagax added 4 commits May 20, 2021 13:58
Make it simpler for the user to add inputs as necessary.
By default use `x11grab` on input `:0` and `alsa` capture with `pulse`
input. This may not be the best solution but we want to make it
configurable in a way that the user can add as many inputs as he/she
pleases.

Audio and video codecs are not used by default but we add them as
configurables. They hold the entire line of configuration, meaning the
options for each one are set there as well.

For network streaming we hardcode `mpegts` as format (the only one
supported by SLS) with the option `flush_packets` set to `0` and for
local (recording) we hardcode it as `matroska` format and save the
`.mkv` file on users's home directory as `screen_yyyymmdd_hhmmss.mkv`.
It lists current inputs and allows to delete existing ones and add new
ones by adding the corresponding FFmpeg arguments
Also add logic to handle strings and list for inputs, video and audio
codecs.
@alkazar
Copy link
Member

alkazar commented May 26, 2021

One suggestion: I think we should put the recorded files under ~/.local/share/steam-buddy/recordings.
That way we can allow a bit more secure/restricted access to the file system later when we allow downloading or viewing the files through the web client.

@Samsagax
Copy link
Contributor Author

One suggestion: I think we should put the recorded files under ~/.local/share/steam-buddy/recordings.
That way we can allow a bit more secure/restricted access to the file system later when we allow downloading or viewing the files through the web client.

Done. Seems like a good practice. Now steam-buddy creates that folder and records are saved there.

@Samsagax Samsagax changed the title Add Streaming configuration page Add Streaming Control and Configuration page May 26, 2021
@alkazar alkazar merged commit 56de13a into ChimeraOS:master May 30, 2021
@Samsagax Samsagax deleted the streaming-configuration branch May 31, 2021 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants