Giter VIP home page Giter VIP logo

Comments (4)

jely2002 avatar jely2002 commented on July 26, 2024

Hi Fazal,
I have no experience regarding Aria2c, so I wouldn't know what kind of improvements or features it would add to the table. While I think it wouldn't be too hard to support, I have no idea where to start. Could you maybe explain to me what the benefits of aria2c are and how you would use it in corporation with my GUI?

from youtube-dl-gui.

fazalfarhan01 avatar fazalfarhan01 commented on July 26, 2024

youtube-dl has built in support for aria2c.

All that has to be done is pass the --external-downloader aria2c to youtube-dl executable and have the aria2c executable in path.

  • eg: youtube-dl --external-downloader aria2c --external-downloader-args '-c -j 3 -x 3 -s 3 -k 1M' YOUTUBE-VIDEO-URL

Source: Official documentations

I have seen that you have included and use the youtube-dl binary. So this can be done very easily.

And additional arguments can be passed to the external downloader using --external-downloader-args ARGS

A configuration file can be specified as an additional argument --external-downloader-args --conf-path=PATH-TO-CONFIG-FILE to load the configurations from a file instead of typing them all out as individual arguments.

Here's an example configuration file content I personally use.

continue # TO DOWNLOAD ANY INCOMPLETE/INTERRUPTED DOWNLOADS
dir=/home/pi/Downloads/Completed # DOWNLOAD DIRECTORY
log-level=warn
max-connection-per-server=16
max-concurrent-downloads=10
min-split-size=1MB
split=32
max-overall-upload-limit=10K
enable-rpc=true # TO EXPORT DOWNLOADS USING THE RPC WHEN ARIA2C IN RUNNING AS A DAEMON
rpc-listen-all=true
seed-ratio=0.0
input-file=/home/pi/.config/aria2/aria2.session
save-session=/home/pi/.config/aria2/aria2.session
save-session-interval=15
auto-save-interval=5

More detailed usage of Aria2c can be found in their official documentation.

  • The line max-connection-per-server=16 is the max concurrent connections to the server to download a single file. (Max is 16 I guess. Not very sure.)
  • And it can download multiple files concurrently max-concurrent-downloads=10 which will definitely ensure complete bandwidth usage.

from youtube-dl-gui.

jely2002 avatar jely2002 commented on July 26, 2024

I was already aware of the fact that youtube-dl has built-in support for aria2c. Maybe my question wasn't specific enough. I'll rephrase it: Why would you use aria2c instead of the standard downloader? What benefits does it offer?

At this point I'm reluctant of adding aria2c support as it does not seem to add notable benefits, and it will break the current progress bar implementation.

from youtube-dl-gui.

fazalfarhan01 avatar fazalfarhan01 commented on July 26, 2024

Pros of using aria2c

  • Multithreaded downloads
  • Can download to remote storages.

And btw I love the progress bar implementation. I thing the progress bar can also be implemented while using aria2c. There are several apps designed around it that also has the progress bar working fine.
One such example would be the Aria2c Chrome Extension

  • GitHub Repo
    You could use this to see how it’s implemented since you told you had no experience with it.

Thanks.

from youtube-dl-gui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.