]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Support uploads of videos with unknown duration
authorChocobozzz <me@florianbigard.com>
Tue, 19 Apr 2022 09:20:10 +0000 (11:20 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 19 Apr 2022 09:20:10 +0000 (11:20 +0200)
server/middlewares/validators/videos/videos.ts

index 26597cf7b7865662b3a73b9fc5671a24230f9c59..0b6b8bfe51b1d1f1c0015c728b62845c503a7090 100644 (file)
@@ -646,9 +646,10 @@ export async function isVideoAccepted (
 }
 
 async function addDurationToVideo (videoFile: { path: string, duration?: number }) {
-  const duration: number = await getVideoStreamDuration(videoFile.path)
+  const duration = await getVideoStreamDuration(videoFile.path)
 
-  if (isNaN(duration)) throw new Error(`Couldn't get video duration`)
-
-  videoFile.duration = duration
+  // FFmpeg may not be able to guess video duration
+  // For example with m2v files: https://trac.ffmpeg.org/ticket/9726#comment:2
+  if (isNaN(duration)) videoFile.duration = 0
+  else videoFile.duration = duration
 }