1 import { VideoResolution } from './video-resolution.enum'
3 // Types used by plugins and ffmpeg-utils
5 export type EncoderOptionsBuilderParams = {
8 resolution: VideoResolution
10 // Could be null for "merge audio" transcoding
13 // Could be undefined if we could not get input bitrate (some RTMP streams for example)
21 export type EncoderOptionsBuilder = (params: EncoderOptionsBuilderParams) => Promise<EncoderOptions> | EncoderOptions
23 export interface EncoderOptions {
24 copy?: boolean // Copy stream? Default to false
30 inputOptions?: string[]
31 outputOptions?: string[]
36 export interface EncoderProfile <T> {
37 [ profile: string ]: T
42 export type AvailableEncoders = {
45 [ encoder: string ]: EncoderProfile<EncoderOptionsBuilder>
49 [ encoder: string ]: EncoderProfile<EncoderOptionsBuilder>