Fix ab-av1 ffprobe using env vars instead of CLI args (v2.33)

- Use FFMPEG and FFPROBE environment variables instead of --ffmpeg/--ffprobe flags
- Older ab-av1 versions don't support those command-line arguments
- Sets env vars to point to tdarr-ffmpeg when executing ab-av1
This commit is contained in:
Tdarr Plugin Developer
2025-12-15 23:12:19 -08:00
parent fe125da51a
commit 2a3a619eb0
6 changed files with 2109 additions and 4590 deletions

View File

@@ -10,7 +10,7 @@ const details = () => ({
Features resolution-aware CRF, source-relative bitrate strategies, ab-av1 auto-CRF, and performance optimizations.
**Balanced defaults**: Preset 6, CRF 26, tune 0 (VQ), 10-bit, SCD 1, AQ 2, lookahead -1, TF on, keyint -2, fast-decode 0.
`,
Version: '2.32',
Version: '2.33',
Tags: 'video,av1,svt,quality,performance,speed-optimized,vbr,crf,vmaf',
Inputs: [
{
@@ -517,18 +517,22 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
'--samples', sampleCount.toString(),
'--encoder', 'libsvtav1',
'--preset', preset.toString(),
'--ffmpeg', 'tdarr-ffmpeg', // Use Tdarr's ffmpeg binary
'--ffprobe', 'tdarr-ffmpeg', // tdarr-ffmpeg acts as both ffmpeg and ffprobe
];
const command = `${abav1Path} ${args.join(' ')}`;
// Execute with timeout (5 minutes should be enough for sample encodes)
// Set FFMPEG and FFPROBE environment variables to point to tdarr-ffmpeg
const output = execSync(command, {
encoding: 'utf8',
timeout: 300000, // 5 minute timeout
maxBuffer: 10 * 1024 * 1024, // 10MB buffer
stdio: ['pipe', 'pipe', 'pipe']
stdio: ['pipe', 'pipe', 'pipe'],
env: {
...process.env,
FFMPEG: 'tdarr-ffmpeg',
FFPROBE: 'tdarr-ffmpeg',
}
});
// Parse ab-av1 output for CRF value