hls-transcoder
Version:
A tool to easily convert videos into HLS format
41 lines (40 loc) • 1.25 kB
TypeScript
/// <reference types="node" />
import { HLSTranscoderOptions } from './types';
import EventEmitter from 'events';
export default class Transcoder extends EventEmitter {
inputPath: string;
outputPath: string;
options: HLSTranscoderOptions;
private _metadata;
private _options;
private _renditions?;
constructor(inputPath: string, outputPath: string, options?: HLSTranscoderOptions);
transcode(): Promise<unknown>;
private buildCommands;
private writePlaylist;
/**
* Check what (if any) options the user has supplied, otherwise fallback
* to default values
* @param options
*/
private setOptions;
/**
* Runs `ffprobe` on the input video file to gather video metadata
* @param _options
* @param inputPath
*/
private setMetadata;
/**
* Validates that the supplied ffmpegPath and ffprobePaths exist
* @param ffmpegPath
* @param ffprobePath
* @returns void
*/
private validatePaths;
/**
* TODO - rewrite description, but this generates a renditions object based off the supplied renditions object
* and the supplied options, aka upscaling etc.
*/
private generateRenditions;
private generateOutputDir;
}