/freevine

A Download Utility for Free Streaming Services

Primary LanguagePythonMIT LicenseMIT

Freevine
A Download Utility for Free Streaming Services

Python version Python virtual environments

Features:

  • Movies & TV-series
  • Episode selection and batch options
  • Quality selection
  • Automatic PSSH, manifest, and key retreival
  • Config file with customized settings
  • Search option

Supported services:

The Roku Channel: 1080p, DD5.1
CBC Gem:          1080p, DD5.1
CTV:              1080p, DD5.1
Channel4 All4:    1080p, AAC2.0
Channel5 My5:     1080p, AAC2.0
BBC iPlayer:      1080p, AAC2.0
STV Player:       1080p, AAC2.0
ABC iView:        1080p, AAC2.0
UKTVPlay:         1080p, AAC2.0
Crackle:          1080p, AAC2.0
CWTV:             1080p, AAC2.0
Pluto:            720p,  AAC2.0
ITVx:             720p,  AAC2.0
Tubi:             720p,  AAC2.0

Requirements:

Installation:

  1. Install Python (check 'Add to PATH' if on Windows)
  2. Clone main branch or download latest version from Releases
  3. Place required tools inside Freevine folder OR add them to system PATH (recommended)
  4. Create /utils/wvd/ folder and place either .wvd file or private_key and client_id blob inside
  5. Install necessary packages: pip install -r requirements.txt

Tip

Get the main branch for immediate fixes and updates

Usage:

Available commands:

  --help                  Help documentation

  --search                Search service(s) for titles
  --threads               Concurrent download fragments
  --format                Specify file format
  --muxer                 Select muxer
  --no-mux                Choose to not mux files
  --save-name             Name of saved file
  --save-dir              Save directory
  --sub-only              Download only subtitles
  --sub-no-mux            Choose to not mux subtitles
  --sub-no-fix            Leave subtitles untouched
  --use-shaka-packager    Use shaka-packager to decrypt
  -e, --episode           Download episode(s)
  -s, --season            Download complete season
  -c, --complete          Download complete series
  -m, --movie             Download movie
  -t, --titles            List all titles
  -i, --info              Print title info
  -sv, --select-video     Select video stream
  -sa, --select-audio     Select audio stream
  -dv, --drop-video       Drop video stream
  -da, --drop-audio       Drop audio stream
  -ss, --select-subtitle  Select subtitle
  -ds, --drop-subtitle    Drop subtitle

Examples:

python freevine.py --help (READ THIS!)

python freevine.py --titles URL
python freevine.py --movie URL
python freevine.py --info --episode S01E01 URL
python freevine.py --subtitles --episode S01E01 URL
python freevine.py --episode S01E01 URL
python freevine.py --episode "name of episode" URL
python freevine.py --episode EPISODE_URL
python freevine.py --episode S01E01-S01E10 URL
python freevine.py --episode S01E01,S03E12,S05E03 URL
python freevine.py --season S01,S03,S05 URL
python freevine.py --select-video res=720 --season S01 URL
python freevine.py --select-audio name=English --episode S01E01 URL

Tip

See "N_m3u8DL-RE --morehelp select-video/audio/subtitle" for possible selection patterns

Disclaimer

  1. This project is purely for educational purposes and does not condone piracy
  2. RSA key pair required for key derivation is not included in this project