Skip to content

️ Add gstnvcodec support to videnc

Olivier Gauthier requested to merge feat/videnc-gstnvcodec-support into develop

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 and nvcudah264enc 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 of high 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 in shmdatasink 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 and videoconvert.
  • Remove videoconvert n-threads option, this reduces tearing effect observed when bundling videnc with videoconvert quiddity.
  • Remove custom nvenc quiddity along with all its documentation and build dependencies.
Edited by Olivier Gauthier

Merge request reports