Skip to content

Commit

Permalink
Regenerate storyboard after studio
Browse files Browse the repository at this point in the history
  • Loading branch information
Chocobozzz committed Nov 29, 2023
1 parent 4826cb2 commit ba56aad
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 8 deletions.
2 changes: 1 addition & 1 deletion server/core/initializers/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ const JOB_TTL: { [id in JobType]: number } = {
'activitypub-refresher': 60000 * 10, // 10 minutes
'video-redundancy': 1000 * 3600 * 3, // 3 hours
'video-live-ending': 1000 * 60 * 10, // 10 minutes
'generate-video-storyboard': 1000 * 3600 * 3, // 3 hours
'generate-video-storyboard': 1000 * 3600 * 6, // 6 hours
'manage-video-torrent': 1000 * 3600 * 3, // 3 hours
'move-to-object-storage': 1000 * 60 * 60 * 3, // 3 hours
'move-to-file-system': 1000 * 60 * 60 * 3, // 3 hours
Expand Down
33 changes: 26 additions & 7 deletions server/core/lib/video-studio.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,11 @@ import { join } from 'path'
import { logger, loggerTagsFactory } from '@server/helpers/logger.js'
import { createTorrentAndSetInfoHashFromPath } from '@server/helpers/webtorrent.js'
import { CONFIG } from '@server/initializers/config.js'
import { UserModel } from '@server/models/user/user.js'
import { MUser, MVideo, MVideoFile, MVideoFullLight, MVideoWithAllFiles } from '@server/types/models/index.js'
import { getVideoStreamDuration } from '@peertube/peertube-ffmpeg'
import { VideoStudioEditionPayload, VideoStudioTask, VideoStudioTaskPayload } from '@peertube/peertube-models'
import { federateVideoIfNeeded } from './activitypub/videos/index.js'
import { JobQueue } from './job-queue/index.js'
import { VideoStudioTranscodingJobHandler } from './runners/index.js'
import { createOptimizeOrMergeAudioJobs } from './transcoding/create-transcoding-job.js'
import { getTranscodingJobPriority } from './transcoding/transcoding-priority.js'
import { buildNewFile, removeHLSPlaylist, removeWebVideoFile } from './video-file.js'
import { VideoPathManager } from './video-path-manager.js'
Expand Down Expand Up @@ -108,11 +105,33 @@ export async function onVideoStudioEnded (options: {
video.duration = await getVideoStreamDuration(outputPath)
await video.save()

await federateVideoIfNeeded(video, false, undefined)

const user = await UserModel.loadByVideoId(video.id)
return JobQueue.Instance.createSequentialJobFlow(
{
type: 'generate-video-storyboard' as 'generate-video-storyboard',
payload: {
videoUUID: video.uuid,
federate: false
}
},

await createOptimizeOrMergeAudioJobs({ video, videoFile: newFile, isNewVideo: false, user, videoFileAlreadyLocked: false })
{
type: 'federate-video' as 'federate-video',
payload: {
videoUUID: video.uuid,
isNewVideo: false
}
},

{
type: 'transcoding-job-builder' as 'transcoding-job-builder',
payload: {
videoUUID: video.uuid,
optimizeJob: {
isNewVideo: false
}
}
}
)
}

// ---------------------------------------------------------------------------
Expand Down

0 comments on commit ba56aad

Please sign in to comment.