• Stars
    star
    217
  • Rank 182,446 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A cli tool to download private videos on vimeo. Written in golang.

vimeo-dl

Go

A tool to download private videos on vimeo.

Usage

vimeo-dl --combine -i ${MASTER_JSON_URL}

Advanced Usage

# Download a video as ${clip_id}-video.mp4 (1080p).
# The highest resolution is automatically selected.
vimeo-dl -i "https://skyfire.vimeocdn.com/xxx/yyy/live-archive/video/240p,360p,540p,720p,1080p/master.json?base64_init=1&query_string_ranges=1"
# Download a video as ${clip_id}-video.mp4 (720p) with the specified user-agent.
vimeo-dl -i "https://skyfire.vimeocdn.com/xxx/yyy/live-archive/video/240p,360p,540p,720p,1080p/master.json?base64_init=1&query_string_ranges=1" \
         --video-id "720p" \
         --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
# Download a video as ${clip_id}.mp4.
vimeo-dl -i "https://8vod-adaptive.akamaized.net/xxx/yyy/sep/video/9f88d1ff,b83d0f9d,da44206b,f34fd50d,f9ebc26f/master.json?base64_init=1" \
         --video-id "b83d0f9d" \
         --audio-id "b83d0f9d" \
         --combine

# Download a video as my-video-file-name.mp4.
vimeo-dl -i "https://8vod-adaptive.akamaized.net/xxx/yyy/sep/video/9f88d1ff,b83d0f9d,da44206b,f34fd50d,f9ebc26f/master.json?base64_init=1" \
         --video-id "b83d0f9d" \
         --audio-id "b83d0f9d" \
         --combine \
         --output "my-video-file-name"

# The combine option is equivalent to the following command.
vimeo-dl -i "https://8vod-adaptive.akamaized.net/xxx/yyy/sep/video/9f88d1ff,b83d0f9d,da44206b,f34fd50d,f9ebc26f/master.json?base64_init=1" \
         --video-id "b83d0f9d" \
         --audio-id "b83d0f9d"
ffmpeg -i ${clip_id}-video.mp4 -i ${clip_id}-audio.mp4 -c copy ${clip_id}.mp4

Options

Usage:
  vimeo-dl [flags]

Flags:
      --audio-id string     audio id
      --combine             combine video and audio into a single mp4 (ffmpeg is required)
  -h, --help                help for vimeo-dl
  -i, --input string        url for master.json (required)
  -o, --output string       output file name
      --user-agent string   user-agent for request
  -v, --version             version for vimeo-dl
      --video-id string     video id

Install

Pre-compiled binaries

Currently, Windows, macOS and linux are supported.

  • Download the latest release from the release page.
  • Extract the downloaded .tar.gz file.

go install

# go <1.6
go get -u github.com/akiomik/vimeo-dl

# go >=1.6
go install github.com/akiomik/vimeo-dl

Build

make build

Test

make test

Docker

Using Docker images is useful if you do not have ffmpeg installed.

Build docker image:

# build docker image (with ffmpeg)
docker build -t vimeo-dl .

# build docker image without ffpeg
docker build -t vimeo-dl:no-ffmpeg --target=no-ffmpeg .

Use docker image (instead of the binary):

docker run -v "$(pwd)/downloads:/downloads" vimeo-dl ...

More Repositories

1

pilgram

A python library for instagram filters
Jupyter Notebook
90
star
2

seiun

An experimental ATP/Bluesky client app for Android
Kotlin
69
star
3

hubot-chatwork

A hubot adapter for chatwork
CoffeeScript
66
star
4

chrome-storage-promise

A chrome.storage wrapper that is using promise
JavaScript
33
star
5

nostui

A TUI client for Nostr
Rust
28
star
6

nosvelte

An experimental Svelte library for building Nostr apps easily
Svelte
27
star
7

nosli

Nosli: create a curated list of posts on nostr
Svelte
26
star
8

nostrends

What's trending on nostr?
TypeScript
26
star
9

git-gutter-vim

git gutter for vim
Vim Script
24
star
10

idea-android-scala

IntelliJ plugin for Android development with Scala
Scala
20
star
11

nosey

A search app for Nostr
Svelte
14
star
12

cats-nio-file

A thin scala wrapper for Java NIO.2, built on cats-effect 🐱
Scala
13
star
13

stanford-corenlp-server

Scala JSON-RPC server for Stanford CoreNLP
Scala
10
star
14

bluesky-account-creator

Svelte
10
star
15

plfa-solutions

Solutions for PLFA (Programming Language Foundations in Agda) exercise
Agda
7
star
16

xk6-nostr

An xk6 extension for nostr
Go
6
star
17

dtx2midi

.dtx -> .midi converter
Haskell
6
star
18

squawks

A cli tool to get old tweets as csv
Go
5
star
19

smt1-note

真・女神転生 (Shin Megami Tensei) の日本語版SFCについてのデータをまとめています。
Scala
5
star
20

alfred-haskell-inspector

An Alfred workflow for searching with Hoogle and Hayoo
5
star
21

nostr-noop-relays

A collection of noop relay implementations for Nostr
Elixir
5
star
22

craft-fm

wasm + Web Audio API
Rust
4
star
23

git-branch-status

A command line tool for displaying git branch colored by status
Rust
4
star
24

itermcolors-vim

generate iTerm color scheme using vim color scheme
Vim Script
3
star
25

textlint-rule-ja-hiraku

漢字を「ひらく」ためのtextlintルール
TypeScript
3
star
26

shiomi

An oscilloscope-like audio waveform GIF animation generator
Go
2
star
27

scalatest-csv-table

A scalatest helper for table driven testing with csv.
Scala
2
star
28

vibrato-dict-ipa-neologd

A compiled mecab-ipadic-neologd dictionary for vibrato
Rust
2
star
29

backbone-batch-operations

batch operation plugin for backbone.js
JavaScript
2
star
30

sbt-plugin.g8

Create sbt plugins template
Scala
2
star
31

dotfiles

my dotfiles for develop environment powered by rcm and brewdler.
Vim Script
2
star
32

logue-boy

Gameboy-like oscillators for KORG minilogue xd, prologue and Nu:Tekt NTS-1 digital kit
Makefile
1
star
33

scenic-cascade

A scenic migration file generator that supports cascading view updates
Ruby
1
star
34

my-boxen

my boxen settings for mac
Ruby
1
star
35

.github

1
star
36

nostr-anon-reply

Svelte
1
star
37

rx-nostr-playground

JavaScript
1
star
38

relevel

Lightweight REPL for LevelDB
Go
1
star
39

awesome-nostr-japan

1
star
40

tailwind-custom-sizing-theme-generator

Tailwind CSS theme generator for customizing spacing/sizing scale
TypeScript
1
star