2022-06-02 17:02:58 +02:00
2022-06-02 17:02:58 +02:00
2022-05-06 00:49:23 +02:00
2022-05-06 00:49:23 +02:00
2022-02-03 14:39:22 +01:00
2022-05-06 00:57:45 +02:00
2022-05-08 00:48:10 +02:00
2022-03-03 20:22:49 +01:00
2021-11-29 18:43:56 +01:00
2022-05-08 00:42:52 +02:00
2022-05-08 20:53:33 +02:00
2021-11-18 21:46:38 +01:00
2022-05-08 01:02:24 +02:00

yt-dlp Web UI

A not so terrible web ui for yt-dlp.
Created for the only purpose of fetching videos from my server/nas.

Intended to be used with docker but standalone is fine too. 😎👍

Developed to be as lightweight as possible (because my server is basically an intel atom sbc).

The bottleneck remains yt-dlp startup time (until yt-dlp will provide a rpc interface).

I will eventually make this better as soon as I can. Not in the immediate.

Format selection is in progress


Changelog:

05/03/22: Korean translation by kimpig

03/03/22: cut-down image size by switching to Alpine linux based container

01/03/22: Chinese translation by deluxghost

03/02/22: i18n enabled! I need help with the translations :/

27/01/22: Multidownload implemented!

26/01/22: Multiple downloads are being implemented. Maybe by next release they will be there.
Refactoring and JSDoc.

04/01/22: Background jobs now are retrieved!! It's still rudimentary but it leverages on yt-dlp resume feature

05/05/22: Material UI update

Now with dark mode

Settings

The avaible settings are currently only:

  • Server address
  • Switch theme
  • Extract audio
  • Switch language

Future releases will have:

  • Multi download done
  • Exctract audio done
  • Format selection in-progess

Troubleshooting

  • It says that it isn't connected/ip in the footer is not defined.
    • You must set the server ip address in the settings section (gear icon).
  • The download doesn't start.
    • As before server address is not specified or simply yt-dlp process takes a lot of time to fire up. (Forking yt-dlp isn't fast especially if you have a lower-end/low-power NAS/server/desktop where the server is running)
  • Background jobs are not retrieved.
    • As before forking yt-dlp isn't fast so resuming n background jobs takes n*time to exec yt-dlp Just have patience.

Docker installation

docker pull marcobaobao/yt-dlp-webui:latest
# or alternatively docker pull ghcr.io/marcobaobao/yt-dlp-web-ui:master
docker run -d -p 3022:3022 -v <your dir>:/usr/src/yt-dlp-webui/downloads marcobaobao/yt-dlp-webui

or

docker build -t yt-dlp-webui .
docker run -d -p 3022:3022 -v <your dir>:/usr/src/yt-dlp-webui/downloads yt-dlp-webui

Manual installation

# the dependencies are: python3, ffmpeg, nodejs, psmisc.

npm i
npm run build-all

# edit the settings.json specifying the download path or 
# it will default to the following created folder

mkdir downloads

node dist/main.js

FAQ

  • Will it availabe for Raspberry Pi/ generic ARM devices?
    • Yes, absolutely a multi-arch docker image is planned to be released.
      Alternatively use the non-docker / Manual installation method.
      If you plan to use it on a Raspberry Pi ensure to have fast and durable storage.
  • Why the docker image is so heavy?
    • Originally it was 1.8GB circa, now it has been slimmed to ~340MB compressed. This is due to the fact that it encapsule a basic Alpine linux image + FFmpeg + Node.js + Python3 + yt-dlp.
  • Am I forced to run it on port 3022?
    • Well, yes (until now).
  • Why is it so slow to start a download?
    • I genuinely don't know. I know that standalone yt-dlp is slow to start up even on my M1 Mac, so....

Todo list

  • retrieve background tasks
  • format selection
  • better ui/ux
Description
A terrible web ui and RPC server for yt-dlp. Designed to be self-hosted.
Readme GPL-3.0 14 MiB
Languages
Go 78.4%
TypeScript 14%
Nix 6.4%
Dockerfile 0.8%
Makefile 0.4%