ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
130.15k stars 9.82k forks source link

youtube-dl replaces aria2 with ffmpeg as external downloader. Inform user? #21966

Closed 0x41mmarVM closed 4 years ago

0x41mmarVM commented 4 years ago

Duplicate of #10784

Checklist

Question

When calling youtube-dl on a segmented HLS/DASH and specifying an external downloader (aria2c), it silently switches to ffmpeg, and passes it the --external-downloader-args intended for aria2. This has been referred to in this issue, which was closed as duplicate, but I couldn't find what it was a duplicate of, nor did the author. After searching issues for a while I now understand that aria2 does not support HLS or Segmented DASH, but shouldn't ytdl inform somehow before silently switching to ffmpeg?

Verbose Log: `

youtube-dl -v --external-downloader aria2c --external-downloader-args "-hide_banner -x 10" https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8 [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['-v', '--external-downloader', 'aria2c', '--external-downloader-args', '-hide_banner -x 10', 'https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8'] [debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252 [debug] youtube-dl version 2019.07.30 [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763 [debug] exe versions: avconv 9.18, avprobe 9.18, ffmpeg 4.1.1, ffprobe N-93894-gecc096513c, phantomjs 2.1.1 [debug] Proxy map: {} [generic] bipbop_16x9_variant: Requesting header [generic] bipbop_16x9_variant: Downloading m3u8 information [debug] Default format spec: bestvideo+bestaudio/best [debug] Invoking downloader on 'https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/gear5/prog_index.m3u8' [download] Destination: bipbop_16x9_variant-bipbop_16x9_variant.mp4 [debug] ffmpeg command line: ffmpeg -y -loglevel verbose -hide_banner -x 10 -headers "Accept-Charset: ISO-8859-1,utf-8;q=0.7,;q=0.7 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.114 Safari/537.36 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/*;q=0.8 " -i "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/gear5/prog_index.m3u8" -c copy -f mp4 "file:bipbop_16x9_variant-bipbop_16x9_variant.mp4.part" Unrecognized option 'x'. Error splitting the argument list: Option not found

ERROR: ffmpeg exited with code 1

`

0x41mmarVM commented 4 years ago

The question is simply: If this is intended behaviour, should there not be some message? If there is more nuance to it, I've really really tried to find the issue this is a duplicate of.

shadowzoom commented 4 years ago

@ 0x41mmarVM do you find a way to download multithreads this hls m3u8 file?

cgorlla commented 4 years ago

So, is anything planned for this? I'm still experiencing this issue. Aria2 will hand something off to ffmpeg then ffmpeg tries to parse the -ext-dl-args meant for Aria.

0x41mmarVM commented 4 years ago

@shadowzoom No, no solution found. That said, I wasn’t looking for a solution, I just wanted a message in the log telling me that ffmpeg was subbed in, so that I don’t spend an hour messing with command switches and trying to understand why aria2c doesn’t understand my request. The silent switching was a bit mean.

maxnordlund commented 3 years ago

I think I found the duplicate, #10784, but only @dstftw can confirm that one is it?

0x41mmarVM commented 3 years ago

I think I found the duplicate, #10784, but only @dstftw can confirm that one is it?

Oh hey, that looks right. Sad it’s still open. I’ve added it in the description so people find it easier.