]>
Commit | Line | Data |
---|---|---|
0c9668f7 C |
1 | import { move } from 'fs-extra' |
2 | import { dirname, join } from 'path' | |
3 | import { logger, LoggerTagsFn } from '@server/helpers/logger' | |
4 | import { onTranscodingEnded } from '@server/lib/transcoding/ended-transcoding' | |
5 | import { onWebTorrentVideoFileTranscoding } from '@server/lib/transcoding/web-transcoding' | |
6 | import { buildNewFile } from '@server/lib/video-file' | |
7 | import { VideoModel } from '@server/models/video/video' | |
8 | import { MVideoFullLight } from '@server/types/models' | |
9 | import { MRunnerJob } from '@server/types/models/runners' | |
10 | import { RunnerJobVODAudioMergeTranscodingPrivatePayload, RunnerJobVODWebVideoTranscodingPrivatePayload } from '@shared/models' | |
11 | ||
12 | export async function onVODWebVideoOrAudioMergeTranscodingJob (options: { | |
13 | video: MVideoFullLight | |
14 | videoFilePath: string | |
15 | privatePayload: RunnerJobVODWebVideoTranscodingPrivatePayload | RunnerJobVODAudioMergeTranscodingPrivatePayload | |
16 | }) { | |
17 | const { video, videoFilePath, privatePayload } = options | |
18 | ||
19 | const videoFile = await buildNewFile({ path: videoFilePath, mode: 'web-video' }) | |
20 | videoFile.videoId = video.id | |
21 | ||
22 | const newVideoFilePath = join(dirname(videoFilePath), videoFile.filename) | |
23 | await move(videoFilePath, newVideoFilePath) | |
24 | ||
25 | await onWebTorrentVideoFileTranscoding({ | |
26 | video, | |
27 | videoFile, | |
28 | videoOutputPath: newVideoFilePath | |
29 | }) | |
30 | ||
31 | await onTranscodingEnded({ isNewVideo: privatePayload.isNewVideo, moveVideoToNextState: true, video }) | |
32 | } | |
33 | ||
34 | export async function loadTranscodingRunnerVideo (runnerJob: MRunnerJob, lTags: LoggerTagsFn) { | |
35 | const videoUUID = runnerJob.privatePayload.videoUUID | |
36 | ||
37 | const video = await VideoModel.loadFull(videoUUID) | |
38 | if (!video) { | |
39 | logger.info('Video %s does not exist anymore after transcoding runner job.', videoUUID, lTags(videoUUID)) | |
40 | return undefined | |
41 | } | |
42 | ||
43 | return video | |
44 | } |