All Projects → ihabunek → Twitch Dl

ihabunek / Twitch Dl

Licence: gpl-3.0
CLI tool for downloading videos from Twitch.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Twitch Dl

Twitchy
CLI streamlink wrapper for twitch.tv
Stars: ✭ 80 (-58.76%)
Mutual labels:  cli, twitch
Streamlink
Streamlink is a CLI utility which pipes video streams from various services into a video player
Stars: ✭ 6,883 (+3447.94%)
Mutual labels:  cli, twitch
Got
Got: Simple golang package and CLI tool to download large files faster 🏃 than cURL and Wget!
Stars: ✭ 469 (+141.75%)
Mutual labels:  cli, download-videos
Gophie
An Aggregator Engine for searching and downloading movies free - NO ADs!
Stars: ✭ 94 (-51.55%)
Mutual labels:  cli, download-videos
Botany
command line virtual plant buddy
Stars: ✭ 192 (-1.03%)
Mutual labels:  cli
Firectl
firectl is a command-line tool to run Firecracker microVMs
Stars: ✭ 192 (-1.03%)
Mutual labels:  cli
Emptty
Dead simple CLI Display Manager on TTY
Stars: ✭ 190 (-2.06%)
Mutual labels:  cli
Klingon
Angular Klingon: The UI companion for the @angular/cli
Stars: ✭ 191 (-1.55%)
Mutual labels:  cli
Twf
Standalone tree view file explorer, inspired by fzf.
Stars: ✭ 196 (+1.03%)
Mutual labels:  cli
Tubekit
🧪 kubectl alternative with quick context switching, kubectl on steroids
Stars: ✭ 194 (+0%)
Mutual labels:  cli
Gossm
💻Interactive CLI tool that you can connect to ec2 using commands same as start-session, ssh in AWS SSM Session Manager
Stars: ✭ 192 (-1.03%)
Mutual labels:  cli
Git Heatmap
📊 Display a heatmap for oft-edited files
Stars: ✭ 193 (-0.52%)
Mutual labels:  cli
Snapstub
Copy API endpoints to your fs and run a local server using them
Stars: ✭ 193 (-0.52%)
Mutual labels:  cli
Typed Scss Modules
🎁 Generate type definitions (.d.ts) for CSS Modules using SCSS
Stars: ✭ 192 (-1.03%)
Mutual labels:  cli
Ng Tailwindcss
A CLI tool for integrating Tailwind CSS into Angular-CLI projects
Stars: ✭ 194 (+0%)
Mutual labels:  cli
Amber
A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance.
Stars: ✭ 2,345 (+1108.76%)
Mutual labels:  cli
Pipes Rs
An over-engineered rewrite of pipes.sh in Rust
Stars: ✭ 189 (-2.58%)
Mutual labels:  cli
Bst
🔧 Bespoken Tools - Tools for making voice apps faster and better
Stars: ✭ 193 (-0.52%)
Mutual labels:  cli
Platformsh Cli
The unified tool for managing your Platform.sh services from the command line.
Stars: ✭ 192 (-1.03%)
Mutual labels:  cli
Klepto
Klepto is a tool for copying and anonymising data
Stars: ✭ 193 (-0.52%)
Mutual labels:  cli

Twitch Downloader

CLI tool for downloading videos from twitch.tv

Inspired by youtube-dl but improves upon it by using multiple concurrent connections to make the download faster.

Resources

Requirements

  • Python 3.5+
  • ffmpeg, installed and on the system path

Installation

Download standalone archive

Go to the latest release and download the twitch-dl.<version>.pyz archive.

Run the archive by either:

a) passing it to python:

python3 twitch-dl.1.13.0.pyz --help

b) making it executable and invoking it directly (linux specific):

chmod +x twitch-dl.1.13.0.pyz
./twitch-dl.1.13.0.pyz --help

Feel free to rename the archive to something more managable, like twitch-dl.

To upgrade to a newer version, repeat the process with the newer release.

From PYPI using pipx

pipx is a tool which installs python apps into isolated environments, which prevents all kinds of problems later so it's the suggested way to install twitch-dl from PYPI.

Install pipx as described in pipx install docs.

Install twitch-dl:

pipx install twitch-dl

Check installation worked:

twitch-dl --help

If twitch-dl executable is not found, check that the pipx binary location (by default ~/.local/bin) is in your PATH.

To upgrade twitch-dl to the latest version:

pipx install twitch-dl

Usage

This section does an overview of available features.

To see a list of available commands run:

twitch-dl --help

And to see description and all arguments for a given command run:

twitch-dl <command> --help

Print clip or video info

Videos can be referenced by URL or ID:

twitch-dl info 863849735
twitch-dl info https://www.twitch.tv/videos/863849735

Clips by slug or ID:

twitch-dl info BusyBlushingCattleItsBoshyTime
twitch-dl info https://www.twitch.tv/bananasaurus_rex/clip/BusyBlushingCattleItsBoshyTime

Shows info about the video or clip as well as download URLs for clips and playlist URLs for videos.

Listing videos

List recent streams for a given channel:

twitch-dl videos bananasaurus_rex

Use the --game option to specify one or more games to show:

twitch-dl videos --game "doom eternal" --game "cave story" bananasaurus_rex

Downloading videos

Download a video by ID or URL:

twitch-dl download 221837124
twitch-dl download https://www.twitch.tv/videos/221837124

Specify video quality to download:

twitch-dl download -q 720p 221837124

Setting quality to source will download the best available quality:

twitch-dl download -q source 221837124

Listing clips

List clips for the given period:

twitch-dl clips bananasaurus_rex --period last_week

Supported periods are: last_day, last_week, last_month, all_time.

For listing a large number of clips, it's nice to page them:

twitch-dl clips bananasaurus_rex --period all_time --limit 10 --pager

This will show 10 clips at a time and ask to continue.

Downloading clips

Download a clip by slug or URL:

twitch-dl download VenomousTameWormHumbleLife
twitch-dl download https://www.twitch.tv/bananasaurus_rex/clip/VenomousTameWormHumbleLife

Specify clip quality to download:

twitch-dl download -q 720 VenomousTameWormHumbleLife

Note that twitch names for clip qualities have no trailing "p".

Batch downloading clips

It's possible to download all clips for a given period:

twitch-dl clips bananasaurus_rex --period last_week --download

Clips are downloaded in source quality.

A note about clips

Currently it doesn't seem to be possible to get a list of clips ordered by time of creation, only by view count. Clips with the same view count seem to be returned in random order. This can break paging resulting in duplicate clips listed or clips missed.

When batch downloading a large number of clips (over 100), it's possible that some will be missed.

Temporary files

By default, twitch-dl will download VODs to your systems temp dir (e.g. /tmp/ on Linux). To change the location where the files are downloaded you can set the TMP environment variable, e.g.

TMP=/my/tmp/path/ twitch-dl download 221837124

Man page

Building the man page for twitch-dl requires scdoc.

The source is in twitch-dl.1.scd, and you can build it by running:

make man

License

Copyright 2018-2020 Ivan Habunek [email protected]

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].