forum videohelp com / threads / 41 48 56
See below for detailed instructions, this is just quick set-up for those who know what they are doing ;)
Code:#----------------------- # Update/Upgrade REPOS; #----------------------- sudo apt update; sudo apt list --upgradable -a; \ sudo apt -V upgrade -y; sudo apt full-upgrade #--------------- #Create DIR's; #--------------- mkdir ~/Downloads mkdir ~/git mkdir ~/wvd mkdir ~/py #----------------------- # Install Dependencies; #----------------------- sudo apt install \ python3 python3-pip python3-setuptools python-is-python3 python3.12-venv python3-ttconv \ unrar \ zip unzip \ ffmpeg \ mkvtoolnix mkvtoolnix-gui \ mediainfo mediainfo-gui \ aria2 curl git nano \ vlc mpv \ asciinema \ #Fin; #------------------------------------------------ #Download "N_m3u8DL-RE" to "Downloads" DIRectory; #------------------------------------------------ cd ~/Downloads curl -kLO https://github.com/nilaoda/N_m3u8DL-RE/releases/download/v0.3.0-beta/N_m3u8DL-RE_v0.3.0-beta_linux-x64_20241203.tar.gz ## (Debian 13/Trixie does not allow to unpack/untar directly into the "/usr/local/bin/" DIRectory); # Check the package is OK; gunzip -tv vimeo-dl_0.2.0_linux_amd64.tar.gz # Check what is inside the TAR.GZ archive; tar -tvvf N_m3u8DL-RE_v0.3.0-beta_linux-x64_20241203.tar.gz # Unpack; tar -xvf N_m3u8DL-RE_v0.3.0-beta_linux-x64_20241203.tar.gz N_m3u8DL-RE # Move to "/usr/local/bin/"; sudo mv N_m3u8DL-RE /usr/local/bin/ # Make the BInary file "EXEcutable; sudo chmod a+rx /usr/local/bin/N_m3u8DL-RE # List the file; ls -ilha /usr/local/bin/N* # Check the version N_m3u8DL-RE --version #------------------------------------------------ #Download "Vimeo-DL" to "Downloads" DIRectory; #------------------------------------------------ cd ~/Downloads curl -kLO https://github.com/akiomik/vimeo-dl/releases/download/v0.2.0/vimeo-dl_0.2.0_linux_amd64.tar.gz # Check the package is OK; gunzip -tv vimeo-dl_0.2.0_linux_amd64.tar.gz # Look inside; tar -tvvf vimeo-dl_0.2.0_linux_amd64.tar.gz # Unpack tar -xvf ~/Downloads/vimeo-dl_0.2.0_linux_amd64.tar.gz vimeo-dl # Move to "/usr/local/bin/" sudo mv vimeo-dl /usr/local/bin/ # Make the BInary file "EXEcutable; sudo chmod a+rx /usr/local/bin/vimeo-dl vimeo-dl -v #------------------ #Bento4 1.6.0-641; #------------------ cd ~/Downloads curl -kL https://www.bok.net/Bento4/binaries/Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip -o ~/Downloads/Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip sudo unzip -j Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip 'Bento4-SDK-1-6-0-641.x86_64-unknown-linux/bin/*' -d /usr/local/bin/ ls -ilha /usr/local/bin/ mp4decrypt mp4info #------------------------- #Shaka-Packager v2.6.1; #------------------------- sudo curl -kL https://github.com/shaka-project/shaka-packager/releases/download/v2.6.1/packager-linux-x64 -o /usr/local/bin/shaka-packager sudo chmod a+rx /usr/local/bin/shaka-packager shaka-packager --version #-------------------- #Hola-Proxy LATEST; #-------------------- sudo curl -kL https://github.com/Snawoot/hola-proxy/releases/latest/download/hola-proxy.linux-amd64 -o /usr/local/bin/hola-proxy sudo chmod a+rx /usr/local/bin/hola-proxy hola-proxy -version #------------------------- #LATEST #Windscribe-Proxy; #------------------------- sudo curl -kL https://github.com/Snawoot/windscribe-proxy/releases/latest/download/windscribe-proxy.linux-amd64 -o /usr/local/bin/windscribe-proxy sudo chmod a+rx /usr/local/bin/windscribe-proxy windscribe-proxy -version #------------------ #LATEST #YT-DLP; #------------------ sudo curl -kL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp yt-dlp --version #------------------ #LATEST - #Poetry; #------------------ curl -sSL https://install.python-poetry.org | python3 - #Edit to "Set environment variables" nano ~/.bashrc ## Poetry export PATH="/home/$USER/.local/bin:$PATH" #--------------------- #LATEST Get_iPlayer; #--------------------- sudo apt install -y \ libwww-perl \ libcgi-pm-perl \ libxml-simple-perl \ libxml-libxml-perl \ liblwp-protocol-https-perl \ atomicparsley \ libmojolicious-perl \ libass-dev #Fin; cd ~/Downloads curl -kLO https://raw.github.com/get-iplayer/get_iplayer/master/get_iplayer sudo install -m 755 ./get_iplayer /usr/local/bin sudo chmod 755 ./get_iplayer get_iplayer -V #----------------------------------- #Optional Get_iPlayer preferences; #----------------------------------- get_iplayer --prefs-add --release-check --subtitles --subsraw --subs-embed --metadata=generic --thumb --thumbnail-size=1920 --long --file-prefix="<nameshort>_<00seriesnum>-<00episodenum>_<episode>_<pid>_<mode>" get_iplayer --prefs-show #-------------- #LATEST #GPAC; #-------------- sudo apt install -y \ libglew-dev \ libglfw3-dev \ cmake \ gcc \ libcurl4-gnutls-dev \ tesseract-ocr \ libtesseract-dev \ libleptonica-dev \ clang \ libclang-dev \ autoconf \ build-essential \ pkg-config \ g++ \ git \ yasm cd ~/git git clone https://github.com/gpac/gpac.git cd gpac ./configure make -j$(nproc) ./bin/gcc/MP4Box -version; ./bin/gcc/gpac -version; sudo make install MP4Box -version gpac -version ---------------------- #v0.93 (Aug 16, 2021) CCExtractor [needs GPAC installed] !!!! ---------------------- c7ebd45 commit c7ebd45d9fec39dcdd6dc2312f1a9c89838e2b85 (HEAD, tag: v0.93) cd ~/git git clone https://github.com/CCExtractor/ccextractor.git cd ~/git/ccextractor/ git log git checkout c7ebd45 cd ~/git/ccextractor/linux make clean sudo make uninstall make distclean ./autogen.sh ./configure --without-rust make -j$(nproc) ./ccextractor --version sudo make install ccextractor --version cd ~
Code:# Python | PIP; python -V; python -m pip -V; pip -V; # Python3 | PIP3; python3 -V; python3 -m pip -V; pip3 -V; # FFMpeg; ffmpeg -version; ffprobe -version; # MKV ToolNix; mkvextract --version; mkvmerge --version; # Aria; aria2c --version; # cURL; curl -V; # VLC; vlc --version; # MPV; mpv --version; # Git; git -v; # Nano Editor; nano --version; # MediaInfo; mediainfo --version; # Asciinema; asciinema --version; #Fin;
Code:# Shaka Packager; shaka-packager -version; # Hola Proxy; hola-proxy -version; # Windscribe Proxy windscribe-proxy -version; # CCExtractor; ccextractor --version; # GPAC Suite; mp4box -version; gpac -version; # Bento4 ; mp4info; mp4decrypt; # Poetry; poetry --version; # N_m3u8DL-RE; N_m3u8DL-RE --version; # Vimeo-DL; vimeo-dl -v # YT-DLP; yt-dlp --version; # Get_iPlayer; get_iplayer -V; #Fin;
This guide will only work with DISTRO (distribution) that is running STABLE/LATEST version.
If you have set-up Debian in VM/VPS, here are some steps to get you going:
(This guide is based on KVM install of Debian 12)
a] Easy way to add NEW user to you system from ROOT:
#Create "user" accountCode:apt install -y sudo mc htop
#Set password for user "user"Code:useradd -m -s /bin/bash user
#Add to SUDO users:Code:passwd user
###########################Code:nano +48 /etc/sudoers
user ALL=(ALL:ALL) ALL
#OR NO PASSWORD REQUESTS
user ALL=(ALL:ALL) NOPASSWD:ALL
###########################
ALL= host
(ALL: = all users
ALL) = all groups
NOPASSWD:ALL = all commands
b] Amend your "SOURCES" file:
#To install fron CONTRIB | NON-FREE you need to add "contrib non-free"
Code:nano +3 /etc/apt/sources.listCode:#From deb http://deb.debian.org/debian/ bookworm main non-free-firmware #To deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
#Or perhaps if you decided to install a local QEMU virtual machine, in qcow2:
Code:nano /etc/apt/sources.list.d/debian.sourcesCode:#From Types: deb deb-src URIs: mirror+file:///etc/apt/mirrors/debian.list Suites: bookworm bookworm-updates bookworm-backports Components: main Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg #To Types: deb deb-src URIs: mirror+file:///etc/apt/mirrors/debian.list Suites: bookworm bookworm-updates bookworm-backports Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Following from the "Video guide to get your Win system set-up for ....."
comes basic CLI "Guide" to get your Linux (Debian based)
system set-up to use with the projects in this forum
and install the following APPlications/BINaries:
If you are new to Linux/Debian, please consult the manual:
https://debian-handbook.info/browse/stable/
* Python 3.11.x [and PIP] (https://www.python.org/downloads/)
* FFmpeg [and ffprobe] for repacking/remuxing streams on specific services, and evaluating stream data. (https://github.com/FFmpeg/FFmpeg/)
* MKVToolNix v54+ [and MKVMerge] for muxing individual streams to an .mkv file. (https://mkvtoolnix.download/downloads.html)
* aria2[(c] to use as a downloader (https://aria2.github.io/)
* cURL to use as a downloader (https://curl.se/)
* VLC free and open source cross-platform multimedia player and framework (https://www.videolan.org/vlc/)
* MPV a free, open source, and cross-platform media player (https://mpv.io/)
* Git a free and open source distributed version control system (https://www.git-scm.com/)
* Nano Text Editor (https://www.nano-editor.org/)
* MediaInfo a convenient unified display of the most relevant technical and tag data for video and audio files. (https://mediaarea.net/en/MediaInfo/)
* Asciinema Record and share your terminal sessions, the simple way. (https://asciinema.org/)
I download packages to ~/Downloads DIRectory
Clone GIT Repos to ~/git DIRectory
Keep Python scripts in ~/py DIRectory
#If you skip this step some/rest of the commands will FAIL
(you will have to amend/delete the paths in ALL the commands below......)
Code:mkdir ~/Downloads mkdir ~/git mkdir ~/wvd mkdir ~/py
Update/upgrade the above via APT:
Code:sudo apt update; sudo apt list --upgradable -a; \ sudo apt -V upgrade -y; sudo apt full-upgrade
Code:sudo apt install python3 python3-pip python3-setuptools python-is-python3 \ python3.11-venv unrar zip unzip ffmpeg mkvtoolnix aria2 curl vlc mpv git nano \ mediainfo asciinema
[OPTIONAL] GUI Commands:
Code:sudo apt install mkvtoolnix-gui mediainfo-gui
Check all installed and in PATH:
Code:python -V; python -m pip -V; # python3 -V; python3 -m pip -V; # ffmpeg -version; ffprobe -version; mkvmerge --version; aria2c -v; curl -V; vlc --version; mpv --version; git --version; nano --version; mediainfo --version
----------------------------------
#Install BINary APPS
----------------------------------
* Hola Proxy Standalone Hola proxy client (https://github.com/Snawoot/hola-proxy/)
* Windscribe Proxy Standalone client for proxies of Windscribe browser extension (https://github.com/Snawoot/windscribe-proxy/)
* Shaka Packager for decrypting CENC-CTR and CENC-CBCS video and audio streams (https://github.com/shaka-project/shaka-packager/)
* get_iPlayer A utility for downloading TV and radio programmes from BBC iPlayer and BBC Sounds (https://github.com/get-iplayer/get_iplayer/)
* YT-DLP A feature-rich command-line audio/video downloader (https://github.com/yt-dlp/yt-dlp/wiki/Installation/)
* GPAC Ultramedia OSS for Video Streaming & Next-Gen Multimedia Transcoding, Packaging & Delivery (https://github.com/gpac/gpac/wiki/GPAC-Build-Guide-for-Linux/)
* CCExtractor for extracting Closed Caption data like EIA-608 from video streams and converting as SRT. (https://github.com/CCExtractor/ccextractor/blob/master/docs/COMPILATION.MD)
* Bento4 [and mp4decrypt] A fast, modern, open source C++ toolkit for all your MP4 and DASH/HLS/CMAF media format needs. (https://github.com/axiomatic-systems/Bento4/)
* N-m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. (https://github.com/nilaoda/N_m3u8DL-RE/)
* VisualStudioCode | VSCode | Code editor redefined and optimized for building and debugging modern web and cloud applications (https://wiki.debian.org/VisualStudioCode/)
* Vimeo-DL A cli tool to download private videos from Vimeo. Written in golang. (https://github.com/akiomik/vimeo-dl/)
###############
# LATEST hola-proxy
#LATEST windscribe-proxyCode:sudo curl -kL https://github.com/Snawoot/hola-proxy/releases/latest/download/hola-proxy.linux-amd64 -o /usr/local/bin/hola-proxy sudo chmod a+rx /usr/local/bin/hola-proxy hola-proxy -version
#LATEST shaka-packagerCode:sudo curl -kL https://github.com/Snawoot/windscribe-proxy/releases/latest/download/windscribe-proxy.linux-amd64 -o /usr/local/bin/windscribe-proxy sudo chmod a+rx /usr/local/bin/windscribe-proxy windscribe-proxy -version
#[OPTIONAL] #LATEST mpd_generatorCode:sudo curl -kL https://github.com/shaka-project/shaka-packager/releases/latest/download/packager-linux-x64 -o /usr/local/bin/shaka-packager sudo chmod a+rx /usr/local/bin/shaka-packager shaka-packager --version
#[OPTIONAL] #LATEST PSSH BoxCode:sudo curl -kL https://github.com/shaka-project/shaka-packager/releases/latest/download/mpd_generator-linux-x64 -o /usr/local/bin/mpd sudo chmod a+rx /usr/local/bin/mpd mpd --version
#LATEST get_iplayerCode:mkdir -p ~/py/pssh-box curl -kL https://github.com/shaka-project/shaka-packager/releases/latest/download/pssh-box.py.tar.gz -o ~/Downloads/pssh-box.py.tar.gz tar zxvf ~/Downloads/pssh-box.py.tar.gz -C ~/py/pssh-box cd ~/py/pssh-box python3 -m venv .venv source .venv/bin/activate pip3 install google google-api-python-client python3 pssh-box.py -h #To EXIT deactivate
Code:sudo apt install -y libwww-perl libcgi-pm-perl libxml-simple-perl libxml-libxml-perl \ liblwp-protocol-https-perl atomicparsley libmojolicious-perl libass-dev#Optional - Please read the manual.Code:cd ~/Downloads curl -kLO https://raw.github.com/get-iplayer/get_iplayer/master/get_iplayer sudo install -m 755 ./get_iplayer /usr/local/bin sudo chmod 755 ./get_iplayer get_iplayer -V
Code:get_iplayer --prefs-add --release-check --subtitles --subsraw --subs-embed --metadata=generic --thumb --thumbnail-size=1920 --long --file-prefix="<nameshort>_<00seriesnum>-<00episodenum>_<episode>_<pid>_<mode>" get_iplayer --prefs-show
#LATEST YT-DLP
#UpgradeCode:sudo curl -kL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp yt-dlp --version
Code:sudo yt-dlp -U
#v0.2.0 Vimeo-DL
To Download from Vimeo:Code:cd ~/Downloads curl -kLO https://github.com/akiomik/vimeo-dl/releases/download/v0.2.0/vimeo-dl_0.2.0_linux_amd64.tar.gz sudo tar zxvf vimeo-dl_0.2.0_linux_amd64.tar.gz vimeo-dl -C /usr/local/bin/ sudo chmod a+rx /usr/local/bin/vimeo-dl vimeo-dl --help
Code:vimeo-dl --combine -o "Video.Name.1080p.VIMEO.WEB-DL.AAC.2.0.H.264" \ -i "URL with /v2/playlist/av/primary/playlist.json?omit=av1-hevc&pathsig=1a2b3c.........."
If you have more videos to download, you can filter the URLs in (F12/Developer tools) with
FF:
CH:Code:regexp:playlist.json
Code:/playlist.json/
###############
-------------
#LATEST GPAC
-------------
#Lets install "all" dependencies for GPAC and CCExtractor
tesseract-ocr package will only install English language support
Code:sudo apt install -y libglew-dev libglfw3-dev cmake gcc libcurl4-gnutls-dev tesseract-ocr \ libtesseract-dev libleptonica-dev clang libclang-dev autoconf build-essential pkg-config \ g++ git cmake yasm#Upgrade GPAC to LATEST version (Works only if you already installed it the above step)!Code:cd ~/git git clone https://github.com/gpac/gpac.git cd gpac ./configure make -j$(nproc) sudo make install MP4Box -version gpac -version cd ~
Code:cd ~/git/gpac git pull make clean sudo make uninstall make distclean ./configure make -j$(nproc) sudo make install MP4Box -version gpac -version cd ~
-----------------------------------------------------------
#LATEST CCExtractor [needs GPAC installed]
-----------------------------------------------------------
##OR using the build scriptCode:cd ~/git git clone https://github.com/CCExtractor/ccextractor.git ##Standard linux compilation through Autoconf scripts cd ccextractor/linux ./autogen.sh ./configure --without-rust make -j$(nproc) ./ccextractor --version sudo make install ccextractor --version cd ~
Code:cd ccextractor/linux ./build -without-rust make -j$(nproc) ./ccextractor --version cd ~
#Upgrade CCExtractor to LATEST version (Works only if you already installed it the above step)!
Code:cd ~/git/ccextractor/ git pull cd ~/git/ccextractor/linux make clean sudo make uninstall make distclean ./autogen.sh ./configure --without-rust make -j$(nproc) ./ccextractor --version sudo make install ccextractor --version cd ~
-------------------------------
#LATEST Bento4
-------------------------------
#Upgrade Bento4 to LATEST version (Works only if you already installed it the above step)!Code:cd ~/git git clone https://github.com/axiomatic-systems/Bento4.git cd Bento4 ##CMake/Make mkdir cmakebuild cd cmakebuild cmake -DCMAKE_BUILD_TYPE=Release .. make -j$(nproc) ./mp4info sudo make install mp4info cd ~
Code:cd ~/git/Bento4 git pull cd cmakebuild make clean sudo make uninstall make distclean cmake -DCMAKE_BUILD_TYPE=Release .. make -j$(nproc) ./mp4info sudo make install mp4info
----------------------------------------------------------------
#LATEST N_m3u8DL-RE - needs .NET installed - 20240630 | 0.2.0+00bce19aea2286aa28b8be56ebfc175b69f2bc39
----------------------------------------------------------------
https://github.com/nilaoda/N_m3u8DL-RE/blob/main/.github/workflows/build_latest.yml
#DOTNET Linux Install instructions
https://learn.microsoft.com/en-us/dotnet/core/install/linux
#Check your Linux version
Code:hostnamectl #or cat /etc/issue #or cat /etc/os-release#Debian 12Code:sudo apt install -y libicu-dev libcurl4-openssl-dev zlib1g-dev libkrb5-dev
#See help for .NET publishCode:curl -kL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o ~/Downloads/packages-microsoft-prod.deb sudo dpkg -i ~/Downloads/packages-microsoft-prod.deb rm ~/Downloads/packages-microsoft-prod.deb sudo apt update; sudo apt install -y dotnet-sdk-8.0
Code:dotnet publish -h
#CompileCode:cd ~/git git clone https://github.com/nilaoda/N_m3u8DL-RE.git cd N_m3u8DL-RE
#Check the versionCode:dotnet publish src/N_m3u8DL-RE -r linux-x64 -c Release -o artifact
0.2.0+00bce19aea2286aa28b8be56ebfc175b69f2bc39Code:./artifact/N_m3u8DL-RE --version ./artifact/N_m3u8DL-RE --help
N_m3u8DL-RE (Beta version) 20240630
#Copy/Install to "/usr/local/bin/"
Code:sudo cp ./artifact/N_m3u8DL-RE /usr/local/bin/ N_m3u8DL-RE --version N_m3u8DL-RE --help
#ZIP
#TARCode:zip -j ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240630 ./artifact/N_m3u8DL-RE
Code:cd artifact tar -cvf ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240630.tar.gz N_m3u8DL-RE
If you are interested, here is the log:
N_m3u8DL-RE.log
#Updating N_m3u8DL-RE (00bce19..508f39b) #422
Code:git -C ~/git/N_m3u8DL-RE pull cd ~/git/N_m3u8DL-RE dotnet publish src/N_m3u8DL-RE -r linux-x64 -c Release -o artifact ./artifact/N_m3u8DL-RE --version ./artifact/N_m3u8DL-RE --help sudo cp ./artifact/N_m3u8DL-RE /usr/local/bin/ N_m3u8DL-RE --version N_m3u8DL-RE --help
Code:#ZIP zip -j ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240724 ./artifact/N_m3u8DL-RE #TAR cd artifact tar -cvf ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240724.tar.gz N_m3u8DL-RE
Code:#Download: curl -kL https://forum.videohelp.com/attachments/81273-1722967115/N_m3u8DL-RE_Beta_linux-x64_20240724.zip -o ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240630.zip
Code:#UNzip sudo unzip ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240724.zip -d /usr/local/bin/ #UNtar (VH.com does not accept TAR.GZ files)!! :( sudo tar zxvf ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240724.tar.gz -C /usr/local/bin/
###############
- Bento4 1.6.0-641
- N_m3u8DL-RE (Beta version) - 20240828
- N_m3u8DL-RE (Beta version) - 20240630
- N_m3u8DL-RE (Beta version) - 20231113
- N_m3u8DL-RE (Beta version) - 20230628
#Bento4 1.6.0-641 - SEE ABOVE how to compile LATEST Version
Code:cd ~/Downloads curl -kL https://www.bok.net/Bento4/binaries/Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip -o ~/Downloads/Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip sudo unzip -j Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip 'Bento4-SDK-1-6-0-641.x86_64-unknown-linux/bin/*' -d /usr/local/bin/ ls -ilha /usr/local/bin/ mp4decrypt
[B]#LATEST N_m3u8DL-RE (Beta version) - 20240828 | 0.2.1+e9b6c9f3c31d648cb259c700e5c519102a5bb9cc
Code:cd ~/Downloads curl -kLO https://github.com/nilaoda/N_m3u8DL-RE/releases/download/v0.2.1-beta/N_m3u8DL-RE_Beta_linux-x64_20240828.tar.gz sudo tar xvf N_m3u8DL-RE_Beta_linux-x64_20240828.tar.gz --strip-components=1 -C /usr/local/bin/ --verbose sudo chmod a+rx /usr/local/bin/N_m3u8DL-RE sudo chown root:root /usr/local/bin/N_m3u8DL-RE ls -ilha /usr/local/bin/ N_m3u8DL-RE --version N_m3u8DL-RE --help
#LATEST N_m3u8DL-RE (Beta version) - 20240630 | 0.2.0+00bce19aea2286aa28b8be56ebfc175b69f2bc39
Code:cd ~/Downloads curl -kL https://forum.videohelp.com/attachments/80460-1720290308/N_m3u8DL-RE_Beta_linux-x64_20240630.zip -o ~/Downloads/N_m3u8DL-RE_Beta_linux-x64_20240630.zip sudo unzip -j N_m3u8DL-RE_Beta_linux-x64_20240630.zip 'N_m3u8DL-RE' -d /usr/local/bin/ ls -ilha /usr/local/bin/ N_m3u8DL-RE --version N_m3u8DL-RE --help
#OR Version 20231113 from stabbedbybrick REPO
#N_m3u8DL-RE (Beta version) 20231113 | 0.2.0+819af27b49b3b66a4a66b69060312376ad53b231 - SEE Above on how to compile LATEST Version
Code:cd ~/Downloads curl -kL https://github.com/stabbedbybrick/N_m3u8DL-RE/releases/download/20240304/N_m3u8DL-RE_Beta_linux-x64.zip -o ~/Downloads/N_m3u8DL-RE_Beta_linux-x64.zip sudo unzip ~/Downloads/N_m3u8DL-RE_Beta_linux-x64.zip -d /usr/local/bin/ sudo chmod a+rx /usr/local/bin/N_m3u8DL-RE ls -ilha /usr/local/bin/ N_m3u8DL-RE --version N_m3u8DL-RE --help
#Not so LATEST N_m3u8DL-RE_v0.2.0-beta - 20230628
Code:cd ~/Downloads curl -kLO https://github.com/nilaoda/N_m3u8DL-RE/releases/download/v0.2.0-beta/N_m3u8DL-RE_Beta_linux-x64_20230628.tar.gz sudo tar zxvf N_m3u8DL-RE_Beta_linux-x64_20230628.tar.gz -C /usr/local/bin/ sudo chmod a+rx /usr/local/bin/N_m3u8DL-RE N_m3u8DL-RE --version N_m3u8DL-RE --help
-------------------------------------
#Visual Studio Code | VS Code | Code | IDE (Integrated Development Environments)
-------------------------------------
You have the option to install TWO versions:
a] Visual Studio Code "with" M$ branding/telemetry/licensing [https://code.visualstudio.com/download]
b] VS Code "without" M$ branding/telemetry/licensing [https://github.com/VSCodium/vscodium] [https://vscodium.com/]
---
a] Installing via apt [you also use Install via snap or flatpak not covered here] (https://wiki.debian.org/VisualStudioCode)
---
#Updating the packages index and installing the dependencies:
#Import the Microsoft GPG keyCode:sudo apt update; sudo apt install gnupg2 software-properties-common apt-transport-https curl
Add the Visual Studio Code repository to your system:Code:curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
#Install the Visual Studio Code package:Code:sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
Code:sudo apt update; sudo apt install code; code --version;
---
b] VS Code "without" M$ branding/telemetry/licensing
---
#Add the GPG key of the repository:
Add the repository:Code:wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \ | gpg --dearmor \ | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
Update then install vscodium (if you want vscodium-insiders, then replace codium by codium-insiders):Code:echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \ | sudo tee /etc/apt/sources.list.d/vscodium.list
Code:sudo apt update && sudo apt install codium; codium --version;
----------------------------------------------------
#Testing the setup FFMpeg | MPV
----------------------------------------------------
Requires NEWish/LATEST version of FFMpeg with "cenc_decryption_key"
Code:ffmpeg -cenc_decryption_key 166634c675823c235a4a9446fad52e4d -i "https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p.mpd" -c copy -f flv - | mpv -Code:ffmpeg -cenc_decryption_key 100b6c20940f779a4589152b57d2dacb -i "https://cdn.bitmovin.com/content/assets/art-of-motion_drm/mpds/11331.mpd" -c copy -f flv - | mpv -
#Download
-BitMovin restricts their stream = 429 (Too Many Requests).
Code:mkdir ~/Videos/11331; cd ~/Videos/11331 N_m3u8DL-RE -mt -sv best -sa all -ss all --save-name 11331 --check-segments-count False \ https://cdn.bitmovin.com/content/assets/art-of-motion_drm/mpds/11331.mpd
#Play (MPV)
Code:mpv --demuxer-lavf-o=decryption_key=100b6c20940f779a4589152b57d2dacb 11331.mp4 --audio-file-auto=all --sub-auto=all
-Tears of Steel
Code:mkdir ~/Videos/mango; cd ~/Videos/mango N_m3u8DL-RE -mt -sv best -sa all -ss all --save-name ToS \ https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p.mpdCode:mpv --demuxer-lavf-o=decryption_key=166634c675823c235a4a9446fad52e4d ToS.und.mp4 --audio-file-auto=all --sub-auto=all
--------------------------------
# Python Key terms
--------------------------------
https://docs.python.org/3/installing/index.html#key-terms
---------------------------------------------------------
# PIP
- the preferred installer program. (the package installer for Python.)
Starting with Python 3.4, it is included by default with the Python binary installers.
https://pypi.org/project/pip/
# Virtual Environment
- a semi-isolated Python environment that allows packages to be installed for use by a particular application,
rather than being installed system wide.
You are asking, why use Virtual Environment?
In plain English, if you are installing two python projects and both are using
same dependency (but with different versions = older and newer etc.)
that would create a conflict ...... Virtual Environment makes sure you do not to have Python dependency conflicts ;)
# VENV
- the standard tool for creating virtual environments,
and has been part of Python since Python 3.3. Starting with Python 3.4,
it defaults to installing pip into all created virtual environments.
#Create
#ActivateCode:python3 -m venv .venv
Code:source .venv/bin/activate
# VirtualEnv
- a third party alternative (and predecessor) to venv.
It allows virtual environments to be used on versions of Python prior to 3.4,
which either don’t provide venv at all, or aren’t able to automatically install pip into created environments.
# PyPI
- Python Package Index is a public repository of open source licensed packages
made available for use by other Python users.
https://pypi.org/
# PyPA
- Python Packaging Authority is the group of developers and documentation authors
responsible for the maintenance and evolution of the standard packaging tools
and the associated metadata and file format standards.
https://www.pypa.io/
# Poetry
- Alternative to VENV
Python packaging and dependency management made easy
https://python-poetry.org/
https://python-poetry.org/docs/basic-usage/#activating-the-virtual-environment
https://python-poetry.org/docs/cli/
https://pypi.org/project/poetry/
# Using "Multiple Major Versions of Python Package" on Linux is pain in the back .....unless using pyenv
# Install Poetry ("-3.12" you have Multiple Major Versions of Python Package and want to use version 3.12):
# Check your version:Code:python3 -m pip install poetry
# Create the "virtualenv" inside the project’s root directoryCode:python3 -m poetry -V
# Reads the pyproject.toml file from the current project, resolves the dependencies, and installs them.Code:python -m poetry config virtualenvs.in-project true
# Spawns a shell within the project’s virtual environment.Code:python3 -m poetry install
Code:python3 -m poetry shell
# Pipenv
- a Python virtualenv management tool that supports a multitude of systems and nicely bridges the gaps between pip,
python (using system python, pyenv or asdf) and virtualenv.
Linux, macOS, and Windows are all first-class citizens in pipenv.
https://pipenv.pypa.io/en/latest/
https://pypi.org/project/pipenv/
# PyEnv
- Simple Python version management
https://github.com/pyenv/pyenv
https://realpython.com/intro-to-pyenv/#installing-pyenv
#Dependencies
#Download/InstallCode:sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \ libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl
Code:curl https://pyenv.run | bash
############Code:nano ~/.bashrc
Code:#Load pyenv automatically by adding #the following to ~/.bashrc: export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"Code:. .bashrcCode:pyenv install --list | grep " 3\.[12]"Code:pyenv install -v 3.12.4
-------------------------------------------
INTERESTING PROJECTS:
-------------------------------------------
Beyond-WKS-KEYS
https://forum.videohelp.com/threads/411862
FreeVine (discontinued, but still works)
https://forum.videohelp.com/threads/411643
#1463 Linux Installation
https://forum.videohelp.com/threads/411643/page49#post2739976
Devine
https://forum.videohelp.com/threads/414154
UK-FTA | UK-Free-to-Air-Downloader
https://forum.videohelp.com/threads/411884
#255
https://forum.videohelp.com/threads/411884/page9#post2736217
#271
https://forum.videohelp.com/threads/411884/page10#post2736385
DRM free content downloader WideFrog
https://forum.videohelp.com/threads/414548
Widevine-L3-Guesser-Extension
https://forum.videohelp.com/threads/414140
[Release] CDRM-Project 2.0
https://forum.videohelp.com/threads/414973
KeyDive: Beyond Android SDK 33
https://forum.videohelp.com/threads/414789
Vadapav (downloader)
https://forum.videohelp.com/threads/413280
All Hell Let Loose!
https://forum.videohelp.com/threads/415090
I take no responsibility what so ever if you can not
copy/paste the commands without deleting or adding extra characters
to the command during this process ;)
Improvements/corrections to this guide are welcome.
#EDIT 7th Jun 2024
- Small corrections
#EDIT 8th Jun 2024
- Small corrections
#EDIT 13th Jun 2024
- Small corrections
#EDIT 14th Jun 2024
- Added command to update/upgrade via APT
- Small corrections
- Corrected PSSH Box routine
#EDIT 18th Jun 2024
- Added asciinema to install files
- Small corrections
#EDIT 19th Jun 2024
- Added Freevine Install instruction link
#EDIT 24 June 2024
- Added section "Testing your setup"
- Added links to Debian Handbook
- Added new "INTERESTING PROJECTS"
#EDIT 1st Jul 2024
- Small corrections (tesseract-ocr)
- Added "Python Key Terms" (Needs correcting the commands - ToDo)
#EDIT 2nd Jul 2024
- Amended INTERESTING PROJECTS
#EDIT 6th Jul 2024
- Small corrections/improvements
- Added PyEnv to Python Key terms
- Latest version N_m3u8DL-RE compilation updated | NEW commits as of Jun 30, 2024
- Added "N_m3u8DL-RE_Beta_linux-x64_20240630.zip" to FILES and the guide
#EDIT 7th Jul 2024
- Small corrections/improvements (that not always save....)
- Added instructions on how to add "contrib non-free"
- All of the above have been confirmed to work in my clean KVM Install
#EDIT 6th Aug 2024
- Small corrections/improvements (that not always save....)
- Added more options in section "Testing your setup"
- Updated N_m3u8DL-RE to 508f39b
#EDIT 6th Nov 2024
- Added Vimeo-DL instructions
- Added N_m3u8DL-RE (Beta version) - 20240828 instructions
- Small corrections/improvements (that not always save....)
#EDIT 17th Dec 2024
- Added QuickGuide at the TOP of the page
- Updated N_m3u8DL-RE (Beta version) - 20241203 (QuickGuide)
- Added how to compile CCExtractor v0.93 (QuickGuide)
- Small corrections/improvements (that not always save....)
ToDo:
- Correct Python Key Terms commands
- Add "asciinema" guide
DISCLOSURE:
I'm not affiliated with any of the "release" groups
that some members vacate these shores and have their own agendas.
+ Reply to Thread
Results 1 to 30 of 40
-
-
Please can you commit some of these to the gitbook?
Repo is here : https://github.com/0xbreezy/Setup-DevGuide
Would be very useful for a) futureproofing , b) getting things moving with that, c) having a useful guide to point folks to instead of just "find my thread".
Thanks! -
I do not have a GitHub account and do not want one ...
Please feel free to copy the guide in full,
the more guides there is the more chance there is
people will drop using Windows and migrate to a decent OS -
This is a useful resource; thanks for the time you took to document all the steps involved in installing the various applications.
I will point out that after spending a day following these instructions, a new user will then have to (really, ought to) spend a few more hours every month or so updating to new versions.
Wouldn't it be fantastic if someone were interested and willing to put together a Docker/Podman container image which was regularly updated with new versions of these applications? The instructions would then be (almost identical for Linux, MacOS and Windows):
- install Podman for your operating system (it's free software, reasonably well documented)
- run the application you need and enjoy the feeling of being pretty well protected (thanks to container sandboxing) from any attempts to subvert the fairly long list of somewhat obscure software you have avoided installing natively on your precious computer
Obviously it would be better if I did rather than whaddabout-iffed. I'm already busy developing dash-mpd-cli (which happens to be published as a software container, and seems useful to some people) and other tools, and don't use most of these tools personally, so I'm not the best person to stand up. But I see a huge value per hour invested opportunity here. -
-
To be honest, @pteque, I've never used / looked at Podman before - this looks great and might be an excellent idea!
-
-
@azqs it seems like I'm going to build out a podman image that will do it - just watching some stuff now to figure it out
-
-
-
We could probably do the following:
Build a docker image that has all the necessary tools in it, INCLUDING tools such as devine, and whatever, and the necessary python environment.
We can then tell people to merely put their devine config file/downloads on their desktop, and use a bind mount to have people mount their downloads, and config file to the container. E.g.:
Code:podman run --rm -v /User/Desktop/devine.yaml:/devine/devine/devine.yaml /User/Desktop/Downloads:/devine/devine/downloads/ videohelp-tools-container
1. Download podman + Install
2. Import the podman image we give you
3. Run a wrapper script that will allow you to run the commands from anywhere.
That should be it! -
-
Indeed, the only slightly tricky aspects of using a Podman/Docker software container are related to mounting a directory into the container:
- to get the downloaded media files out of the container
- to get config files into the container
Some documentation with example recipes for each application would be very useful.
BTW if you build a multiarch container (for linux/AMD64 and linux/ARM64), it should run without software emulation on both flavours of Mac hardware, and soon on both flavours of Windows hardware. -
I'm not against any improvements that will make things better for the users,
but IMHO getting other tools involved "can" make it more complex, especially
for new users, and once the person maintaining the project abandons it
users are left to pick up the pieces.
I should have also included command to update/upgrade via APT:
Code:sudo apt update; sudo apt list --upgradable -a; sudo apt -V upgrade -y; sudo apt full-upgrade
as it involves compiling, but i'ts done when needed ....
Upgrading other BINaries is a matter of downloading / making executable also when needed ...
The automation can also have an adverse effect, that NEW versions can/will introduce new bugs .....
(and if I remember correctly "shaka-packager" did with UK-FTA)
@pteque:
I do not believe that the updates to BINary files are so regular and required "few more hours every month" ...
Yes, keep your system Up-To-Date, but it has litterally taken me cca. 20min to update all .....
Would Update "script" not be a better option? -
I think more choice is generally better, and an update script might be useful to some people. But it has several disadvantages wrt a prebuilt Podman/Docker software container:
- doesn't help users on MacOS or Windows or more obscure operating systems (separate scripts could in theory be published for those platforms, but that's more work and it's generally much more difficult to build software there)
- doesn't provide any of the security sandboxing goodness
- more fragile (look for example at all the problems people on this forum have using different versions of system-installed Python) -
-
This might sound silly - but with VMWare player and VMWare fusion now being free for personal use - wouldn't it just be better for me to build a linux machine with everything pre-installed so that people do not need to bother with any folder binding stuff? That way we can write instructions solely for Linux, and say to folks "if you cannot install this stuff yourself, use the machine"? It would be a pretty big file but would solve a ton of headaches...
I am aware this isn't the most elegant in terms of system resource usage / space, but if everything is pre-installed and I make sure it works perfectly... there can be no complaints...Last edited by keep_it_breezy; 15th Jun 2024 at 08:20. Reason: Added context
-
I actually think that's a good idea. Can build an importable vmware file that runs a fairly simple/"familiar" operating system (say, ubuntu), install ALL the tools we need, including git and stuff, and then people can just work from that. That way we wouldn't get monumental walls of text etc for simple issues.
I'd even install virtualenvwrapper so that people don't have to use standard pyenv syntax, it's simply a case of (for more complex tooling where you don't want to use system environment installed packages) "workon freevine" to start the freevine venv etc. -
Does anyone want to collaborate on this,
I'm going to have to do 2 versions, x86 and ARM
Shouldn't take too long but if anyone has any ideas I'm all ears. -
Here are the disadvantages that I see of a VM image rather than a Podman/Docker image:
- Less protection from malware in any code you might install, because the VM image is going to be persisted to the next startup.
- Less convenient for updates, because a new image requires a full new download.
- Less tooling available AFAIK to build VM images in an automated way
I don't see it as being much easier to handle the folder binding; you'll still need to mount a folder to your host with a VM in order to access the downloaded media. Nonetheless, I expect a Linux VM might be useful to some people! -
Hmmm I disagree on the Malware point - VMs are extremely useful for host:vm separation - there's no concern about malware "escaping" to the host (unless people deliberately drag and drop it) - , and similar could happen with folder binding anyway.
Agreed on the less convenient updates - though the way I have been building it has been very dependent on git, so if a tool should need updating before I can build a new image, I don't think there's anything wrong with saying to people "head to the folder and run git pull". Though I do get the point to an extent.
I was going to have it build entirely with Ansible eventually. I might put up a repo with my base playbooks I've got so far. That way the actual rebuilding of machine images to share (which should hopefully be fairly irregularly, really) will be just a case of running the playbook at an empty machine.
Folder binding is fairly specific to a certain folder (as far as I'm aware) - so for example, you'd have to move files locally to the binded host folder, and then run your tooling on it - as opposed to in a vm where you can just run a command anywhere (say, you have a local mpd) and drag and drop the file into the terminal window, and the terminal will deal with path related stuff for you. I think, especially looking at average technical skill in here, providing a vm where folks can just drag and drop stuff as they need is probably a slightly "more appropriate" solution. Not necessarily better, but probably likely to produce more positive resultsLast edited by keep_it_breezy; 15th Jun 2024 at 15:54. Reason: Spelling
-
Anyone know how to get ccextractor to compile in Fedora please ive done all the rest of the required apps but cant get this to compile and cant find anything on the web about it
Code:root@fedora:/tmp/temp/ccextractor/linux# ./build -without-rust find: ‘/usr/include/gpac/’: No such file or directory Running pre-build script... Obtaining Git commit Storing variables in file Commit: d6ccf1bfcba606c633b40349dcab07dfc77f73a5 Date: 2024-06-26 Stored all in compile_info_real.h Done. Trying to compile... Building without rust files... Building ccextractor Error: please install tesseract development library (libtesseract-dev for Debian/Ubuntu) root@fedora:/tmp/temp/ccextractor/linux# make -j$(nproc)
-
It tells you? You need to compile tesseract development library - https://github.com/ropensci/tesseract/blob/master/README.md
-
There are TWO pieces if information that can give you the clue why it is not compiling
Code:find: ‘/usr/include/gpac/’: No such file or directory
Code:Error: please install tesseract development library (libtesseract-dev for Debian/Ubuntu)
Code:sudo yum install tesseract-devel leptonica-devel
as well
Please maybe let other users know what exactly worked for you to get it installed on your Fedora Distro.
Thank you. -
N_m3u8DL-RE has had "recently" few commits
- 20240630 | 0.2.0+00bce19aea2286aa28b8be56ebfc175b69f2bc39
new version for linux-x64 is now linked into the Guide + few corrections. -
Hey fellas, thanks for Guide it is very much appreciated. I seem to be running into an issue, when i get to this point
----------------------------------------------------
#Testing the setup FFMpeg | MPV
----------------------------------------------------
Code:
ffmpeg -cenc_decryption_key 166634c675823c235a4a9446fad52e4d -i "https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p.mpd" -c copy -f flv - | mpv -
Code:
ffmpeg -cenc_decryption_key 100b6c20940f779a4589152b57d2dacb -i "https://cdn.bitmovin.com/content/assets/art-of-motion_drm/mpds/11331.mpd" -c copy -f flv - | mpv -
I am receiving an error from each command
ffmpeg -cenc_decryption_key 166634c675823c235a4a9446fad52e4d -i "https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p.mpd" -c copy -f flv - | mpv -
i get this as an error: Unrecognized option 'cenc_decryption_key'.
Error splitting the argument list: Option not found
[file] Reading from stdin...
Failed to recognize file format.
and from the 2nd command i get : Unrecognized option 'cenc_decryption_key'.
Error splitting the argument list: Option not found
[file] Reading from stdin...
Failed to recognize file format.
I've just managed to fall head first into this rabbit hole of info and am kind of tangled up. I've read a bunch of guides threads but i don't yet have the know-how to troubleshoot.
I might have jumped into this guide prematurely but I will appreciate any help.
Thanks so much!
-
Very weird - will you just run `ffmpeg` and say which version you're using (it will be the first line of output), e.g. :
Code:❯ ffmpeg ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers built with Apple clang version 15.0.0 (clang-1500.3.9.4) configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0.1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon libavutil 59. 8.100 / 59. 8.100 libavcodec 61. 3.100 / 61. 3.100 libavformat 61. 1.100 / 61. 1.100 libavdevice 61. 1.100 / 61. 1.100 libavfilter 10. 1.100 / 10. 1.100 libswscale 8. 1.100 / 8. 1.100 libswresample 5. 1.100 / 5. 1.100 libpostproc 58. 1.100 / 58. 1.100 Universal media converter usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg'
Similar Threads
-
Video guide to get your Win system set-up for .....
By pssh in forum Video Streaming DownloadingReplies: 19Last Post: 26th Mar 2025, 17:08 -
Generate a name based on an image
By VideoFan576 in forum ComputerReplies: 0Last Post: 5th May 2024, 14:28 -
Event based panel help
By membervip39 in forum Video Streaming DownloadingReplies: 0Last Post: 18th Dec 2023, 11:48 -
[LINUX] can ffmpeg (or any othe linux command) genere an ANIMATED waveform
By Jintor_Universe in forum ProgrammingReplies: 5Last Post: 28th Oct 2021, 19:29 -
Can someone guide how to set video player for x265 HDR films
By lorcav123 in forum Software PlayingReplies: 19Last Post: 24th Mar 2021, 10:48