Sign inSign up

recodeuk/youtube-dl-flask

By recodeuk

•Updated almost 6 years ago

youtube-dl-flask

Image
4

500K+

recodeuk/youtube-dl-flask repository overview

Docker Stars Shield Docker Pulls Shield

⁠TL;DR Why choose this

This fork also builds upon the current infrastructure to provide an experience where the user can search youtube and view the thumbnail & title and choose to download a video.

⁠youtube-downloader-flask

Very spartan Web and REST interface for downloading youtube videos onto a server. flask⁠ + youtube-dl⁠.

main page

⁠Running

⁠Docker CLI

This example uses the docker run command to create the container to run the app. Here we also use host networking for simplicity. Also note the -v argument. This directory will be used to output the resulting videos

docker run -d --net="host" --name youtube-dl -v /home/core/youtube-dl:/youtube-dl recodeuk/youtube-dl-flask
⁠Docker Compose

This is an example service definition that could be put in docker-compose.yml. This service uses a VPN client container for its networking.

  youtube-dl:
    image: "recodeuk/youtube-dl-flask"
    volumes:
      - /home/core/youtube-dl:/youtube-dl
    restart: always

⁠Usage

⁠Start a download remotely

Downloads can be triggered by supplying the {{url}} of the requested video through the Web UI or through the REST interface via curl, etc.

⁠HTML

Just navigate to http://{{host}}:8080/youtube-dl and enter the requested {{url}}.

⁠Curl
curl -X POST --data-urlencode "url={{url}}" http://{{host}}:8080/youtube-dl/q
⁠Fetch
fetch(`http://${host}:8080/youtube-dl/q`, {
  method: "POST",
  body: new URLSearchParams({
    url: url,
    format: "bestvideo"
  }),
});
⁠Bookmarklet

Add the following bookmarklet to your bookmark bar so you can conviently send the current page url to your youtube-dl-server instance.

javascript:!function(){fetch("http://${host}:8080/youtube-dl/q",{body:new URLSearchParams({url:window.location.href,format:"bestvideo"}),method:"POST"})}();

⁠Implementation

The server uses flask⁠ for the web framework and youtube-dl⁠ to handle the downloading. The integration with youtube-dl makes use of their python api⁠.

This docker image is based on python:alpine⁠ and consequently alpine:3.8⁠.

Tag summary

Content type

Image

Digest

Size

46.6 MB

Last updated

almost 6 years ago

docker pull recodeuk/youtube-dl-flask