From 8c666c44ab3109ce2ad432bf2f98cc0505593543 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 30 Nov 2020 17:03:13 +0100 Subject: Fix live saving after a server restart --- server/lib/job-queue/handlers/video-live-ending.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'server/lib/job-queue') diff --git a/server/lib/job-queue/handlers/video-live-ending.ts b/server/lib/job-queue/handlers/video-live-ending.ts index 0d2bcaa28..6e1076d8f 100644 --- a/server/lib/job-queue/handlers/video-live-ending.ts +++ b/server/lib/job-queue/handlers/video-live-ending.ts @@ -1,8 +1,9 @@ import * as Bull from 'bull' -import { move, readdir, remove } from 'fs-extra' +import { copy, readdir, remove } from 'fs-extra' import { join } from 'path' import { hlsPlaylistToFragmentedMP4 } from '@server/helpers/ffmpeg-utils' import { getDurationFromVideoFile, getVideoFileResolution } from '@server/helpers/ffprobe-utils' +import { VIDEO_LIVE } from '@server/initializers/constants' import { generateVideoMiniature } from '@server/lib/thumbnail' import { publishAndFederateIfNeeded } from '@server/lib/video' import { getHLSDirectory } from '@server/lib/video-paths' @@ -14,7 +15,6 @@ import { VideoStreamingPlaylistModel } from '@server/models/video/video-streamin import { MStreamingPlaylist, MVideo, MVideoLive } from '@server/types/models' import { ThumbnailType, VideoLiveEndingPayload, VideoState } from '@shared/models' import { logger } from '../../../helpers/logger' -import { VIDEO_LIVE } from '@server/initializers/constants' async function processVideoLiveEnding (job: Bull.Job) { const payload = job.data as VideoLiveEndingPayload @@ -61,11 +61,12 @@ async function saveLive (video: MVideo, live: MVideoLive) { const playlistFiles: string[] = [] for (const file of rootFiles) { - if (file.endsWith('.m3u8') !== true) continue - - await move(join(hlsDirectory, file), join(replayDirectory, file)) + // Move remaining files in the replay directory + if (file.endsWith('.ts') || file.endsWith('.m3u8')) { + await copy(join(hlsDirectory, file), join(replayDirectory, file)) + } - if (file !== 'master.m3u8') { + if (file.endsWith('.m3u8') && file !== 'master.m3u8') { playlistFiles.push(file) } } -- cgit v1.2.3