FileFlows: 4K HEVC über 35 Mbit/s immer nach AV1
This commit is contained in:
parent
f0dbb273f8
commit
82ba520441
1 changed files with 23 additions and 5 deletions
|
|
@ -1,7 +1,20 @@
|
||||||
|
/**
|
||||||
|
* @name 01_Detect_4K_Remux
|
||||||
|
* @description Erkennt 4K-HEVC-Kandidaten fuer AV1: Remux-Dateien oder Quellen mit mehr als 35 Mbit/s.
|
||||||
|
* @author Sascha (Port von Tdarr_Plugin_AV1_BestQuality_v100)
|
||||||
|
* @revision 2
|
||||||
|
* @output Ja - 4K HEVC -> AV1 Encode
|
||||||
|
* @output Nein - kein 4K AV1-Kandidat
|
||||||
|
* @param {int} MinWidth Minimale Breite in Pixel, ab der eine Datei als 4K gilt
|
||||||
|
* @param {int} MinSourceMbps Minimale Quellenbitrate fuer klassische Remux-Kandidaten
|
||||||
|
*/
|
||||||
function Script(MinWidth, MinSourceMbps)
|
function Script(MinWidth, MinSourceMbps)
|
||||||
{
|
{
|
||||||
MinWidth = MinWidth || 3000;
|
MinWidth = MinWidth || 3000;
|
||||||
MinSourceMbps = MinSourceMbps || 15;
|
MinSourceMbps = MinSourceMbps || 15;
|
||||||
|
// Titel sind unzuverlaessig: WEB-DL/UHD-BluRay-Releases tragen oft kein "Remux".
|
||||||
|
// Deshalb ist jede 4K-HEVC-Quelle oberhalb dieser VIDEO-Bitrate ebenfalls Kandidat.
|
||||||
|
const HighBitrateMbps = 35;
|
||||||
|
|
||||||
// ─────────────────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────────────────
|
||||||
// WICHTIG (verifiziert 2026-07-06): Variables.vi.VideoInfo wird in dieser
|
// WICHTIG (verifiziert 2026-07-06): Variables.vi.VideoInfo wird in dieser
|
||||||
|
|
@ -88,22 +101,27 @@ function Script(MinWidth, MinSourceMbps)
|
||||||
let isRemux = /remux/i.test(fileName);
|
let isRemux = /remux/i.test(fileName);
|
||||||
let isHEVC = (codec === 'hevc' || codec === 'h265');
|
let isHEVC = (codec === 'hevc' || codec === 'h265');
|
||||||
let isAV1 = (codec === 'av1');
|
let isAV1 = (codec === 'av1');
|
||||||
// Bei unbekannter Bitrate NICHT ablehnen: ein 4K-HEVC-Remux ist per Definition hochbitratig.
|
// Bei unbekannter Bitrate klassische Remuxe weiterhin zulassen; Nicht-Remuxe
|
||||||
|
// brauchen dagegen einen belastbaren Messwert oberhalb von 35 Mbit/s.
|
||||||
let brKnown = bitrateMbps > 0;
|
let brKnown = bitrateMbps > 0;
|
||||||
let highBR = brKnown ? (bitrateMbps >= MinSourceMbps) : true;
|
let highBR = brKnown ? (bitrateMbps >= MinSourceMbps) : true;
|
||||||
|
let overHighBitrate = brKnown && bitrateMbps > HighBitrateMbps;
|
||||||
|
let sourceCandidate = isRemux || overHighBitrate;
|
||||||
|
|
||||||
Logger.ILog('Datei: ' + fileName);
|
Logger.ILog('Datei: ' + fileName);
|
||||||
Logger.ILog('Video: codec=' + codec + ' width=' + width + ' bitrate=' +
|
Logger.ILog('Video: codec=' + codec + ' width=' + width + ' bitrate=' +
|
||||||
(brKnown ? bitrateMbps.toFixed(1) + ' Mbit/s' : 'unbekannt'));
|
(brKnown ? bitrateMbps.toFixed(1) + ' Mbit/s' : 'unbekannt'));
|
||||||
Logger.ILog('Checks: 4K=' + is4K + ' Remux=' + isRemux + ' HEVC=' + isHEVC +
|
Logger.ILog('Checks: 4K=' + is4K + ' Remux=' + isRemux + ' HEVC=' + isHEVC +
|
||||||
' >=' + MinSourceMbps + 'Mbit=' + highBR + (brKnown ? '' : ' (Bitrate unbekannt->Remux gilt als HB)'));
|
' >=' + MinSourceMbps + 'Mbit=' + highBR + ' >' + HighBitrateMbps +
|
||||||
|
'Mbit=' + overHighBitrate + (brKnown ? '' : ' (Bitrate unbekannt)'));
|
||||||
|
|
||||||
if (isAV1) { Logger.ILog('Bereits AV1 - kein Re-Encode.'); return 2; }
|
if (isAV1) { Logger.ILog('Bereits AV1 - kein Re-Encode.'); return 2; }
|
||||||
if (!is4K) { Logger.ILog('Nicht 4K (<' + MinWidth + 'px).'); return 2; }
|
if (!is4K) { Logger.ILog('Nicht 4K (<' + MinWidth + 'px).'); return 2; }
|
||||||
if (!isRemux) { Logger.ILog('Kein "Remux" im Dateinamen.'); return 2; }
|
|
||||||
if (!isHEVC) { Logger.ILog('Codec ist nicht HEVC/H265.'); return 2; }
|
if (!isHEVC) { Logger.ILog('Codec ist nicht HEVC/H265.'); return 2; }
|
||||||
if (!highBR) { Logger.ILog('Bitrate < ' + MinSourceMbps + ' Mbit/s - lohnt nicht.'); return 2; }
|
if (!sourceCandidate) { Logger.ILog('Weder Remux noch Video-Bitrate > ' + HighBitrateMbps + ' Mbit/s.'); return 2; }
|
||||||
|
if (isRemux && !highBR) { Logger.ILog('Remux-Bitrate < ' + MinSourceMbps + ' Mbit/s - lohnt nicht.'); return 2; }
|
||||||
|
|
||||||
Logger.ILog('-> 4K Remux HEVC Kandidat fuer AV1 Encode');
|
Logger.ILog('-> 4K HEVC Kandidat fuer AV1 Encode (' +
|
||||||
|
(isRemux ? 'Remux' : 'hohe Bitrate ' + bitrateMbps.toFixed(1) + ' Mbit/s') + ')');
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue