Fix live invalid save replay duration
This commit is contained in:
parent
09c55770bc
commit
4a54a93941
2 changed files with 6 additions and 4 deletions
|
@ -164,7 +164,7 @@ async function getVideoFileBitrate (path: string, existingProbe?: ffmpeg.Ffprobe
|
|||
async function getDurationFromVideoFile (path: string, existingProbe?: ffmpeg.FfprobeData) {
|
||||
const metadata = await getMetadataFromFile(path, existingProbe)
|
||||
|
||||
return Math.floor(metadata.format.duration)
|
||||
return Math.round(metadata.format.duration)
|
||||
}
|
||||
|
||||
async function getVideoStreamFromFile (path: string, existingProbe?: ffmpeg.FfprobeData) {
|
||||
|
|
|
@ -89,7 +89,7 @@ async function saveLive (video: MVideo, live: MVideoLive) {
|
|||
hlsPlaylist.VideoFiles = []
|
||||
|
||||
const replayFiles = await readdir(replayDirectory)
|
||||
let duration: number
|
||||
let durationDone: boolean
|
||||
|
||||
for (const playlistFile of playlistFiles) {
|
||||
const playlistPath = join(replayDirectory, playlistFile)
|
||||
|
@ -109,9 +109,11 @@ async function saveLive (video: MVideo, live: MVideoLive) {
|
|||
isPortraitMode
|
||||
})
|
||||
|
||||
if (!duration) {
|
||||
if (!durationDone) {
|
||||
videoWithFiles.duration = await getDurationFromVideoFile(outputPath)
|
||||
await videoWithFiles.save()
|
||||
|
||||
durationDone = true
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -126,7 +128,7 @@ async function saveLive (video: MVideo, live: MVideoLive) {
|
|||
await generateVideoMiniature(videoWithFiles, videoWithFiles.getMaxQualityFile(), ThumbnailType.PREVIEW)
|
||||
}
|
||||
|
||||
await publishAndFederateIfNeeded(video, true)
|
||||
await publishAndFederateIfNeeded(videoWithFiles, true)
|
||||
}
|
||||
|
||||
async function cleanupLive (video: MVideo, streamingPlaylist: MStreamingPlaylist) {
|
||||
|
|
Loading…
Reference in a new issue