getwvkeys
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!
+ Reply to Thread
Results 31 to 60 of 266
Thread
-
-
You just have to use the classic headers to get key
Copy as curl
[Attachment 67844 - Click to enlarge]
Go to curlconverter.com to convert
Put the result in Headers.py
and ....
[Attachment 67845 - Click to enlarge] -
Strangely when I tried with cURL headers I kept getting 502 errors 'Bad Gateway'. Only when the headers were reduced to a bare minimum did i get keys.
Code:headers = { 'Accept': '*/*', 'Accept-Language': 'en-GB,en;q=0.5', 'Connection': 'keep-alive', }
-
[ss] Vegeta thanks for sharing your knowledge. In these hard times, feels good to see people helping out in what ever way possible. Your videos are super useful to non techies or else almost impossible to understand.
I've read you recommend " version 81, from early 2020 or something & First result of google search for old chrome version "
Could you let me know which Chrome Version do you use on your system for the process & where to download from.
Is there any other source apart from " Slimjet.com" which you recommend.
Which " widevine decryptor " extension link to use to get keys.
The tampermonkey script you mentioned in Dec 2021 on the post " Help downloading some videos ". Can I use it or is there an updated version.
Along with your 4 tools, do we need any other extensions apart from the above 2.
Thanks again mate! -
The latest version of Chrome is 108.0.5359.72
Older versions are here:
https://google-chrome.en.uptodown.com/windows/versions
or indeed here from Slimjet
https://www.slimjet.com/chrome/google-chrome-old-version.php
although you'd need to nobble Chrome to prevent it autoupdating, and I cannot see the point of using older versions.
It's amazing what a bit of Googling will give you.
the latest version of Tampermonkey is 4.18.1.
Mine clearly gets autoupdated because that's my version and I've been using Tampermonkey for over 2 years.
The latest version of EME Call and Event Logger is 3.2.0
Mine is v3.1.3
They both work fine for extracting the PSSH. I've recently installed it all on a new laptop with those new versions, and everything works OK. -
Why do you not just copy the KID from the MPD response and then convert to PSSH using https://tools.axinom.com/generators/PsshBox
Seems far easier than all these scripts etc (or am i missing summit?)
lcsneil -
-
that method works on some sites but not on all sites.
i started off that way as i found it to be the easiest method.
some sites require that more than just the kid be in the pssh (and some dont need the kid at all), eg. the content id, provider etc.
this thread has some more information about it
https://forum.videohelp.com/threads/404586-how-to-work-out-the-pssh-when-not-shown-in-...e3#post2673844
a lot things can be accomplished using python or scripting, but do you have the ability to create the script? -
I understand for getting .vtt files we can use beautiful soup, that I think I can accomplish on my own! I need some help in finding data that is not in the source code, like the one in the network tab and figuring out how to call the 'video id' from the request url!
-
-
I got the data, in the network, i want to know how to fetch all of the data for example 'cdn.xxyyabc.net/videos/caa519f8-bd9a-44d3-acc8-576528f1ca11/cmaf/audio/mp4a/eng_2ch/init.mp4, I see this data in network tab, also in http tookit, the video id for this is 'caa519f8-bd9a-44d3-acc8-576528f1ca11'. I want to be able to fetch this data using a script. In python I could use beautiful soup to get http data, since this xmlhttprequest data i want to know how to use it in code to fetch this number and the video ids of other videos. Request - GET.
-
like i said, use http toolkit and go through the communication your browser has with the website
that mpd link didn't drop out of thin air, you received it in one of your previous requests, so you find that request and use it in a python script
there are sites where you'll have your script do 2 or 3 requests collecting data you need to make a request to a web url that will get you the mpd, because you'll need a series id, or a movie id, or a token, or bearer authorization, or whatever
if you want to automate it, you'll need to trawl through the requests, it's not that easy and sometimes it won't be perfect (there's a site where i use some cookies as a constant but they expire so now and again i have to log into the site, pick up the new cookie string and put it into the constants file) but it's better than hunting mpds, license urls, headers etc for every video by hand, especially when there is a time limit involved or you're downloading a tv show with 10-20 episodes, multiple seasons etc. -
removed
Last edited by A_n_g_e_l_a; 1st Jun 2023 at 06:48.
-
-
For a man of your self professed skills. For a man of your self professed abilities and profound know how. This should be a walk in the park for you.
User agent strings in combination with device client certificates will provide you with access to the 1080p manifest.
Downloading that is easy, especially for someone with your famous abilities.
The hard part is decrypting it.
It's L1, which you have no trouble with getting, right?
So, to summerise,
Full abilities
User string
Client certifictes
Key caching
Object orientated programme layout
Full widevine keys
Functional decryption
A walk in the park for you.Last edited by Sorenb; 17th Dec 2022 at 18:27.
-
So, a bunch of programs I want to obtain in 1080p from ITVx will disappear in days, and thought I'd check one final time if any of you gentlemen had yet figured out a way or a command that lets one obtain that resolution. At the moment best I can get is 896x504. Thank you
-
-
-
Last edited by adrian44; 3rd Jan 2023 at 21:09.
-
-
Does anyone else have problems using yt-dlp or n_m3u8dl to download from ITVx? the download always fails with the SSLV3_ALERT_HANDSHAKE_FAILURE error.
here is the verbose log:
Code:D:\Utilities\WEB-DL-Tools\Scripts\temp>yt-dlp --verbose --legacy-server-connect --no-check-certificate --allow-u -f ba "https://itvpnpdotcom.blue.content.itv.com/1-1776-0008-Z/18/1/VAR028/1-1776-0008-Z_18_1_VAR028.ism/.mpd?filter=%28%28type%3D%3D%22video%22%26%26DisplayHeight%3C%3D576%29%7C%7C%28type%21%3D%22video%22%29%29&hdnea=st%3D1672813181~exp%3D1672834781~acl%3D/1-1776-0008-Z/%2A~data%3Dnohubplus~hmac%3D6bc4315b82f9450c1e5386f5e8a541ff67ae3c940d796aad28af9ede9bda01f6" -o ba.m4a [debug] Command-line config: ['--verbose', '--legacy-server-connect', '--no-check-certificate', '--allow-u', '-f', 'ba', 'https://itvpnpdotcom.blue.content.itv.com/1-1776-0008-Z/18/1/VAR028/1-1776-0008-Z_18_1_VAR028.ism/.mpd?filter=%28%28type%3D%3D%22video%22%26%26DisplayHeight%3C%3D576%29%7C%7C%28type%21%3D%22video%22%29%29&hdnea=st%3D1672813181~exp%3D1672834781~acl%3D/1-1776-0008-Z/%2A~data%3Dnohubplus~hmac%3D6bc4315b82f9450c1e5386f5e8a541ff67ae3c940d796aad28af9ede9bda01f6', '-o', 'ba.m4a'] [debug] User config: [] [debug] System config: [] WARNING: You have asked for UNPLAYABLE formats to be listed/downloaded. This is a developer option intended for debugging. If you experience any issues while using this option, DO NOT open a bug report [debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8 [debug] yt-dlp version 2023.01.02 [d83b0ad] (win32_exe) [debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k 25 Mar 2021) [debug] exe versions: ffmpeg n4.4-178-g4b583e5425-20211014 (setts), ffprobe n4.4-178-g4b583e5425-20211014 [debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4 [debug] Proxy map: {} [debug] Loaded 1754 extractors [generic] Extracting URL: https://itvpnpdotcom.blue.content.itv.com/1-1776-0008-Z/18/1/VAR028/1-1776-0008-Z_18_1_VAR028.ism/.mpd?filter=%28%28type%3D%3D%22video%22%26%26DisplayHeight%3C%3D576%29%7C%7C%28type%21%3D%22video%22%29%29&hdnea=st%3D1672813181~exp%3D1672834781~acl%3D/1-1776-0008-Z/%2A~data%3Dnohubplus~hmac%3D6bc4315b82f9450c1e5386f5e8a541ff67ae3c940d796aad28af9ede9bda01f6 [generic] *~data=nohubplus~hmac=6bc4315b82f9450c1e5386f5e8a541ff67ae3c940d796aad28af9ede9bda01f6: Downloading webpage WARNING: [generic] Falling back on generic information extractor [generic] *~data=nohubplus~hmac=6bc4315b82f9450c1e5386f5e8a541ff67ae3c940d796aad28af9ede9bda01f6: Extracting information [debug] Identified a DASH manifest [debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id [info] *~data=nohubplus~hmac=6bc4315b82f9450c1e5386f5e8a541ff67ae3c940d796aad28af9ede9bda01f6: Downloading 1 format(s): audio=96000 [debug] Invoking dashsegments downloader on "https://itvpnpdotcom.blue.content.itv.com/1-1776-0008-Z/18/1/VAR028/1-1776-0008-Z_18_1_VAR028.ism/.mpd?filter=%28%28type%3D%3D%22video%22%26%26DisplayHeight%3C%3D576%29%7C%7C%28type%21%3D%22video%22%29%29&hdnea=st%3D1672813181~exp%3D1672834781~acl%3D/1-1776-0008-Z/%2A~data%3Dnohubplus~hmac%3D6bc4315b82f9450c1e5386f5e8a541ff67ae3c940d796aad28af9ede9bda01f6" [dashsegments] Total fragments: 512 [download] Destination: ba.m4a [debug] File locking is not supported. Proceeding without locking [download] 4.1% of ~ 35.20MiB at 102.06KiB/s ETA 04:40 (frag 21/512)ERROR: SSLV3_ALERT_HANDSHAKE_FAILURE: Try using --legacy-server-connect Traceback (most recent call last): File "urllib\request.py", line 1354, in do_open File "http\client.py", line 1252, in request File "http\client.py", line 1298, in _send_request File "http\client.py", line 1247, in endheaders File "http\client.py", line 1007, in _send_output File "http\client.py", line 947, in send File "http\client.py", line 1421, in connect File "ssl.py", line 500, in wrap_socket File "ssl.py", line 1040, in _create File "ssl.py", line 1309, in do_handshake ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1131) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "yt_dlp\utils.py", line 1535, in https_open File "urllib\request.py", line 1357, in do_open urllib.error.URLError: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1131)> During handling of the above exception, another exception occurred: Traceback (most recent call last): File "yt_dlp\YoutubeDL.py", line 1497, in wrapper File "yt_dlp\YoutubeDL.py", line 1594, in __extract_info File "yt_dlp\YoutubeDL.py", line 1653, in process_ie_result File "yt_dlp\YoutubeDL.py", line 2767, in process_video_result File "yt_dlp\YoutubeDL.py", line 3231, in process_info File "yt_dlp\YoutubeDL.py", line 2954, in dl File "yt_dlp\downloader\common.py", line 444, in download File "yt_dlp\downloader\dash.py", line 60, in real_download File "yt_dlp\downloader\fragment.py", line 381, in download_and_append_fragments_multiple File "yt_dlp\downloader\fragment.py", line 519, in download_and_append_fragments File "yt_dlp\downloader\fragment.py", line 468, in download_fragment File "yt_dlp\downloader\fragment.py", line 124, in _download_fragment File "yt_dlp\downloader\common.py", line 444, in download File "yt_dlp\downloader\http.py", line 371, in real_download File "yt_dlp\downloader\http.py", line 129, in establish_connection File "yt_dlp\YoutubeDL.py", line 3725, in urlopen File "urllib\request.py", line 525, in open File "urllib\request.py", line 542, in _open File "urllib\request.py", line 502, in _call_chain File "yt_dlp\utils.py", line 1540, in https_open yt_dlp.utils.YoutubeDLError: SSLV3_ALERT_HANDSHAKE_FAILURE: Try using --legacy-server-connect
Last edited by ampersand; 4th Jan 2023 at 01:38.
-
-
Last edited by ampersand; 4th Jan 2023 at 11:53.
-
Thanks for the heads-up re uncurl. I spent some time testing today and have this script fragment that take a clipboard cURL and spits out license, a releasePID value and headers.
I used it for real with an RTE.ie downloader and got keys from license , releasePid and headers found with this routine installed.
It loads from the clipboard as soon as the program is started - make sure you have copied the curl in the example code.
Code:import pyperclip as PC import json import uncurl from collections import OrderedDict ### use this example for your test curl in clipboard ### ''' curl 'https://widevine.entitlement.eu.theplatform.com/wv/web/ModularDrm?token=eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJydGUtcHJkLXByZC10cnQvYW5vbnltb3VzX25ncnBfcGxheWVyQHJ0ZS5pZSIsImlzcyI6IjEiLCJleHAiOjE2NzI5MzQ2MTQsImlhdCI6MTY3Mjg0ODIxNDg1NSwianRpIjoiOTg2NGRkMWMtODEzOC00ZDQ1LTlhZmYtNmI0NWZhODY5YmE1IiwiZGlkIjoicnRlLXByZC1wcmQtdHJ0IiwidW5tIjoiYW5vbnltb3VzX25ncnBfcGxheWVyQHJ0ZS5pZSIsImN0eCI6IntcInVzZXJOYW1lXCI6XCJhbm9ueW1vdXNfbmdycF9wbGF5ZXJAcnRlLmllXCJ9XG4iLCJvaWQiOiIyNzAwODk0MDAxIn0.fIbo_FwSou5QdvhyocV5CApcWG24eEkGLH82R2_rW080ERqQi46BB5e-zGAbWjJKtKXWJGFW8lZKKcerdh9rdt8avBp6dlrWBCXCTcSYafY7LCGPlaVeLF_DJkfnl56-92VQ0e7RbJNki_bwe3F8o0GsdUfjwHihT0P9z38C3xnzTz5l_mVFo4Fz6OMYCfQSavDeA-Qn5fcOs3s-tCNUHBJHH4wdSXtoaq48iwgx2z_HAuk-SiMWTL8IORm3APty5WWcFMZH2jt0Vop2kWIXeVZ70tJlXeFHa98pdCS1P2jB77LGP6wNciAVn_uRRCvDDo37Tys8skuoTxQ4rMNLJA&account=http%3A%2F%2Faccess.auth.theplatform.com%2Fdata%2FAccount%2F2700894001&form=json&schema=1.0' -X POST -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0' -H 'Accept: */*' -H 'Accept-Language: en-GB,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'content-type: text/plain;charset=UTF-8' -H 'Origin: https://www.rte.ie' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: cross-site' --data-raw '{"getWidevineLicense":{"releasePid":"YLDhwOrcAYBq","widevineChallenge":"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"}}' ''' mycode = PC.paste() context = uncurl.parse_context(mycode) license = context.url print(license) print() #data = context.data #print(data) myjson = json.loads(context.data) releasePID = (myjson['getWidevineLicense']['releasePid']) print(f"releasePid {releasePID}") print() headers = context.headers print(headers)
Last edited by A_n_g_e_l_a; 4th Jan 2023 at 12:22. Reason: duplication
-
Is it? I've tried just streaming (ie. not downloading) ITVX in both latest versions of Chrome & Firefox and also on an Android emulator within Windows (Bluestacks). In each case, the visual quality is SD only. Now those browsers work perfectly fine with Amazon Prime Video and Netflix, they produce perfectly excellent 1080p. So my browsers can decrypt L1 just fine.
So, my conclusion is ITVX is a load of shite and a big con.
Britbox still works fine (and is L3 encryted). But here in the UK that only gives 720p HD and shitty 96Kbps audio. But it's better than ITVX.
Most of ITV1 and much of the new "ITVX only" series are on STV player, most of which is not encrypted (apart from some US series, which are L3 encrypted and segmented).
Britbox and the old ITVHub+ addons when used within an Amazon Prime subs do give 1080p and 224Kbps audio (assuming that you have software to download from there).
Similar Threads
-
Failing to download on ITV Hub
By ChemicalMisfit in forum Video Streaming DownloadingReplies: 20Last Post: 7th Feb 2022, 17:14 -
How are people downloading from ITV Player in 2021?
By gazzacee in forum Video Streaming DownloadingReplies: 6Last Post: 4th Aug 2021, 16:52 -
problems downloading itv.com/ itv player files with tubedigger software
By elm in forum Video Streaming DownloadingReplies: 1Last Post: 4th May 2021, 05:28 -
Itv subtitles
By codymts in forum SubtitleReplies: 1Last Post: 11th Dec 2020, 16:30 -
CMD Get Crash when downloading this MPD URL!
By Semohan in forum Video Streaming DownloadingReplies: 4Last Post: 4th Dec 2020, 13:10