]>
Commit | Line | Data |
---|---|---|
d57d1d83 C |
1 | import { isStreamingPlaylist, MStreamingPlaylistVideo, MVideo, MVideoFile } from '@server/typings/models' |
2 | import { VideoTranscodingPayload } from '@server/lib/job-queue/handlers/video-transcoding' | |
3 | import { DEFAULT_AUDIO_RESOLUTION } from '@server/initializers/constants' | |
4 | import { JobQueue } from '@server/lib/job-queue' | |
d7a25329 C |
5 | |
6 | function extractVideo (videoOrPlaylist: MVideo | MStreamingPlaylistVideo) { | |
7 | return isStreamingPlaylist(videoOrPlaylist) | |
8 | ? videoOrPlaylist.Video | |
9 | : videoOrPlaylist | |
10 | } | |
11 | ||
d57d1d83 C |
12 | function addOptimizeOrMergeAudioJob (video: MVideo, videoFile: MVideoFile) { |
13 | let dataInput: VideoTranscodingPayload | |
14 | ||
15 | if (videoFile.isAudio()) { | |
16 | dataInput = { | |
17 | type: 'merge-audio' as 'merge-audio', | |
18 | resolution: DEFAULT_AUDIO_RESOLUTION, | |
19 | videoUUID: video.uuid, | |
20 | isNewVideo: true | |
21 | } | |
22 | } else { | |
23 | dataInput = { | |
24 | type: 'optimize' as 'optimize', | |
25 | videoUUID: video.uuid, | |
26 | isNewVideo: true | |
27 | } | |
28 | } | |
29 | ||
30 | return JobQueue.Instance.createJobWithPromise({ type: 'video-transcoding', payload: dataInput }) | |
31 | } | |
32 | ||
d7a25329 | 33 | export { |
d57d1d83 | 34 | addOptimizeOrMergeAudioJob, |
d7a25329 C |
35 | extractVideo |
36 | } |