Devine v3.3.3
Pre-Requisits needed for "Devine" to work
#-----------------------------------------
- WVD file (or use CDRM_Project_API)
- PEM Cert for BBC iPLayer UHD Content
I store them in ~/wvd/ DIRectory
mkdir ~/Downloads mkdir ~/git mkdir ~/wvd mkdir ~/py
#BBC.PEM
aria2c https://raw.githubusercontent.com/sdhtele/VT/18f0e652d3e1a532ca85510469ff175390056b98/vinetrimmer/certs/bbciplayer.pem --dir ~/wvd/ -o bbciplayer.pem
#Install "SERVICES" v3.3.3
#----------------------------------
mkdir -p ~/git/stabbedbybrick-333/
cd ~/git/stabbedbybrick-333/
git clone https://cdm-project.com/stabbedbybrick/devine-services
#Your SERVICES path will be:
cd devine-services/services
pwd
ls
#PATH for SERVICES from StabbedByBrick
#----------------------------------------------------------
~/git/stabbedbybrick-333/devine-services/services
#Install "Devine" v3.3.3
#------------------------------
cd ~;
mkdir ~/git/devine-333-pip/;
cd ~/git/devine-333-pip/;
python3 -m venv .venv
source .venv/bin/activate
pip3 install devine
devine -v
devine env info
devine cfg --list
#Devine v3.3.2 and up offers to store "devine.YAML"
file in 3 locations.
If you are using different version, it's best to store
"devine.YAML" in local DIRectory of the project.
Using the "devine cfg ..." bofore setting "devine.YAML" it will result in settings being stored
in "~/.config/devine/devine.yaml" and you may have to re-adjust SERVICES
and other settings when switching between different versions ....
#Manually EDIT "devine.YAML" for "Devine" v3.3.3
# The Below are impossible to set up from CLI, so lets add:
#-------------------------------------------------------------------------------
nano ~/git/devine-333-pip/.venv/lib/python3.11/site-packages/devine/devine.yaml
https://en.wikipedia.org/wiki/Indentation_(typesetting)
#(indentation is "IMPORTANT")
# services (dict)
services:
iP:
cert: ~/wvd/bbciplayer.pem
#############################
#(indentation is "IMPORTANT")
#key_vaults (list[dict])
key_vaults:
- type: SQLite
name: Local-Vault
path: ~/wvd/key_store.db
############################
#(indentation is "IMPORTANT")
remote_cdm:
- name: CDRM_Project_API
device_type: ANDROID
system_id: 4464
security_level: 3
host: https://cdrm-project.com/devine
secret: CDRM-Project
device_name: CDM
NOW PRESS Ctrl + O + Enter (to save it)
PRESS Ctrl + X (to Exit Nano editor)
#Lets add SERVICES|DOWNLOADS|WVDs|CDM|SRT..... path/names:
#------------------------------------------------------------------------------------------
devine cfg directories.services ~/git/stabbedbybrick-333/devine-services/services/
devine cfg directories.downloads ~/Videos/
devine cfg directories.wvds ~/wvd/
devine cfg cdm.default CDRM_Project_API
devine cfg dl.sub_format srt
devine cfg dl.lang en
devine cfg dl.downloads 4
devine cfg dl.workers 16
devine env info
devine cfg --list
#RETURNING to Devine v3.3.3 when you close the Termianl window
#----------------------------------------
cd ~/git/devine-333-pip/;
source .venv/bin/activate
devine -v
#USAGE - CTV | iPlayer
#-------------------------------------------------------------
#CTV
devine dl -?
devine dl CTV -?
devine dl --list-titles --no-proxy CTV /movies/the-girl-with-the-dragon-tattoo-2011
devine dl --list --no-proxy CTV /movies/the-girl-with-the-dragon-tattoo-2011
devine dl -q 360 -a AAC --no-folder --no-proxy CTV /movies/the-girl-with-the-dragon-tattoo-2011
-q, --quality QUALITY_LIST Download Resolution(s), defaults to the best available resolution.
-a, --acodec [AAC|DD|DD+|OPUS|VORB|DTS|ALAC|FLAC] Audio Codec to download, defaults to any codec.
--no-folder Disable folder creation for TV Shows.
--no-proxy Force disable all proxy use.
#BBC iPlayer
devine dl -?
devine dl IP -?
devine dl --list-titles iP https://www.bbc.co.uk/iplayer/episode/p0j2wnx5
devine dl --list -v H.264 iP https://www.bbc.co.uk/iplayer/episode/p0j2wnx5
devine dl --list -v H.265 iP https://www.bbc.co.uk/iplayer/episode/p0j2wnx5
devine dl -q 432 -r HLG --no-folder -w s01e77 iP https://www.bbc.co.uk/iplayer/episode/p0j2wnx5