Skip to content
Another webui for youtube-dl powered by Flask.
Python HTML JavaScript CSS Shell
Branch: master
Clone or download
Latest commit fe67a78 May 13, 2018


Another webui for youtube-dl powered by Flask.

youtube-dl is a powerful command-line based tool aims to download videos from and a few more sites. However, it lacks a manager to control and schedule all downloading tasks separately. Also, for people who like me prefers to deploy downloading tasks on a home-server, the ability to manage tasks remotely comes essentially.

There has been a webui for youtube available on Github, Youtube-dl-WebUI. The drawbacks of this project is that it writes in PHP and youtube-dl writes in python. What makes things more worse is that, to use PHP, a web server is needly inevitably. This complexes service deployment and makes it not very 'light'.

issues are welcomed!




This project is writen under the python 3.6, I haven't test the codes in any other python versions. So, I hightly recommend you to use python 3.6 to avoid any troubles.

Also, we need ffmpeg for post processing. Lack of ffmpeg may case some funtions not working.


To install youtube-dl-webui, you have to firstly install youtube-dl and Flask, then simply execute the following command:

python install

How to use

Defaultly, youtube-dl-webui will find the configuration file in /etc directory named youtube-dl-webui.conf. The configuration file, however, need not to be always placed in such a place. Instead, the -c option is used to point out the configuration file.

Configuration file is json formatted. An example configuration file can be found in the root directory of project.

Currently, not to much options available, use -h to find out all of them.

After everything is ready, simply execute:

youtube-dl-webui -c CONFIGURATION_FILE

A server will be started locally. The default port is 5000.

Note, you have to remove proxy configuration option in your config file. I write it here for illustrating all valid config options.

Docker image

There also exists a docker image to easy the deployment. Check HERE for more.

You can’t perform that action at this time.