⬆ ️ Add gstnvcodec support to videnc
Finalize work around videnc
quiddity to be able to use either x264enc
or nvcudah264enc
from GStreamer 1.22.
- Allow to load any GStreamer encoder elements, even them that have no primary/secondary rank. This is necessary to access
nvcudah264enc
. - Set sane defaults for
x264
andnvcudah264enc
for videoconferencing. - Default all encoders to 2 Mbps bit-rate.
- Make sure all h.264 encoder respect main profile. This fixes cases where
x264
would send 4:4:4 because ofhigh
profile precedence on pad caps. - Automatically prefer hardware codec when available.
- Use codec short name in codecs property.
- Refactor video codecs initialization to allow loading them by their short name in a bundle.
- Export
codec
field inshmdatasink
caps so Scenic can display which encoder is used. - Treat selecting codec id 0 as resetting, this is workaround because Scenic does not invoke reset method.
- Remove extra thread (queue) between
shmdatasrc
andvideoconvert
. - Remove
videoconvert
n-threads
option, this reduces tearing effect observed when bundlingvidenc
withvideoconvert
quiddity. - Remove custom nvenc quiddity along with all its documentation and build dependencies.
Edited by Olivier Gauthier