1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
[]
= "lvqr-transcode"
= "Server-side transcoding for LVQR (Tier 4 item 4.6)"
= true
= true
= true
= true
= true
= true
= ["lvqr", "streaming", "transcode", "abr"]
= ["multimedia"]
[]
= []
# Tier 4 item 4.6 session 105 B: real gstreamer-rs software encoder pipeline.
# Pulls gstreamer, gstreamer-app (appsrc / appsink), gstreamer-video (video
# caps helpers), and glib (BoolError, ObjectExt). Host must have the
# GStreamer 1.22+ runtime with `gst-plugins-base`, `gst-plugins-good`,
# `gst-plugins-bad`, `gst-plugins-ugly`, and `gst-libav` installed; install
# recipes live in `tracking/TIER_4_PLAN.md` section 4.6. Default OFF so CI
# runners without GStreamer continue to build the scaffold + pass-through.
= [
"dep:gstreamer",
"dep:gstreamer-app",
"dep:gstreamer-video",
"dep:glib",
]
# Tier 4 item 4.6 session 156: VideoToolbox HW encoder backend on macOS.
# Implies `transcode` (the new module reuses gstreamer-rs); additionally
# requires the `applemedia` plugin from gst-plugins-bad which ships
# `vtenc_h264_hw`. Default OFF so non-mac builds (and macos builds that
# stick to x264) do not pay the gstreamer-bad applemedia surface. Install:
# `brew install gstreamer gst-plugins-bad` (or the official .framework
# installer at https://gstreamer.freedesktop.org/download/).
= ["transcode"]
# NVENC (Nvidia GPU) HW encoder backend on Linux. Implies `transcode`;
# requires the `nvcodec` plugin from gst-plugins-bad which ships
# `nvh264enc`, plus a working CUDA runtime + Nvidia driver at runtime.
# Install: `apt-get install gstreamer1.0-plugins-bad nvidia-cuda-toolkit`
# plus a vendor driver. Default OFF so non-Nvidia builds do not pay the
# nvcodec surface.
= ["transcode"]
# VAAPI HW encoder backend on Linux + Intel iGPU / AMD. Implies
# `transcode`; requires the `va` plugin from gst-plugins-bad which ships
# `vah264enc` (the modern VA-API encoder superseding the deprecated
# `vaapih264enc`), plus a libva driver (intel-media-va-driver-non-free
# for Intel; mesa-va-drivers for AMD) and a usable DRI render node.
# Default OFF.
= ["transcode"]
# Intel Quick Sync Video HW encoder backend on Linux. Implies
# `transcode`; requires the `qsv` plugin from gst-plugins-bad which
# ships `qsvh264enc`, plus the Intel Media SDK / oneVPL runtime and a
# usable DRI render node. Default OFF.
= ["transcode"]
[]
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
# Feature-gated on `transcode`; see the feature comment above.
= { = true, = true }
= { = true, = true }
= { = true, = true }
= { = true, = true }
[]
= { = true }
= { = true, = ["macros", "rt-multi-thread", "time"] }