From 5e47f6ab984a7d00782e4c7030afffa1ba480add Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 4 May 2023 15:29:34 +0200 Subject: Support studio transcoding in peertube runner --- shared/models/runners/runner-job-payload.model.ts | 13 ++++++++++++- shared/models/runners/runner-job-private-payload.model.ts | 12 +++++++++++- shared/models/runners/runner-job-success-body.model.ts | 7 ++++++- shared/models/runners/runner-job-type.type.ts | 3 ++- 4 files changed, 31 insertions(+), 4 deletions(-) (limited to 'shared/models/runners') diff --git a/shared/models/runners/runner-job-payload.model.ts b/shared/models/runners/runner-job-payload.model.ts index 8f0c17135..9f0db0dc4 100644 --- a/shared/models/runners/runner-job-payload.model.ts +++ b/shared/models/runners/runner-job-payload.model.ts @@ -1,3 +1,5 @@ +import { VideoStudioTaskPayload } from '../server' + export type RunnerJobVODPayload = RunnerJobVODWebVideoTranscodingPayload | RunnerJobVODHLSTranscodingPayload | @@ -5,7 +7,8 @@ export type RunnerJobVODPayload = export type RunnerJobPayload = RunnerJobVODPayload | - RunnerJobLiveRTMPHLSTranscodingPayload + RunnerJobLiveRTMPHLSTranscodingPayload | + RunnerJobVideoEditionTranscodingPayload // --------------------------------------------------------------------------- @@ -43,6 +46,14 @@ export interface RunnerJobVODAudioMergeTranscodingPayload { } } +export interface RunnerJobVideoEditionTranscodingPayload { + input: { + videoFileUrl: string + } + + tasks: VideoStudioTaskPayload[] +} + // --------------------------------------------------------------------------- export function isAudioMergeTranscodingPayload (payload: RunnerJobPayload): payload is RunnerJobVODAudioMergeTranscodingPayload { diff --git a/shared/models/runners/runner-job-private-payload.model.ts b/shared/models/runners/runner-job-private-payload.model.ts index c1d8d1045..c8fe0a7d8 100644 --- a/shared/models/runners/runner-job-private-payload.model.ts +++ b/shared/models/runners/runner-job-private-payload.model.ts @@ -1,3 +1,5 @@ +import { VideoStudioTaskPayload } from '../server' + export type RunnerJobVODPrivatePayload = RunnerJobVODWebVideoTranscodingPrivatePayload | RunnerJobVODAudioMergeTranscodingPrivatePayload | @@ -5,7 +7,8 @@ export type RunnerJobVODPrivatePayload = export type RunnerJobPrivatePayload = RunnerJobVODPrivatePayload | - RunnerJobLiveRTMPHLSTranscodingPrivatePayload + RunnerJobLiveRTMPHLSTranscodingPrivatePayload | + RunnerJobVideoEditionTranscodingPrivatePayload // --------------------------------------------------------------------------- @@ -32,3 +35,10 @@ export interface RunnerJobLiveRTMPHLSTranscodingPrivatePayload { masterPlaylistName: string outputDirectory: string } + +// --------------------------------------------------------------------------- + +export interface RunnerJobVideoEditionTranscodingPrivatePayload { + videoUUID: string + originalTasks: VideoStudioTaskPayload[] +} diff --git a/shared/models/runners/runner-job-success-body.model.ts b/shared/models/runners/runner-job-success-body.model.ts index 223b7552d..17e921f69 100644 --- a/shared/models/runners/runner-job-success-body.model.ts +++ b/shared/models/runners/runner-job-success-body.model.ts @@ -11,7 +11,8 @@ export type RunnerJobSuccessPayload = VODWebVideoTranscodingSuccess | VODHLSTranscodingSuccess | VODAudioMergeTranscodingSuccess | - LiveRTMPHLSTranscodingSuccess + LiveRTMPHLSTranscodingSuccess | + VideoEditionTranscodingSuccess export interface VODWebVideoTranscodingSuccess { videoFile: Blob | string @@ -30,6 +31,10 @@ export interface LiveRTMPHLSTranscodingSuccess { } +export interface VideoEditionTranscodingSuccess { + videoFile: Blob | string +} + export function isWebVideoOrAudioMergeTranscodingPayloadSuccess ( payload: RunnerJobSuccessPayload ): payload is VODHLSTranscodingSuccess | VODAudioMergeTranscodingSuccess { diff --git a/shared/models/runners/runner-job-type.type.ts b/shared/models/runners/runner-job-type.type.ts index 36d3b9b25..3b997cb6e 100644 --- a/shared/models/runners/runner-job-type.type.ts +++ b/shared/models/runners/runner-job-type.type.ts @@ -2,4 +2,5 @@ export type RunnerJobType = 'vod-web-video-transcoding' | 'vod-hls-transcoding' | 'vod-audio-merge-transcoding' | - 'live-rtmp-hls-transcoding' + 'live-rtmp-hls-transcoding' | + 'video-edition-transcoding' -- cgit v1.2.3