Transkodierung und Hardware¶
Die Variablen hinter der Kapazität, der Grafikkarte, den Qualitätsgrenzen und dem Transkodierungs-Cache. Die meisten Installationen setzen keine davon: Der Server misst die Maschine und wählt die Hardware selbst, wie unter Transkodierung und Serverkapazität erklärt. Gibt es eine Einstellung unter Verwaltung → Transkodierung, hat der dort gespeicherte Wert Vorrang.
Hardwarebeschleunigung¶
Wie Sie die GPU für den Container freigeben: Hardwarebeschleunigung.
| Variable | Standard | Wirkung | Verwaltungsbereich |
|---|---|---|---|
EVEY_TRANSCODING_HW_MODE |
leer | auto, off, nvenc, vaapi, qsv oder rkmpp. Leer: wird aus den beiden Variablen darunter abgeleitet. |
Transkodierung → Hardwarebeschleunigung, sofort (misst neu) |
EVEY_TRANSCODING_HW_ACCEL_ENABLED |
false |
Der ältere Ein/Aus-Schalter. | Transkodierung → Hardwarebeschleunigung, sofort |
EVEY_TRANSCODING_HW_BACKEND |
leer (Erkennung) | Legt ein Backend fest (nvenc, vaapi, qsv): Nur dieses wird gemessen. So kann jeder von mehreren Evey-Containern auf einem Host einen anderen GPU-Weg nutzen. |
keine |
EVEY_TRANSCODING_HW_DEVICE |
leer (alle) | Legt ein Gerät fest: einen Render-Knoten (/dev/dri/renderD129) oder einen CUDA-Index (1). Zusammen mit EVEY_TRANSCODING_HW_BACKEND bindet es einen Container auf einem Host mit mehreren GPUs an eine GPU. |
keine |
EVEY_TRANSCODING_HW_FIRST_SEGMENT_TIMEOUT |
10s |
Eine Hardware-Sitzung, die in dieser Zeit ihr erstes Segment nicht geliefert hat, gilt als hängende GPU und wird auf den Prozessor verlegt. | keine |
EVEY_TRANSCODING_HW_TONEMAP |
an | 0 schaltet das HDR-Tone-Mapping auf der GPU ab und überlässt es dem Prozessor, für einen Treiber, der bekanntermaßen Probleme macht. |
keine |
EVEY_TRANSCODING_HW_PER_VARIANT |
false |
Ein ffmpeg pro Qualitätsstufe auf dem GPU-Weg statt eines Prozesses für alle: Fehler bleiben voneinander getrennt, und der Graph mit mehreren Ausgaben, an dem empfindliche VA-Treiber abstürzen, wird vermieden. | Transkodierung → Erweiterte Grenzwerte → Ein Hardware-Encoder-Prozess pro Stufe, Neustart |
Der stromsparende Intel-Encoder und die AV1-Ausgabe (Schalter und Obergrenze) haben keine Variable: Sie werden nur unter Verwaltung → Transkodierung eingestellt.
Kapazität und Grenzen¶
| Variable | Standard | Wirkung | Verwaltungsbereich |
|---|---|---|---|
EVEY_TRANSCODING_MAX_SESSIONS |
0 (Zahl der CPUs) |
Gleichzeitige Transkodierungssitzungen insgesamt. Auf einer Maschine, die gerade so eine 4K-HDR-Transkodierung in Software schafft, setzen Sie 1 oder 2. |
Transkodierung → Erweiterte Grenzwerte → Maximale gleichzeitige HLS-Sitzungen, Neustart |
EVEY_TRANSCODING_MAX_CONCURRENT |
2 |
Transkodierungsaufträge außerhalb der laufenden Wiedergabe. | Transkodierungs-Cache → Max. gleichzeitig, sofort |
EVEY_TRANSCODING_SINGLE_VARIANT |
true |
Kodiert nur die Qualität, die ein Zuschauer gerade schaut. false teilt ein Dekodieren zwischen allen Qualitäten, kodiert aber auch die, die niemand schaut; nur für einen Host ohne Hardware-Dekodierung mit anspruchsvollen Quellen. |
Transkodierung → Erweiterte Grenzwerte → Nur eine Qualitätsstufe gleichzeitig kodieren, Neustart |
EVEY_TRANSCODING_SOFTWARE_MAX_HEIGHT |
0 (gemessen) |
Erzwingt die Auflösungsobergrenze des Prozessors statt der gemessenen. | Transkodierung → Erweiterte Grenzwerte → Höhengrenze für Software-Transkodierung, Neustart |
EVEY_TRANSCODING_SOFTWARE_HDR_MAX_HEIGHT |
0 (gemessen) |
Dasselbe für HDR-Quellen, deren Tone-Mapping der Prozessor übernimmt. | Transkodierung → Erweiterte Grenzwerte → HDR-Höhengrenze für Software, Neustart |
EVEY_TRANSCODING_SOFTWARE_THREADS |
keine Grenze | Threads pro Software-Encoder (1 bis 64; jeder andere Wert bedeutet keine Grenze). Hardware-Encoder ignorieren sie. | keine |
EVEY_TRANSCODING_MAX_VIDEO_BITRATE_KBPS |
0 (folgt der Quelle) |
Eine Obergrenze für die Bitrate des transkodierten Videos. | Transkodierung → Obergrenze Videobitrate, sofort |
EVEY_TRANSCODING_MAX_VIDEO_BITRATE_REMOTE_KBPS |
0 (keine) |
Dieselbe Obergrenze für Clients außerhalb des Heimnetzes. | Transkodierung → Video-Bitratenobergrenze, entfernte Zuschauer, sofort |
Cache¶
| Variable | Standard | Wirkung | Verwaltungsbereich |
|---|---|---|---|
EVEY_TRANSCODING_CACHE_MAX_GB |
10 |
Die Größe des gesamten Transkodierungs-Caches (Segmente, Remux-Dateien, vorbereitete Downloads). Was am längsten nicht benutzt wurde, wird zuerst entfernt. | Transkodierung → Budget des Transkodierungs-Caches (GB), Neustart |
EVEY_TRANSCODE_CACHE_MIN_FREE_MB |
2048 |
Freier Platz, der auf dem Laufwerk des Caches frei bleibt. Darunter werden ungenutzte Segmente entfernt, dann werden neue Segmente abgelehnt statt geschrieben; extrahierte Untertitel werden nicht mehr gespeichert, und die Administratoren werden benachrichtigt. 0 schaltet diese Reserve ab. Siehe Der Transkodierungs-Cache. |
keine |
EVEY_TRANSCODING_CACHE_DIR |
/cache/transcode |
Wo er liegt. Vom Image gesetzt. | keine |
EVEY_TRICKPLAY_CACHE_DIR |
/data/trickplay |
Wo die Vorschaubilder der Zeitleiste liegen. Vom Image gesetzt: Sie neu zu erzeugen ist aufwendig, deshalb bleiben sie in /data. |
keine |
Kalibrierungsclip¶
Die Messung kodiert einen 4K-Clip. In dieser Reihenfolge: Ihre Datei, ein Clip, der einmal heruntergeladen und anhand seines Hashwerts geprüft wird, oder ein künstlich erzeugter Clip. Ein echter Clip liefert genauere Messwerte als der künstliche. Keine dieser Variablen hat ein Gegenstück im Verwaltungsbereich.
| Variable | Standard | Wirkung | Verwaltungsbereich |
|---|---|---|---|
EVEY_BENCH_HDR_SAMPLE, EVEY_BENCH_SDR_SAMPLE |
leer | Ein eigener Clip, HDR und SDR. | keine |
EVEY_BENCH_HDR_SAMPLE_URL, EVEY_BENCH_SDR_SAMPLE_URL |
leer | Ein Clip, der einmal über https heruntergeladen wird. |
keine |
EVEY_BENCH_HDR_SAMPLE_SHA256, EVEY_BENCH_SDR_SAMPLE_SHA256 |
leer | Der SHA256 dieses Downloads; Pflicht zusammen mit einer URL. | keine |