feat(v5): 4K-UHD nach der Leistung — Grafikkarte mit 4K-Preset komprimiert, nur CPU bleibt verlustfrei
WAS: presetEmpfehlung liefert für UHD das 4K-Preset der gemessenen Grafikkarten-Familie (VCN/NVENC/QSV) — sonst PRESET_KEINE (verlustfrei); komprimierenFuer folgt der Empfehlung, wenn der Typ auf „automatisch" steht. Eigene Wahl schlägt beides. Fenster: Kachel, Kompressions-Karte und Erst-Einrichtung sagen „(8 Bit)" bzw. „verlustfrei — nur CPU-Encoder". Gemessen am 12.09.2026 (HandBrake 1.11.2, RX 9070 XT, Akira-UHD-Abbild): die 4K-Hardware-Presets sind 8-Bit (vce_h265, Profil main); der 10-Bit- HEVC-Encoder vce_h265_10bit stürzt beim Start ab (Segfault, mit Profil auto und main10); AV1 10-Bit („AV1 VCN 2160p 4K", vce_av1_10bit) läuft — steht als eigene Wahl in der Liste, mit dem Hinweis auf AV1-fähige Abspielgeräte. WARUM: Durchsicht 12.09.2026, A4 — Commander-Entscheid: „Rippy analysiert doch die Performance des PCs, könnten wir das nicht davon abhängig machen?" Vorher rechnete der CPU-Default 4K auf 1080p klein, tagelang. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6b6e5c3436
commit
0fc87aa022
@@ -121,7 +121,7 @@ export async function komprimierenUndAblegen(
|
||||
): Promise<AblageErgebnis> {
|
||||
const einstellungen = umgebung.einstellungen()
|
||||
const handbrake = umgebung.handbrake()
|
||||
const soll = komprimierenFuer(auftrag.discTyp, einstellungen)
|
||||
const soll = komprimierenFuer(auftrag.discTyp, einstellungen, umgebung.presetEmpfehlung?.(auftrag.discTyp) ?? '')
|
||||
const komprimiert = soll && handbrake.length > 0
|
||||
const preset =
|
||||
auftrag.preset.length > 0
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
// mit den Befunden vom 25.07.2026 begründet: EIN Preset für alles rechnete
|
||||
// 4K auf 1080p herunter und DVDs hinauf.
|
||||
|
||||
import { DEFAULT_HB_PRESET, presetEmpfehlung } from '../../gemeinsam/preset-empfehlung'
|
||||
import { DEFAULT_HB_PRESET, PRESET_KEINE, presetEmpfehlung } from '../../gemeinsam/preset-empfehlung'
|
||||
|
||||
export { DEFAULT_HB_PRESET, presetEmpfehlung }
|
||||
export { DEFAULT_HB_PRESET, PRESET_KEINE, presetEmpfehlung }
|
||||
|
||||
/** Einstellungs-Schlüssel je Disc-Typ. */
|
||||
export const PRESET_SCHLUESSEL: Record<string, string> = {
|
||||
@@ -13,15 +13,12 @@ export const PRESET_SCHLUESSEL: Record<string, string> = {
|
||||
uhd: 'transcodePresetUhd',
|
||||
}
|
||||
|
||||
// Reservierter Wert: „diesen Typ NICHT komprimieren". Kein echtes
|
||||
// HandBrake-Preset heißt so (gegen alle 90 aus --preset-list geprüft).
|
||||
// Grund: 4K verlustfrei durchreichen, DVDs trotzdem schrumpfen.
|
||||
export const PRESET_KEINE = 'keine'
|
||||
|
||||
export type Einstellungen = Record<string, string | boolean | undefined>
|
||||
|
||||
/** Soll dieser Disc-Typ nach dem Rip komprimiert werden? (pur) */
|
||||
export function komprimierenFuer(discTyp: string, einstellungen: Einstellungen): boolean {
|
||||
/** Soll dieser Disc-Typ nach dem Rip komprimiert werden? (pur)
|
||||
* 5.7.0: Steht der Typ auf „automatisch" und die gemessene Empfehlung
|
||||
* sagt „keine" (4K ohne Grafikkarten-Encoder), bleibt es verlustfrei. */
|
||||
export function komprimierenFuer(discTyp: string, einstellungen: Einstellungen, empfehlung = ''): boolean {
|
||||
if (einstellungen['transcodeEnabled'] === false || einstellungen['transcodeEnabled'] === 'false') {
|
||||
return false
|
||||
}
|
||||
@@ -29,6 +26,7 @@ export function komprimierenFuer(discTyp: string, einstellungen: Einstellungen):
|
||||
if (schluessel.length > 0) {
|
||||
const wert = String(einstellungen[schluessel] ?? '').trim()
|
||||
if (wert === PRESET_KEINE) return false
|
||||
if (wert.length === 0 && empfehlung === PRESET_KEINE) return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user