refactor: уточнить вывод энкодеров/декодеров

This commit is contained in:
2026-01-20 10:46:22 +03:00
parent 224f14a8e0
commit 88fc443cb6
2 changed files with 36 additions and 29 deletions

File diff suppressed because one or more lines are too long

View File

@@ -184,14 +184,19 @@ console.log(`MP4Box: ${hasMP4Box ? '✅' : '❌'}`);
const accelList = Array.from(new Set(hwEncoders.map(e => e.accelerator.toUpperCase())));
const bestAccelName = bestAccel ? bestAccel.accelerator.toUpperCase() : undefined;
const accelRest = accelList.filter(name => name !== bestAccelName);
const accelLabel = bestAccelName
? `${bestAccelName}${accelRest.length > 0 ? ` (${accelRest.join(', ')})` : ''}`
: '❌';
console.log(`Hardware: ${accelLabel}`);
if (hwDecoders.length > 0) {
const encoderSelectedPlanned = accelerator
? accelerator.toUpperCase()
: (bestAccelName || 'CPU');
const encoderAll = accelList.length > 0 ? accelList : ['CPU'];
const decList = Array.from(new Set(hwDecoders.map((d) => d.accelerator.toUpperCase())));
console.log(`Decoders: ${decList.join(', ')}`);
}
const decoderSelectedPlanned = decoder
? decoder.toUpperCase()
: (decList[0] || 'CPU');
const decoderAll = decList.length > 0 ? decList : ['CPU'];
console.log(`Encoder: ${encoderSelectedPlanned === 'AUTO' ? (bestAccelName || 'CPU') : encoderSelectedPlanned} (${encoderAll.join(', ')})`);
console.log(`Decoder: ${decoderSelectedPlanned === 'AUTO' ? (decList[0] || 'CPU') : decoderSelectedPlanned} (${decoderAll.join(', ')})`);
console.log('');
if (!hasFFmpeg) {
@@ -290,6 +295,8 @@ const acceleratorDisplay = plannedAccel === 'AUTO' ? (bestAccelName || 'CPU') :
const decoderDisplay = plannedDecoder === 'AUTO'
? (hwDecoders[0]?.accelerator.toUpperCase() || 'CPU')
: plannedDecoder;
const encoderListDisplay = encoderAll.join(', ');
const decoderListDisplay = decoderAll.join(', ');
console.log('\n📦 Parameters:');
console.log(` Input: ${input}`);
@@ -299,8 +306,8 @@ console.log(` Profiles: ${displayProfiles.join(', ')}`);
console.log(` Manifests: ${manifestDesc}`);
console.log(` Poster: ${posterPlanned} (will be generated)`);
console.log(` Thumbnails: ${thumbnailsPlanned ? 'yes (with VTT)' : 'no'}`);
console.log(` Accelerator: ${acceleratorDisplay}`);
console.log(` Decoder: ${decoderDisplay}`);
console.log(` Encoder: ${acceleratorDisplay} (available: ${encoderListDisplay})`);
console.log(` Decoder: ${decoderDisplay} (available: ${decoderListDisplay})`);
// Build quality settings if any are specified
let quality: QualitySettings | undefined;