peertube-import-videos passes remaining options down to youtube-dl
authorRaphaël Droz <raphael.droz+floss@gmail.com>
Tue, 11 Feb 2020 02:16:06 +0000 (23:16 -0300)
committerChocobozzz <chocobozzz@cpy.re>
Wed, 12 Feb 2020 10:33:14 +0000 (11:33 +0100)
server/tools/peertube-import-videos.ts

index 0efe87810c98f4d2bc39a40bf548b63c67e67b8c..3fb9979df62795653518f2b7c1ec866de635a656 100644 (file)
@@ -38,6 +38,7 @@ command
   .option('--first <first>', 'Process first n elements of returned playlist')
   .option('--last <last>', 'Process last n elements of returned playlist')
   .option('-T, --tmpdir <tmpdir>', 'Working directory', __dirname)
+  .usage("[global options] [ -- youtube-dl options]")
   .parse(process.argv)
 
 const log = getLogger(program['verbose'])
@@ -71,10 +72,11 @@ async function run (url: string, user: UserInfo) {
 
   const youtubeDL = await safeGetYoutubeDL()
 
-  const options = [ '-j', '--flat-playlist', '--playlist-reverse' ]
+  const options = [ '-j', '--flat-playlist', '--playlist-reverse', ...command.args ]
+
   youtubeDL.getInfo(program['targetUrl'], options, processOptions, async (err, info) => {
     if (err) {
-      exitError(err.message)
+      exitError(err.stderr + ' ' + err.message)
     }
 
     let infoArray: any[]
@@ -146,7 +148,7 @@ function processVideo (parameters: {
 
     log.info('Downloading video "%s"...', videoInfo.title)
 
-    const options = [ '-f', 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best', '-o', path ]
+    const options = [ '-f', 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best', ...command.args, '-o', path ]
     try {
       const youtubeDL = await safeGetYoutubeDL()
       youtubeDL.exec(videoInfo.url, options, processOptions, async (err, output) => {