gnome-shell/js
Jonas Dreßler db490dbaf7 screencastService: Add gstreamer pipeline for h264 encoding
Add pipelinea for h264 software encoding using openh264. This is the least
problematic (from a patent perspective) software encoder for h264, Fedora
ships it in a pre-installed repo and it can be enabled very easily. Most
people should have it enabled already to allow for decoding of h264 content.
Unlike vp8enc, this encoder is optimized for realtime and is really fast, it
outperforms the vp8 encoder by an order of magnitude and should allow for
smooth recordings even on older hardware.

The reason why mp4 was chosen as a container format over mkv is that mp4
can be played inside firefox and chromium, whereas mkv can't be played.
It's ensured that the mp4 file is still playable in case the recording
got cancelled by using the "first-moov-then-finalise" fragment-mode on
mp4mux.

Even though h264 is problematic from a patent perspective and often can't
be shipped by default, it still the best supported and most popular codec
out there. The software encoders and decoders are really fast, it's used
everywhere on the web, and it can be hardware decoded on almost any device
out there.

See also: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2080

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7335

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3211>
2024-03-01 12:08:54 +00:00
..
dbusServices screencastService: Add gstreamer pipeline for h264 encoding 2024-03-01 12:08:54 +00:00
extensions extensions: Fix ngettext convenience 2023-09-15 21:41:30 +00:00
gdm loginDialog: Close conflicting session dialog after 60 secs 2024-02-29 20:42:52 +00:00
misc loginManager: Add session-removed signal and getSession method 2024-02-29 20:42:52 +00:00
portalHelper js: Port Config to ESM 2023-08-10 17:42:23 +00:00
ui screencastService: Allow for file extensions depending on encoder used 2024-03-01 12:08:54 +00:00
js-resources.gresource.xml dbusErrors: Add utility module for handling remote errors 2024-01-31 20:58:31 +01:00
meson.build extensions-app: Move Extensions app to new subproject 2020-03-27 23:33:30 +00:00
portal-resources.gresource.xml js/portal-resources: Add missing fileUtils to js path 2022-11-03 18:02:27 +00:00