]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/runners/runner-job-payload.model.ts
Add TMP persistent directory
[github/Chocobozzz/PeerTube.git] / shared / models / runners / runner-job-payload.model.ts
1 export type RunnerJobVODPayload =
2 RunnerJobVODWebVideoTranscodingPayload |
3 RunnerJobVODHLSTranscodingPayload |
4 RunnerJobVODAudioMergeTranscodingPayload
5
6 export type RunnerJobPayload =
7 RunnerJobVODPayload |
8 RunnerJobLiveRTMPHLSTranscodingPayload
9
10 // ---------------------------------------------------------------------------
11
12 export interface RunnerJobVODWebVideoTranscodingPayload {
13 input: {
14 videoFileUrl: string
15 }
16
17 output: {
18 resolution: number
19 fps: number
20 }
21 }
22
23 export interface RunnerJobVODHLSTranscodingPayload {
24 input: {
25 videoFileUrl: string
26 }
27
28 output: {
29 resolution: number
30 fps: number
31 }
32 }
33
34 export interface RunnerJobVODAudioMergeTranscodingPayload {
35 input: {
36 audioFileUrl: string
37 previewFileUrl: string
38 }
39
40 output: {
41 resolution: number
42 fps: number
43 }
44 }
45
46 // ---------------------------------------------------------------------------
47
48 export function isAudioMergeTranscodingPayload (payload: RunnerJobPayload): payload is RunnerJobVODAudioMergeTranscodingPayload {
49 return !!(payload as RunnerJobVODAudioMergeTranscodingPayload).input.audioFileUrl
50 }
51
52 // ---------------------------------------------------------------------------
53
54 export interface RunnerJobLiveRTMPHLSTranscodingPayload {
55 input: {
56 rtmpUrl: string
57 }
58
59 output: {
60 toTranscode: {
61 resolution: number
62 fps: number
63 }[]
64
65 segmentDuration: number
66 segmentListSize: number
67 }
68 }