Devine On Win SHORT v0.01
----------------------------------
Win 11 - CMD Prompt Instructions:
----------------------------------
https://github.com/devine-dl/devine
#Devine
[1] #Open up CMD Prompt = Command Prompt Terminal:
---------------------------------------------------
Win + R:
cmd [pres ENTER]
[2] #Check that all dependencies are installed and in PATH:
------------------------------------------------------------
(If any of the command give you an ERROR,
then the program is not in the Windows PATH and needs to be fixed).
git -v
mkvextract --version
mkvmerge --version
ffmpeg -version
aria2c --version
py -V
pip -V
virtualenv venv
ccextractorwinfull --version
shaka-packager -version
hola-proxy --version
py -m pip show --verbose devine
[3a] #Install "Devine" using a Simple install (recommended):
-------------------------------------------------------------
Where are your "*.wvd" files located/saved?
Where are your "SERVICES" located/saved?
What is your "devine.yaml" settings?
- It's important that you have correct path set to your "*.wvd" file in "devine.yaml"
or imported the "*.wvd" into "Devine" and name set appropriately in "devine.yaml".
- It's important that you set path to "SERVICES" correctly in "devine.yaml".
cd %userprofile%
mkdir wvd
mkdir git
cd git
git clone https://cdm-project.com/stabbedbybrick/devine-services
cd devine-services
py -m venv env
.\env\Scripts\activate
pip install devine
devine -v
#At later stage you can access it again:
-----------------------------------------
cd %userprofile%\git\devine-services
.\env\Scripts\activate
devine -v
[3b] #Install "Devine" using a Git clone/Poetry (advanced): [TODO]
------------------------------------------------------------
#Devine (version 3.0.0) from TPD [TODO]
#May have to install "Microsoft Visual C++ 14.0 or greater":
aria2c https://aka.ms/vs/17/release/vs_BuildTools.exe --dir %userprofile%\Downloads\
%userprofile%\Downloads\vs_BuildTools.exe --norestart --passive --downloadThenInstall --includeRecommended --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools
Confirm prompt with Alt+Y
Poetry - "Python dependency management and packaging made easy"
can be installed:
a] via "PIP" or
b] from "PowerShell"
------
a] # PIP
------
pip3 install poetry
----------------------------------
b] #Install Poetry from "PowerShell"
----------------------------------
PS:
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
In order to set the path, Administrator rights are required:
Win + R:
cmd
Ctrl + Shift + ENTER
Alt + Y
(Set your correct PATH/Username - replace XXXX with yours).
setx /M path "%PATH%;C:\Users\xxxx\AppData\Roaming\Python\Scripts\"
(Set correct "Username" - replace XXXX with yours).
C:\Users\xxxx\AppData\Roaming\Python\Scripts\poetry --version
poetry --version
cd %userprofile%\git
git clone https://cdm-project.com/TPD94/devine.git
cd devine
pip3 install poetry
poetry --version
poetry config virtualenvs.in-project true
poetry install
poetry shell
devine --version
#Poetry
pip3 install poetry
poetry config virtualenvs.in-project true
poetry install
poetry shell
poetry run devine --version
chmod u+x .venv/bin/activate
source "$( poetry env info --path )/bin/activate"
[4] #Configure the "Devine"/"Services":
----------------------------------------
Hash "#" at the front of variable "disables" it.
Hash proceeded by space are the config "Notes".
# Check you "Env" paths:
devine env info
# Edit the "devine.yaml" in notepad - Ctrl+S saves it
# keep the notepad opened for additional tests ;)
notepad %userprofile%\AppData\Local\devine\devine.yaml
Replace "xxxx" in the paths with your username.
Replace "email:password" with your log-in details.
"\" Backslash is used in the program PATH in Windows.
"/" Slash is used in program PATH in Linux.
Devine works on both OS Windows and Linux (also on Mac).
I have also noticed when copy/paste the config,
that sometimes there is a "white space" after the end of the word/command
so just check that there is not spaces at the end of "ALL" the word/commands
in the "devine.yaml" config.
###################################################
# DIRectory where all the SERVICES (ALL4, iP, ROKU, CTV, ....) are stored
directories:
services: C:\Users\xxxx\git\devine-services\services\
# You can also set "all the other specific variables" here
#temp: C:\Users\xxxx\temp\
#downloads: C:\Users\xxxx\devine-downloads
#cookies: C:\Users\xxxx\devine-cookies
#cache: C:\Users\xxxx\devine-cache
#logs: C:\Users\xxxx\devine-logs
# Set only if you have not imported your "*.wvd" files into "Devine"
WVDs: C:\Users\xxxx\wvd\full-name-of-your-wvd-with-extension_l3.wvd
# CDM - Content Decryption Module
# that you imported into "Devine" with "devine wvd add %userprofile%\wvd\*.wvd"
# your *.wvd file without the extension
# You can "set" specific Widevine Device for specific SERVICE/user
#cdm:
#default: full-name-of-your-wvd-file-imported-in-devine-without-extension_l3
#AMZN: chromecdm_903_l3
#NF: nexus_6_l1
#DSNP:
#jane_uhd: nexus_5_l1
#tom_hd: ia_emulator_16.0.0_l3
# CREDENTIALS or login details for specific SERVICES
credentials:
#ALL4: email:password
#AMZN: email:password
#NF: email:password
#john: email:password #NF specific username
#paul: email:password #NF specific username
#DSNP: email:password
#CTV: email:password
#CBC: email:password
#Setting "downloader"
downloader: aria2c
#downloader: requests
#downloader: curl_impersonate
#downloader: N_m3u8DL-RE (One day maybe)...
#Aria2 Settings:
#aria2c: prealloc
aria2c:
max_concurrent_downloads: 2
file_allocation: prealloc
#profiles:
# default: default
# SERVICES - iP - BBC iPlayer CERT.PEM settings
#services:
# iP:
# cert: C:\Users\xxxx\wvd\bbciplayer.pem
# SUBTITLES preference:
dl:
sub_format: srt
# KEY_VAULT - storing your "kid:key"
key_vaults:
- type: SQLite
name: Local vault
path: C:\Users\xxxx\wvd\key_store.db
#- type: MySQL
# name: "John#0001's Vault" # arbitrary vault name
# host: "127.0.0.1" # host/ip
# # port: 3306 # port (defaults to 3306)
# database: vault # database used for devine
# username: John321
# password: Doe123
###################################################
If something does not work, then delete all content in "devine.yaml"
and start from scratch.
Minimal set up is:
##################
directories:
services: C:\Users\xxxx\git\devine-services\services\
WVDs: C:\Users\xxxx\wvd\full-name-of-your-wvd-with-extension_l3.wvd
downloader: aria2c
##################
#Check the settings and what is saved in "devine.yaml":
devine cfg --list
[5] Downloading
----------------
If you at this stage get an error, then something is not set right in your "devine.yaml".
If the commands below work, you are set to go:
#Check "DEVINE" available options:
devine dl -?
#Check "SERVICES" available options:
devine dl NAME-of-THE-service-MAX-4-letters-SET-in-YOUR-devine-YAML-path -?
devine dl ALL4 -?
devine dl ROKU -?
devine dl iP -?
devine dl CTV -?
#Format is:
devine dl -w EP_RANGE -V -A SERVICE URL/ID
EP_RANGE = `S01-S05,S07`, `S01E01-S02E03`, `S02-S02E03`, e.t.c,
SERVICE = ALL4,ROKU,iP,CTV
URL = https://www.channel4.com/programmes/taskmaster
ID = taskmaster
----------------
[5a]# CTV
----------------
devine dl -?
devine dl CTV -?
#Make sure to remove "/" from the end of the URL..."/shows/227"
#Search specific show:
devine search CTV "227"
227 - 1985 - 5 Seasons - PG
Follows the lives of a group of middle-class people living in an apartment building.
#List "ALL" the episodes/titles for the show:
devine dl --list-titles CTV /shows/227
#or
devine dl --list-titles CTV https://www.ctv.ca/shows/227
#List specific epipsode "DETAILS":
https://www.ctv.ca/shows/227/pilot-s1e6
devine dl --list -w s01e06 CTV /shows/227
#or
devine dl --list -w s01e06 CTV https://www.ctv.ca/shows/227
#Download Show/Episode - 227 S01E06 "Pilot" BEST Video+Audio
https://www.ctv.ca/shows/227/pilot-s1e6
1 Video
└── [H.264, SDR] | en | 1920x1080 @ 7200 kb/s
1 Audio
└── [DD] | en | 6.0 | 384 kb/s
devine dl -w s01e06 CTV /shows/227
#or
devine dl -w s01e06 CTV https://www.ctv.ca/shows/227/pilot-s1e6
#Download Show/Episode - 227 S01E22 "Young Man With a Job" with 540p + BEST Audio
https://www.ctv.ca/shows/227/young-man-with-a-job-s1e22
devine dl --list -w s01e22 CTV /shows/227
devine dl -q 540 -w s01e22 CTV /shows/227
#or
devine dl -q 540 -w s01e22 --no-folder CTV /shows/227/young-man-with-a-job-s1e22
#or
devine dl -q 540 -w s01e22 --no-folder CTV https://www.ctv.ca/shows/227/young-man-with-a-job-s1e22
#Download Show/Episode - 227 S02E02 "Mary Nightingale" with 360p and Stereo Audio
https://www.ctv.ca/shows/227/mary-nightingale-s2e2
devine dl --list -w s02e02 CTV /shows/227
devine dl -q 360 -a AAC -w s02e02 --no-folder CTV /shows/227
#NOTWORKING
#Download Episode - 227 S03E03 "There Goes the Building" with 720p and DD and AAC Audio
https://www.ctv.ca/shows/227/there-goes-the-building-s3e3
#NOTWORKING
devine dl --list -w s03e03 --no-folder CTV /shows/227
devine dl -q 720 -a AAC DD -w s03e03 --no-folder CTV /shows/227
#NOTWORKING
-a, --acodec [AAC|DD|DD+|OPUS|VORB|DTS|ALAC|FLAC]
#NOTWORKING
https://www.ctv.ca/shows/227/double-your-pleasure-s4e4
devine dl -?
devine dl --list -w s04e04 --no-folder CTV /shows/227
devine dl -q 360 -sl en --sub-format srt -w s04e04 --no-folder CTV /shows/227
#or
devine dl -q 360 --s-lang en --sub-format srt -w s04e04 --no-folder CTV /shows/227
-q, --quality QUALITY_LIST Download Resolution(s), defaults to the best available resolution.
-sl, --s-lang LANG_RANGE Language wanted for Subtitles.
--sub-format [SRT|SSA|ASS|TTML|VTT|STPP|WVTT]
Set Output Subtitle Format, only converting if necessary.
-w, --wanted EP_RANGE Wanted episodes, e.g. `S01-S05,S07`, `S01E01-S02E03`, `S02-S02E03`, e.t.c,
defaults to all.
--no-folder Disable folder creation for TV Shows.
#Downloading movie
https://www.ctv.ca/movies/the-cable-guy
devine dl --list CTV /movies/the-cable-guy
devine dl -q 1080 --s-lang en --sub-format srt CTV /movies/the-cable-guy
----------------
[5b]# ROKU
----------------
devine dl ROKU -?
Nothing Trivial
S1:E3 Who Performed the 1987 Hit Song "Time of My Life"?
2011|UR
Brian has the chance to recapture his past; Mac goes head to head with family.
devine dl --list -w S01E03 ROKU 3d0ec09fbc2451fb86258ac042a1c5f8
devine dl -w S01E03 ROKU 3d0ec09fbc2451fb86258ac042a1c5f8
---------------------
[5c]# Channel 4 - ALL4
---------------------
https://www.channel4.com/categories/film?sort=recently-added
devine dl -?
devine dl ALL4 -?
devine search ALL4 "taskmaster"
Taskmaster - Series 17 Episode 3
https://www.channel4.com/programmes/taskmaster/on-demand/75588-003
devine dl --list-titles ALL4 taskmaster
devine dl --list -w s17e03 ALL4 taskmaster
devine dl --no-proxy -w s17e03 ALL4 taskmaster
devine dl --no-proxy -w s17e03 ALL4 https://www.channel4.com/programmes/taskmaster
devine dl --no-proxy -w s17e03 --no-folder --sub-format SRT -q 720 ALL4 taskmaster
--------------------
[5d]# BBC - iPlayer
--------------------
For UHD downloads you need the certificate "*.pem"
to be set in your "devine.yaml" config.
devine dl -?
devine dl iP -?
#Mammals - Series - Need to use the series PID.
------------------
https://www.bbc.co.uk/programmes/m001xxn5
https://www.bbc.co.uk/iplayer/episodes/m001xxn5/mammals
devine dl --list-titles iP m001xxn5
devine dl --list -w s00e00 iP m001xxn5
devine dl --list -w s01e03 iP m001xxn5
TRAILER FHD Only!
devine dl -v H.265 iP https://www.bbc.co.uk/iplayer/episode/p0hgjxtb/mammals-trailer-mammals
?seriesId=m001xxn5-unindexed
devine dl -v H.264 -w S00E00 --no-folder --sub-format SRT iP m001xxn5
S01E01
https://www.bbc.co.uk/iplayer/episode/m001xxn3/mammals-series-1-1-dark
?seriesId=m001xxn4
devine dl --list -w S01E01 iP m001xxn5c
devine dl --list -v H.265 -w S01E01 iP m001xxn5
devine dl -v H.265 -w S01E01 iP m001xxn5
#or
devine dl -v H.265 iP https://www.bbc.co.uk/iplayer/episode/m001xxn3/mammals-series-1-1-dark
S01E02
https://www.bbc.co.uk/iplayer/episode/m001y4f2/mammals-series-1-2-the-new-wild
?seriesId=m001xxn4
devine dl --list -w S01E02 iP m001xxn5
devine dl --list -v H.265 -w S01E02 iP m001xxn5
devine dl -v H.265 -w S01E02 iP m001xxn5
#or
devine dl -v H.265 iP https://www.bbc.co.uk/iplayer/episode/m001y4f2/mammals-series-1-2-the-new-wild
S01E03
https://www.bbc.co.uk/iplayer/episode/m001ybq9/mammals-series-1-3-water
?seriesId=m001xxn4
devine dl --list -w S01E03 iP m001xxn5
devine dl --list -v H.265 -w S01E0 iP m001xxn5
devine dl -v H.265 -w S01E03 --no-folder iP m001xxn5
#or, so it muxes into a MKV container
devine dl -v H.265 -w S01E03 --no-folder --sub-format SRT iP m001xxn5
------
[6]
------
#At later stage you can access "Devine" again:
----------------------------------------------
cd %userprofile%\git\devine-services
.\env\Scripts\activate
devine -v
#If something is not working, visit the Full Guide