Git Product home page Git Product logo

yt-dlp's Introduction

YT-DLP: containerisation

Run yt-dlp inside a container.

Table of contents

About

Lightweight, non-root, container image with yt-dlp and recommended dependencies ffmpeg and ffprobe.

Features

  • This image is updated everytime a new version of yt-dlp is launched.
  • Lightweight Base Image: python:alpine.
  • yt-dlp version: 2024.05.27.
  • ffmpeg version: 6.1.
  • Run as a non-root user.

Getting Started

This image can be used with Docker and Podman. You will need one of these installed.

Usage

Standard usage

docker run --rm -u $(id -u):$(id -g) -v $(pwd):/storage kgtm/yt-dlp [OPTIONS] URL [URL...]
podman run --rm --userns keep-id -v $(pwd):/storage docker.io/kgtm/yt-dlp [OPTIONS] URL [URL...]
  • Directory where you run this command will be made available to yt-dlp and files will be written there.
  • The entrypoint is set to yt-dlp, so do not put yt-dlp again as argument.
  • You can shorten this command with an alias.

Specify an alias command

You can omit the entire command input by specifying an alias in your shell of choice. The following line can be added to the end of your .bash_aliases, .bashrc or .zshrc. Afterwards you can simply use yt-dlp [OPTIONS] URL [URL...] from your shell.

alias yt-dlp='docker run --rm -u $(id -u):$(id -g) -v $(pwd):/storage kgtm/yt-dlp'
alias yt-dlp='podman run --rm --userns keep-id -v $(pwd):/storage docker.io/kgtm/yt-dlp'

Bypass entrypoint and execute arbitrary commands

Check the version of FFmepg

docker run --rm --entrypoint '' kgtm/yt-dlp ffmpeg -version | head -n 1
podman run --rm --entrypoint '' docker.io/kgtm/yt-dlp ffmpeg -version | head -n 1

Launch a shell

docker run -it --rm --entrypoint '' kgtm/yt-dlp sh
podman run -it --rm --entrypoint '' docker.io/kgtm/yt-dlp sh

Contributing

Check our issue tracker for open issues or create new ones for any problems or feature requests. You can also clone this repository solve issues or implement new features and submit a pull request.

By contributing to this project, you agree that your contributions will be licensed under Apache License 2.0.

Acknowledgements

Without the work from the people behind yt-dlp and ffmpeg, this container image wouldn't have a purpose. Also, this repository was greatly inspired by the works of tnk4on/yt-dlp and kijart/docker-youtube-dl. Show them some ๐Ÿค

License

Apache License 2.0

yt-dlp's People

Contributors

kgtm avatar

Watchers

 avatar

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.