]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/videos/video-transcoding.model.ts
Fix hls tests
[github/Chocobozzz/PeerTube.git] / shared / models / videos / video-transcoding.model.ts
CommitLineData
1896bca0
C
1import { VideoResolution } from './video-resolution.enum'
2
3// Types used by plugins and ffmpeg-utils
4
5export type EncoderOptionsBuilder = (params: {
6 input: string
7 resolution: VideoResolution
8 fps?: number
9 streamNum?: number
10}) => Promise<EncoderOptions> | EncoderOptions
11
12export interface EncoderOptions {
13 copy?: boolean // Copy stream? Default to false
14
15 outputOptions: string[]
16}
17
18// All our encoders
19
20export interface EncoderProfile <T> {
21 [ profile: string ]: T
22
23 default: T
24}
25
26export type AvailableEncoders = {
27 available: {
28 live: {
29 [ encoder: string ]: EncoderProfile<EncoderOptionsBuilder>
30 }
31
32 vod: {
33 [ encoder: string ]: EncoderProfile<EncoderOptionsBuilder>
34 }
35 }
36
37 encodersToTry: {
38 vod: {
39 video: string[]
40 audio: string[]
41 }
42
43 live: {
44 video: string[]
45 audio: string[]
46 }
47 }
48}