@eleven-am/transcoder
Version:
High-performance HLS transcoding library with hardware acceleration, intelligent client management, and distributed processing support for Node.js
55 lines • 2.38 kB
TypeScript
import { AudioInfo, AudioQuality, AudioQualityEnum, VideoInfo, VideoQuality, VideoQualityEnum } from './types';
export declare class QualityService {
private readonly videoQualities;
private readonly audioQualities;
private readonly videoQualityMap;
private readonly audioQualityMap;
constructor(videoQualities?: VideoQualityEnum[], audioQualities?: AudioQualityEnum[]);
/**
* Determine the appropriate quality for a video
* @param video The video to determine quality for
* @returns The appropriate quality level
*/
determineVideoQuality(video: VideoInfo): VideoQuality;
/**
* Determine the appropriate audio quality for a video
* @param audio The video to determine audio quality for
* @returns The appropriate audio quality level
*/
determineAudioQuality(audio: AudioInfo): AudioQuality;
/**
* Parse a quality string into a Quality object
* @param qualityStr The quality string to parse
* @throws Error if the quality string is invalid
*/
parseVideoQuality(qualityStr: string): VideoQuality;
/**
* Parse a quality string into an AudioQuality object
* @param qualityStr The quality string to parse
* @throws Error if the quality string is invalid
*/
parseAudioQuality(qualityStr: string): AudioQuality;
/**
* Gets the available qualities for a video
* @param video The video to get qualities for
* @returns An array of available qualities for the video
*/
getVideoQualities(video: VideoInfo): VideoQuality[];
/**
* Get the non-transcode video qualities
*/
getNonTranscodeVideoQualities(): VideoQuality;
/**
* Builds a valid audio quality object based on the provided quality and audio info
* @param quality The desired audio quality
* @param audioInfo The audio info object containing bitrate information
*/
buildValidAudioQuality(quality: AudioQualityEnum, audioInfo: AudioInfo): AudioQuality;
/**
* Builds a valid video quality object based on the provided quality and video info
* @param quality The desired video quality
* @param videoInfo The video info object containing bitrate and height information
*/
buildValidVideoQuality(quality: VideoQualityEnum, videoInfo: VideoInfo): VideoQuality;
}
//# sourceMappingURL=qualityService.d.ts.map