Widevine MPD Content Downloader & Decryptor

Overview

Widevine-DL

made-with-python Github All Releases License

Encrypted MPD Manifest Content Downloader + Decryptor (not a Widevine Key Extractor!)

Requirements

  • ffmpeg, yt-dlp, aria2, widevine-l3-decryptor
$ pip install ffmpeg yt-dlp aria2p
  • For Linux Users, it is recommended to install aria2 with apt.
$ sudo apt-get install aria2

Installation & Run

  1. Download and Extract ZIP from Releases
  2. Install Requirements
  3. Run widevine-dl.py
$ python3 widevine-dl.py

Inputs

  • WideVineDecryptor Prompt - Copy from widevine-l3-decryptor extension (exactly like the format below)
WidevineDecryptor: Found key: 100b6c20940f779a4589152b57d2dacb (KID=eb676abbcb345e96bbcf616630f1a3da)
  • MPD URL - MPD URL of Widevine Content
  • VIDEO_ID - Video Track ID Shown in Stream Info (Leave blank for best)
  • AUDIO_ID - Audio Track ID Shown in Stream Info (Leave blank for best)
  • FILENAME - Desired File Name of Final Decrypted File (with extension!)
  • If you only want to download the encrypted content from the MPD File not decrypt it, simply leave the WideVineDecryptor Prompt empty.

Legal Notice

Educational purposes only. Downloading DRM'ed materials may violate their Terms of Service.

If you enjoyed using the script, a star or a follow will be highly appreciated! 😎

Comments
  • ERROR: invalid key id

    ERROR: invalid key id

    hallo, i tried with the srf1 live stream and get invalid key id:

    stream: https://srf1-euwe.akamaized.net/4beefc53-c227-43c0-94eb-8f757547d6ed/srf1.ism/manifest(format=mpd-time-csf,encryption=cenc,filter=nodvr)

    ENTER VIDEO_ID (Press Enter for Best): 1_V_video_9402236402929338845 ENTER AUDIO_ID (Press Enter for Best): 1_V_video_9402236402929338845

    Downloading Encrypted Video from CDN.. [generic] Extracting URL: https://srf1-euwe.akamaized.net/4beefc53-c227-43c0-94eb-8f757547d6ed/srf1.ism/manifest(format=mpd...n=cenc,filter=nodvr) [generic] manifest(format=mpd-time-csf,encryption=cenc,filter=nodvr): Downloading webpage [generic] manifest(format=mpd-time-csf,encryption=cenc,filter=nodvr): Extracting information [info] manifest(format=mpd-time-csf,encryption=cenc,filter=nodvr): Downloading 1 format(s): 1_V_video_9402236402929338845 [dashsegments] Total fragments: 30 [download] Destination: /home/alex/tmp/widevine-dl/cache/encrypted_video.mp4 [download] 100% of 1.77MiB in 00:00:04 at 371.27KiB/s Downloading Encrypted Audio from CDN.. [generic] Extracting URL: https://srf1-euwe.akamaized.net/4beefc53-c227-43c0-94eb-8f757547d6ed/srf1.ism/manifest(format=mpd...n=cenc,filter=nodvr) [generic] manifest(format=mpd-time-csf,encryption=cenc,filter=nodvr): Downloading webpage [generic] manifest(format=mpd-time-csf,encryption=cenc,filter=nodvr): Extracting information [info] manifest(format=mpd-time-csf,encryption=cenc,filter=nodvr): Downloading 1 format(s): 1_V_video_9402236402929338845 [dashsegments] Total fragments: 30 [download] Destination: /home/alex/tmp/widevine-dl/cache/encrypted_audio.mp4 [download] 100% of 1.77MiB in 00:00:04 at 448.27KiB/s

    Decrypting WideVine DRM.. (Takes some time) ERROR: invalid key id ERROR: invalid key id Decryption Complete!

    what can i do to make it worke? thanks anan

    opened by atuctuc 0
  • Cannot find

    Cannot find "mp4decrypt" on mac os

    Issue

    When we execute the script python widevine-dl.py from a terminal, then we got this error on mac

    Decrypting WideVine DRM.. (Takes some time)
    sh: mp4decrypt: command not found
    sh: mp4decrypt: command not found
    

    Question: How do we get such a key ?

    Enter WideVineDecryptor Prompt: 
    > 
    
    opened by cmoulliard 1
  • Python error

    Python error

    I'm on windows 10 and when I try to run the script I get the following.

    Processing Video Info.. Python path configuration: PYTHONHOME = 'C:\widevine-dl' PYTHONPATH = (not set) program name = 'C:\widevine-dl\yt-dlp.exe' isolated = 0 environment = 0 user site = 0 import site = 0 sys._base_executable = 'C:\widevine-dl\yt-dlp.exe' sys.base_prefix = '' sys.base_exec_prefix = '' sys.executable = 'C:\widevine-dl\yt-dlp.exe' sys.prefix = '' sys.exec_prefix = '' sys.path = [ 'C:\widevine-dl\base_library.zip', 'C:\widevine-dl\lib-dynload', 'C:\widevine-dl', ] Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding Python runtime state: core initialized ModuleNotFoundError: No module named 'encodings'

    Current thread 0x000026c0 (most recent call first):

    Any ideas?

    opened by Khopon 0
  • no video

    no video

    Hello, i tried to download using this mode everything success fully downloaded but there is no video in mp4 and audio can you please check and let me know where did i go wrong Screenshot-2

    opened by snowywish 1
  • I can't figure out how to get the proper keys anymore since the chrome extension no longer works for me

    I can't figure out how to get the proper keys anymore since the chrome extension no longer works for me

    master_2.txt from the mpd file I thought the KID was 44d7aa5d9631940220b6687933b5ce96 and I used AES-FINDER on the firefox tab to get the key not sure how I could have screwed that up otherwise

    opened by num421337 1
  • You're my Hero! Fuck AnyStream, Fuck FlixGrab, Fuck AnyPaidSHIT

    You're my Hero! Fuck AnyStream, Fuck FlixGrab, Fuck AnyPaidSHIT

    <3 <3 <3

    ❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

    opened by d3417 5
Releases(1.1.1)
Owner
Vank0n (SJJeon)
Mostly Developing Automation Scripts & DRM Related Tools 🇰🇷
Vank0n (SJJeon)
Discord Selfbot, 90+ commands

Setting the bot up. STEP 1: copy the directory yook.club selfbot was downloaded and extracted into, open cmd and type "cd " then paste. STEP 2: python

yook 1 Dec 12, 2021
Quickly visualize docker networks with graphviz.

Docker Network Graph Visualize the relationship between Docker networks and containers as a neat graphviz graph. Example Usage usage: docker-net-graph

Leo Verto 43 Dec 12, 2022
Asca - Antiscam Discord Bot With Python

asca Antiscam Discord Bot Asca moderates scammers and deletes scam messages Opti

11 Nov 01, 2022
Auxiliator is telegram bot for basic web-application analysis

Auxiliator Auxiliator is telegram bot for basic web-application analysis What for? Sometimes there is no access to your main PC, where you can scan we

Revoltage 13 Dec 26, 2021
Discord-Bot - Bot using nextcord for beginners

Discord-Bot Bot using nextcord for beginners! Requirements: 1 :- Install nextcord by typing "pip install nextcord" Thats it! You can use this code any

INFINITE_. 3 Jan 10, 2022
A simpler way to make forms, surveys, and reaction input using discord.py.

discord-ext-forms An easier way to make forms and surveys in discord.py. This module is a very simple way to ask questions and create complete forms i

thrizzle 16 Nov 06, 2022
The best (and now open source) Discord selfbot.

React Selfbot Yes, for real Why am I making this open source? Because can't stop calling my product a rat, tokenlogger and what else not. But there is

30 Nov 13, 2022
A AntiChannelBan Telegram Group Bot Open Source

AntiChannelBan This is a Anti Channel Ban Robots delete and ban message sent by channels Deployment Method Heroku 𝚂𝚄𝙿𝙿𝙾𝚁𝚃 CREDIT BrayDen Blaze

✗ BᵣₐyDₑₙ ✗ 14 May 02, 2022
Messing around with GitHub API to look at omicron build times

gh-workflow-runs This is a very simple tool to dump out basic information about workflow runs for a GitHub repo. The structure is based on gh-subscrip

David Pacheco 1 Nov 30, 2021
Integrating Amazon API Gateway private endpoints with on-premises networks

Integrating Amazon API Gateway private endpoints with on-premises networks Read the blog about this application: Integrating Amazon API Gateway privat

AWS Samples 12 Sep 09, 2022
Ghostbuster - Eliminate dangling elastic IPs by performing analysis on your resources within all your AWS accounts

Table of Contents Table of Contents Ghostbuster The problem Project Features Ins

Assetnote 182 Dec 24, 2022
Music bot because Octave is down and I can : )

Chords On a mission to build the best Discord Music Bot View Demo · Report Bug · Request Feature Table of Contents About The Project Built With Gettin

Aman Prakash Jha 53 Jan 07, 2023
Match-making API for OpenSanctions

OpenSanctions Match-making API This directory contains code and a Docker image for running an API to match data against OpenSanctions. It is intended

OpenSanctions.org 26 Dec 15, 2022
Telegram bot made with Python to get notified when visa slots are available

Visa slot bot I created this bot to getnotified when screenshots are available in the Telegram channel for dropbox appointments. How do I use this? Ch

Jimil 7 Jan 03, 2023
Rotten Tomatoes API for Python

rottentomatoes.py rottentomatoes offers an easy-to-use Python wrapper to interact with the Rotten Tomatoes API. Before you try and use the API, make s

Zach Williams 88 Dec 15, 2022
An API which returns random AOT quote everytime it's invoked

An API which returns random AOT quote everytime it's invoked

Nishant Sapkota 1 Feb 07, 2022
Python client for QIWI payment system

Pyqiwi Lib for QIWI payment system Installation pip install pyqiwi Usage from decimal import Decimal from datetime import datetime, timedelta from p

Andrey 12 Jun 03, 2022
Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code!

Google Images Download Python Script for 'searching' and 'downloading' hundreds of Google images to the local hard disk! Documentation Documentation H

Hardik Vasa 8.2k Jan 05, 2023
Python lib for Embedly

embedly-python Python library for interacting with Embedly's API. To get started sign up for a key at embed.ly/signup. Install Install with Pip (recom

Embedly 80 Oct 05, 2022
Pydf: A modular Telegram Bot which provides Pdf Tools using PyPdf2

pyDF-Bot 🌍 Pydf - Pyrogram Document File Bot, a modular Telegram Bot which prov

HyDrix 2 Feb 18, 2022