]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/helpers/youtube-dl.ts
Increase timeouts
[github/Chocobozzz/PeerTube.git] / server / helpers / youtube-dl.ts
index 6b9d8a5f78066626498fd06d08aa0b4e0b55c888..8537a57722c57f9079ceb746dbc28f8ead0e7e4f 100644 (file)
@@ -1,5 +1,5 @@
 import { createWriteStream } from 'fs'
-import { ensureDir, pathExists, remove, writeFile } from 'fs-extra'
+import { ensureDir, move, pathExists, remove, writeFile } from 'fs-extra'
 import { join } from 'path'
 import * as request from 'request'
 import { CONFIG } from '@server/initializers/config'
@@ -147,6 +147,11 @@ function downloadYoutubeDLVideo (url: string, fileExt: string, timeout: number)
           clearTimeout(timer)
 
           try {
+            // If youtube-dl did not guess an extension for our file, just use .mp4 as default
+            if (await pathExists(pathWithoutExtension)) {
+              await move(pathWithoutExtension, pathWithoutExtension + '.mp4')
+            }
+
             const path = await guessVideoPathWithExtension(pathWithoutExtension, fileExt)
 
             if (err) {
@@ -190,7 +195,7 @@ async function updateYoutubeDLBinary () {
 
   await ensureDir(binDirectory)
 
-  return new Promise(res => {
+  return new Promise<void>(res => {
     request.get(url, { followRedirect: false }, (err, result) => {
       if (err) {
         logger.error('Cannot update youtube-dl.', { err })