refactor: уточнить вывод энкодеров/декодеров
This commit is contained in:
38
bin/cli.js
38
bin/cli.js
File diff suppressed because one or more lines are too long
25
src/cli.ts
25
src/cli.ts
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user