fix: resolve 'auto' encoder to detected hardware and add VAAPI drivers to Dockerfile

This commit is contained in:
Trevor Mears
2026-01-17 17:54:50 -08:00
parent 81d5f6e61e
commit d85ed753ab
2 changed files with 17 additions and 2 deletions
+9 -1
View File
@@ -17,6 +17,7 @@ const path = require('path');
const fs = require('fs').promises;
const crypto = require('crypto');
const EventEmitter = require('events');
const hwDetect = require('./hwDetect');
// Session storage
const sessions = new Map();
@@ -166,9 +167,16 @@ class TranscodeSession extends EventEmitter {
*/
buildFFmpegArgs() {
const segmentPattern = path.join(this.dir, 'seg%04d.m4s');
const encoder = this.options.hwEncoder || 'software';
const videoMode = this.options.videoMode || 'encode';
// Resolve 'auto' encoder to detected hardware, fallback to software
let encoder = this.options.hwEncoder || 'software';
if (encoder === 'auto') {
const hwCaps = hwDetect.getCapabilities();
encoder = hwCaps?.recommended || 'software';
console.log(`[TranscodeSession ${this.id}] Auto encoder resolved to: ${encoder}`);
}
const args = [
'-hide_banner',
'-loglevel', 'warning',