@eleven-am/transcoder
Version:
High-performance HLS transcoding library with hardware acceleration, intelligent client management, and distributed processing support for Node.js
62 lines • 1.75 kB
TypeScript
import { Either } from '@eleven-am/fp';
import { CodecType, FFMPEGOptions, HardwareAccelerationMethod } from './types';
export interface HardwareOptimizationOptions {
method: HardwareAccelerationMethod;
codec: CodecType;
width: number;
height: number;
frameRate: number;
bitrate: number;
isLiveStream?: boolean;
}
/**
* Provides hardware-specific optimizations for different acceleration methods
* Optimizes encoder settings based on hardware capabilities
*/
export declare class HardwareOptimizer {
/**
* Get optimal settings for specific hardware acceleration method
*/
getOptimalSettings(options: HardwareOptimizationOptions): Either<FFMPEGOptions>;
/**
* NVIDIA GPU optimizations
*/
private getNvidiaOptimalSettings;
/**
* Apple VideoToolbox optimizations
*/
private getVideoToolboxOptimalSettings;
/**
* Intel Quick Sync optimizations
*/
private getQuickSyncOptimalSettings;
/**
* VAAPI (AMD/Intel integrated) optimizations
*/
private getVaapiOptimalSettings;
/**
* AMD AMF optimizations
*/
private getAMFOptimalSettings;
/**
* Software encoding optimizations
*/
private getSoftwareOptimalSettings;
/**
* Get x264 tuning based on content
*/
private getX264Tune;
/**
* Get x264 specific parameters
*/
private getX264Params;
/**
* Get x265 specific parameters
*/
private getX265Params;
/**
* Get recommended thread count based on resolution and hardware
*/
getOptimalThreadCount(width: number, height: number, method: HardwareAccelerationMethod): number | undefined;
}
//# sourceMappingURL=hardwareOptimizer.d.ts.map