diff options
author | Chocobozzz <me@florianbigard.com> | 2023-04-21 14:55:10 +0200 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2023-05-09 08:57:34 +0200 |
commit | 0c9668f77901e7540e2c7045eb0f2974a4842a69 (patch) | |
tree | 226d3dd1565b0bb56588897af3b8530e6216e96b /shared/models/runners/runner-job-payload.model.ts | |
parent | 6bcb854cdea8688a32240bc5719c7d139806e00b (diff) | |
download | PeerTube-0c9668f77901e7540e2c7045eb0f2974a4842a69.tar.gz PeerTube-0c9668f77901e7540e2c7045eb0f2974a4842a69.tar.zst PeerTube-0c9668f77901e7540e2c7045eb0f2974a4842a69.zip |
Implement remote runner jobs in server
Move ffmpeg functions to @shared
Diffstat (limited to 'shared/models/runners/runner-job-payload.model.ts')
-rw-r--r-- | shared/models/runners/runner-job-payload.model.ts | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/shared/models/runners/runner-job-payload.model.ts b/shared/models/runners/runner-job-payload.model.ts new file mode 100644 index 000000000..8f0c17135 --- /dev/null +++ b/shared/models/runners/runner-job-payload.model.ts | |||
@@ -0,0 +1,68 @@ | |||
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 | } | ||