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)
A secure and customizable bot for controlling cross-server announcements and interactions within Discord

DiscordBot A secure and customizable bot for controlling cross-server announcements and interactions within Discord. Within the code of the bot, you c

Jacob Dorfmeister 1 Jan 22, 2022
𝗖𝝠𝝦𝝩𝝠𝝞𝝥 𝝦𝗥𝝞𝗖𝝽°™️ 🇱🇰 Is An All In One Media Inline Bot Made For Inline Your Media Effectively With Some Advance Security Tools♥️

𝗖𝝠𝝦𝝩𝝠𝝞𝝥 𝝦𝗥𝝞𝗖𝝽° ™️ 🇱🇰 𝗙𝗘𝝠𝝩𝗨𝗥𝗘𝗦 Auto Filter IMDB Admin Commands Broadcast Index IMDB Search Inline Search Random Pics Ids & User I

Kɪꜱᴀʀᴀ Pᴇꜱᴀɴᴊɪᴛʜ Pᴇʀᴇʀᴀ 〄 13 Jun 21, 2022
A Bot For Streaming Videos In Tg Voice Chats.

「•ᴍɪsᴇʀʏ ᴠɪᴅᴇᴏ sᴛʀᴇᴀᴍᴇʀ•」 ᴀ ғɪɴᴇ & ғɪʀsᴛ ᴄʟᴀss ᴘʀᴏᴊᴇᴄᴛ ғᴏʀ ᴘʟᴀʏɪɴɢ ᴠɪᴅᴇᴏs ɪɴ ᴠᴏɪᴄᴇ ᴄʜᴀᴛ ʙʏ xᴇʙᴏʀɴ | •ᴘᴏᴡᴇʀᴇᴅ ʙʏ ᴛɢᴄᴀʟʟs and ᴘʏʀᴏ •ᴅᴇᴘʟᴏʏ ᴍɪsᴇʀʏ ᴛᴏ ʜᴇʀ

Turdus Maximus 22 Nov 12, 2022
Twitter-Scrapping - Tweeter tweets extracting using python

Twitter-Scrapping Twitter tweets extracting using python This project is to extr

Suryadeepsinh Gohil 2 Feb 04, 2022
Widevine MPD Content Downloader & Decryptor

Widevine-DL Encrypted MPD Manifest Content Downloader + Decryptor (not a Widevine Key Extractor!) Requirements ffmpeg, yt-dlp, aria2, widevine-l3-decr

Vank0n (SJJeon) 170 Dec 30, 2022
Discord py bot that plays magic the gathering.

Klunker Discord py bot that can play magic the gathering Bug Hunter Hello Bug Hunters. To help out with production of this bot, we need help catching

Aiden Castillo 0 Apr 25, 2022
A simple discord bot that generates facts!

fact-bot A simple discord bot that generates facts! How to make a bot Go to https://discord.com/developers/applications Then click on 'New Application

1 Jan 05, 2022
OpenVisionAPI client

OpenVisionAPI Client 🚀 Getting Started Prerequisites Installing Install the dependencies $ make setup Usage $ source .venv/bin/activate $ ./ova_clie

Open Vision API 40 Nov 11, 2022
LEC_Ditto is a bot that tracks the follows and unfollows of Twitter accounts

✨ LEC_Ditto ✨ I'm Ditto, and I'm a bot 🤖 . Getting Started | Installation | Usage Getting Started LEC_Ditto is a bot that tracks the follows and unfo

2 Mar 30, 2022
Instagram-follower-bot - An Instagram follower bot written in Python

Instagram Follower Bot An Instagram follower bot written in Python. The bot follows the follower of which account you want. e.g. (You want to follow @

Aytaç Kaşoğlu 1 Dec 31, 2021
Nautobot-custom-jobs - Custom jobs for Nautobot

nautobot-custom-jobs This repo contains custom jobs for Nautobot. Installation P

Dan Peachey 9 Oct 27, 2022
Video Stream: an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat

Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat 🧪 Get SESSION_NAME from below: Pyrogram

Jonathan 6 Feb 08, 2022
Debugging with Stack Overflow: Web Search Behavior in Novice and Expert Programmers

Debugging with Stack Overflow: ICSE SEET, 2022 This is the GitHub repository associated with the 2022 ICSE SEET paper, Debugging with Stack Overflow:

Madeline Endres 1 Jan 31, 2022
fhempy is a FHEM binding to write modules in Python language

fhempy (BETA) fhempy allows the usage of Python 3 (NOT 2!) language to write FHEM modules. Python 3.7 or higher is required, therefore I recommend usi

Dominik 27 Dec 14, 2022
Python implementation for PetitPotam

PetitPotam Coerce NTLM authentication from Windows hosts Installtion $ pip3 install impacket Usage usage: petitpotam.py [-h] [-debug] [-port [destinat

Oliver Lyak 137 Dec 28, 2022
Guildead - Guilded api wrapper written in python

Guildead Guilded api wrapper written in python. I have found "exploit" (guilded

0хVιcнy#1337 5 Sep 23, 2022
Very Sempil Bot Auto Filter bot

SAMANTHA_BOT Very Sempil Bot Auto Filter bot ##[ # 𝐂𝐋𝐈𝐂𝐊 𝐁𝐄𝐋𝐎𝐖 𝐈𝐌𝐀𝐆𝐄 𝐓𝐎 𝐃𝐄𝐏𝐋𝐎𝐘 👇 👇 👇 Auto Filter Manuel Filter IMDB Admin Co

DARK WEBLOAD 3 Jun 27, 2022
Subtitle Translater

Subtitle Translater

OshadhaVimukthi 2 Nov 29, 2021
pyDuinoCoin is a simple python integration for the DuinoCoin REST API, that allows developers to communicate with DuinoCoin Master Server

PyDuinoCoin PyDuinoCoin is a simple python integration for the DuinoCoin REST API, that allows developers to communicate with DuinoCoin Main Server. I

BackrndSource 6 Jul 14, 2022
A python wrapper for the mangadex API V5. Work in progress

mangadex A python wrapper for the mangadex API V5. It uses the requests library and all the aditional arguments can be viewed in the Official Mangadex

Eduardo Ceja 27 Dec 14, 2022