Closed VarLad closed 1 year ago
@fsobolev @DaPigGuy maybe we just use aria2c as the default downloader since it has a lot of nice features over the yt-dlp default?
I don't mind. Need to investigate how to use an external downloader with new backend.
https://github.com/scx/uget-flatpak/blob/master/aria2.yaml - example of aria2 in flatpak manifest (we don't need --enable-bittorrent
but not sure if anything else should be changed)
@nlogozzo Any idea if this could be reopened?
The original feature request was to implement some options of aria2 as well, like multipart downloading (the number 16
in the command) and minimal split size (1MB in this case) of each part
@nlogozzo Any idea if this could be reopened? The original feature request was to implement some options of aria2 as well, like multipart downloading (the number
16
in the command) and minimal split size (1MB in this case) of each part
-x16
is added by yt-dlp. We can add -k
as well. Should it be hardcoded or do you think it would be better to allow configuring in settings?
This is the full command that TC actually runs:
/usr/bin/aria2c -c --console-log-level=warn --summary-interval=0 --download-result=hide --http-accept-gzip=true --file-allocation=none -x16 -j16 -s16 --allow-overwrite=true --allow-piece-length-change=true --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' --header 'Accept-Language: en-us,en;q=0.5' --header 'Sec-Fetch-Mode: navigate' --max-overall-download-limit=0K --allow-overwrite=true --show-console-readout=false --stop-with-process=<...> --dir <...> --auto-file-renaming=false --file-allocation=none --uri-selector=inorder -i <...>
@fsobolev I believe having the ability to configure both -x
and -k
by the user would be really convenient
Problem
While yt-dlp works awesome for Youtube, some sites have different download formats. Many times, downloads from the said websites is really slow. yt-dlp supports external downloaders. Taking the aria2 downloader for example, it supports features like multi-threading, cross-platform resuming, download speed limiting, among lots of other features. It works well for other sites as well as external sites.
How we use it with yt-dlp is:
yt-dlp --external-downloader aria2c --external-downloader-args "aria2c:-x 16 -k 1M" "Video link here"
Feature Request
I've two feature requests for this issue
Support for external downloaders in yt-dlp For this, a drop down menu to select from a list of external downloaders (assuming they're present in user's system) and an empty text box for
--external-downloader-args
.Add aria2 binary in the flatpak release. To make it easier for people to use Aria2 external downloader