diff --git a/addons/conda/build/meta.yaml b/addons/conda/build/meta.yaml index 31a2dcf8..7db9f1c0 100644 --- a/addons/conda/build/meta.yaml +++ b/addons/conda/build/meta.yaml @@ -143,5 +143,6 @@ requirements: - wmctrl-cli # [linux] - xdotool # [linux] - xsel # [linux] + # NVIDIA NVRTC/nvJPEG dependency, https://developer.download.nvidia.com/compute/cuda/redist/cuda_nvrtc/LICENSE.txt - cuda-nvrtc 11.3.* - libnvjpeg 11.4.* diff --git a/docs/development.md b/docs/development.md index b4449cb6..9b71aa5f 100644 --- a/docs/development.md +++ b/docs/development.md @@ -78,7 +78,7 @@ These people make structural decisions for this project and press the `Merge Pul This section is a knowledge base for code contributions and development. -## Communities: +## Communities - Selkies Discord: @@ -88,7 +88,7 @@ This section is a knowledge base for code contributions and development. - GStreamer Matrix Space (Specific to GStreamer, needs Matrix Account from ): -## Resources: +## Resources - **Our [Documentation](/docs/README.md) and [Issues](https://github.com/selkies-project/selkies-gstreamer/issues)/[Pull Requests](https://github.com/selkies-project/selkies-gstreamer/pulls)** (including closed Issues/Pull Requests) and @@ -208,3 +208,7 @@ Otherwise, any [GStreamer](https://gstreamer.freedesktop.org) plugin [Documentat Therefore, all contributors implementing or modifying code relevant to GStreamer must also carefully check parent classes as well when configuring [Properties](https://gstreamer.freedesktop.org/documentation/plugin-development/basics/args.html) or [Capabilities](https://gstreamer.freedesktop.org/documentation/gstreamer/gstcaps.html). Please also note that objects based on GstBin (most notably `webrtcbin` and `rtpbin`) may embed multiple sub-objects into a single object. + +# Maintainer Documentation + +- New releases are published by going to the [Publish release](https://github.com/selkies-project/selkies-gstreamer/actions/workflows/build_and_publish_release.yaml) GitHub Action Workflow, and triggering `workflow_dispatch` by clicking on `Run workflow` with `Branch: main`, and specifying the release tag. The draft release for the new proposed release will be generated in the [Releases](https://github.com/selkies-project/selkies-gstreamer/releases) page, only visible to the maintainers. After waiting for the release build to finish, editing the release notes, and publishing the release, the release will be visible as the latest release. diff --git a/docs/start.md b/docs/start.md index 8d332a0d..78f2aa73 100644 --- a/docs/start.md +++ b/docs/start.md @@ -94,11 +94,11 @@ This distribution is slightly more complicated to deploy, yet is the recommended ### Backgrounds -Selkies-GStreamer has a highly modularized architecture, and it is composed of components. +Selkies-GStreamer has a highly modularized architecture, composed of multiple components. Three mandatory components are required to run Selkies-GStreamer: the [standalone or distribution-provided build of GStreamer](/addons/gstreamer) with the most recent version (currently ≥ 1.22), the [Python component wheel package](/src/selkies_gstreamer) including the signaling server, and the [HTML5 web interface components](/addons/gst-web). Currently, Ubuntu 24.04 (Mint 22), 22.04 (Mint 21), 20.04 (Mint 20) are supported, but other operating systems should also work if using your own GStreamer build of the newest version (contributions for build workflows of more operating systems are welcome). -All three of the components are built and packaged [every release](https://github.com/selkies-project/selkies-gstreamer/releases). In addition, every latest commit gets built and is made available in container forms [`ghcr.io/selkies-project/selkies-gstreamer/gstreamer`](https://github.com/selkies-project/selkies-gstreamer/pkgs/container/selkies-gstreamer%2Fgstreamer), [`ghcr.io/selkies-project/selkies-gstreamer/py-build`](https://github.com/selkies-project/selkies-gstreamer/pkgs/container/selkies-gstreamer%2Fpy-build), and [`ghcr.io/selkies-project/selkies-gstreamer/gst-web`](https://github.com/selkies-project/selkies-gstreamer/pkgs/container/selkies-gstreamer%2Fgst-web). +All three of the components are built and packaged every [Release](https://github.com/selkies-project/selkies-gstreamer/releases). In addition, every latest commit gets built and is made available in container forms [`ghcr.io/selkies-project/selkies-gstreamer/gstreamer`](https://github.com/selkies-project/selkies-gstreamer/pkgs/container/selkies-gstreamer%2Fgstreamer), [`ghcr.io/selkies-project/selkies-gstreamer/py-build`](https://github.com/selkies-project/selkies-gstreamer/pkgs/container/selkies-gstreamer%2Fpy-build), and [`ghcr.io/selkies-project/selkies-gstreamer/gst-web`](https://github.com/selkies-project/selkies-gstreamer/pkgs/container/selkies-gstreamer%2Fgst-web). For more information, check the [Components](component.md#components) section. @@ -124,7 +124,7 @@ Install additional dependencies if using Ubuntu ≥ 22.04 (Mint 21) or a higher sudo apt-get update && sudo apt-get install --no-install-recommends -y xcvt libopenh264-dev svt-av1 aom-tools ``` -If using supported NVIDIA GPUs, install NVENC (bundled with the GPU driver) and NVRTC (procedures below). +If using supported NVIDIA GPUs, install NVENC (bundled with the GPU driver) and NVRTC (bundled with pre-built GStreamer component, check the [GStreamer Dockerfile](/addons/gstreamer/Dockerfile) for manual installation instructions). If using AMD or Intel GPUs, install its graphics and VA-API drivers, as well as `libva2`. The bundled VA-API driver in the AMDGPU Pro graphics driver is recommended for AMD GPUs and the `i965-va-driver-shaders` or `intel-media-va-driver-non-free` packages are recommended depending on your Intel GPU generation. Optionally install `vainfo`, `intel-gpu-tools`, `radeontop`, or `nvtop` for GPU monitoring.