]>
Commit | Line | Data |
---|---|---|
1772b383 C |
1 | import { logger } from 'packages/peertube-runner/shared/logger' |
2 | import { | |
3 | RunnerJobLiveRTMPHLSTranscodingPayload, | |
4 | RunnerJobVODAudioMergeTranscodingPayload, | |
5 | RunnerJobVODHLSTranscodingPayload, | |
6 | RunnerJobVODWebVideoTranscodingPayload | |
7 | } from '@shared/models' | |
8 | import { processAudioMergeTranscoding, processHLSTranscoding, ProcessOptions, processWebVideoTranscoding } from './shared' | |
9 | import { ProcessLiveRTMPHLSTranscoding } from './shared/process-live' | |
10 | ||
11 | export async function processJob (options: ProcessOptions) { | |
12 | const { server, job } = options | |
13 | ||
14 | logger.info(`[${server.url}] Processing job of type ${job.type}: ${job.uuid}`, { payload: job.payload }) | |
15 | ||
16 | if (job.type === 'vod-audio-merge-transcoding') { | |
17 | await processAudioMergeTranscoding(options as ProcessOptions<RunnerJobVODAudioMergeTranscodingPayload>) | |
18 | } else if (job.type === 'vod-web-video-transcoding') { | |
19 | await processWebVideoTranscoding(options as ProcessOptions<RunnerJobVODWebVideoTranscodingPayload>) | |
20 | } else if (job.type === 'vod-hls-transcoding') { | |
21 | await processHLSTranscoding(options as ProcessOptions<RunnerJobVODHLSTranscodingPayload>) | |
22 | } else if (job.type === 'live-rtmp-hls-transcoding') { | |
23 | await new ProcessLiveRTMPHLSTranscoding(options as ProcessOptions<RunnerJobLiveRTMPHLSTranscodingPayload>).process() | |
24 | } else { | |
25 | logger.error(`Unknown job ${job.type} to process`) | |
26 | return | |
27 | } | |
28 | ||
29 | logger.info(`[${server.url}] Finished processing job of type ${job.type}: ${job.uuid}`) | |
30 | } |