Another webui for youtube-dl powered by Flask.
d0u9 fe67a78229 Bug fix #20 1 year ago
screen_shot update screenshot 1 year ago
test some refactor 1 year ago
youtube_dl_webui Bug fix #20 1 year ago
.gitignore update .gitignore file 2 years ago
LICENSE Initial commit 2 years ago Bug fix for [Errno 2] No such file or directory: 'logging.json' 1 year ago Fullly support bestvideo + bestaudio format. 1 year ago pump to version 0.2.1 1 year ago
REST_API.txt add batch operations' API 1 year ago
example_config.json log size can be changed 1 year ago correct version info 1 year ago


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.