ITVX streams depend on device AND user strings.
Browsers, (with a narrow exception; secure and trusted platform) will only provide sd, there is no bypass for this.
Android via an emulator will be missing the required and essential trustzone credentials for L1 encryption.
The firestick apk is a wrapper with a set user string (as every access point re: browser, apk) and device certificate. The fire stick app will provide a 1080p stream that is L1 encrypted.
And at this point the discussion ends.
L1 is beyond the scope of this site. It's a fecking pain to obtain, and any suspected l1 key leak results in key revokes within hours.
ITVX is sd only for l3.
You will not get 1080p via a browser or emulation, at least not bluestacks,
From a provider POV ITVX works perfectly fine.
From a, ahem, 'hoarding', POV it's a headache that you will not be able to resolve.
+ Reply to Thread
Results 61 to 90 of 302
-
-
Here's my version of an ITVX Downloader which will run in Windows, and I believe I have made it platform proof so should run on linux and a Mac. I have only tested it on Windows, so if anybody wants to confirm the other platforms, please do, and to let me know of any errors that may occur.
Some of the code I have based on A_n_g_e_l_a's excellent version here: https://forum.videohelp.com/threads/407216-Decryption-The-Dungeon-of-Despair. so I really must thank her for the inspiration.
If you have a subscription with Britbox, it works perfectly well with that as well. You'll get 720p video instead of 504p. Still shitty 96Kbps audio though.
It works from within WKS-KEYS folder using your own cdm, but you only need the pywidevine folder. So you can delete the headers.py, l1.py and l3.py files.
Use your own cdm within the .\pywidevine\L3\cdm\devices\android_generic folder
Your final video file you will find in the 'Completed' folder.
It goes without saying you are expected to have suitably placed ffmpeg.exe, ffprobe.exe, aria2c.exe, mp4decrypt.exe, yt-dlp.exe
Please enjoy!
Code:####version (20230108-1) ''' ITVX downloader inspired by A_n_g_e_l_a to whom I give a huge thank you to. All you need is the mpd. Apparently, using 'The Stream Detector' browser plugin means you can avoid logging in to the site. I just filter for mpd in Network within Developer tools. I believe I have coded it to make it universal (ie. Windows, Linux & Mac). I have only tested it on a Windows system though. Works from within WKS-KEYS folder using your own cdm, but you only need the pywidevine folder. So you can delete the headers.py, l1.py and l3.py files. Use your own cdm within the .\pywidevine\L3\cdm\devices\android_generic folder ''' import os import base64 import requests from pywidevine.L3.cdm import deviceconfig from base64 import b64encode from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt import shutil import glob ##########useful when used within VS Code to tell it which directory you're in abspath = os.path.abspath(__file__) dname = os.path.dirname(abspath) os.chdir(dname) ########## headers = { 'Accept': '*/*', 'Accept-Language': 'en-GB,en;q=0.9', 'Connection': 'keep-alive', } def cls(): # posix is os name for Linux or mac if(os.name == 'posix'): os.system('clear') # clear is the bash command # else screen will be cleared for windows (os name is actually nt for Windows) else: os.system('cls') # cls is the batch command def WV_Function(pssh, lic_url, cert_b64=None): wvdecrypt = WvDecrypt(init_data_b64=pssh, cert_data_b64=cert_b64, device=deviceconfig.device_android_generic) widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=None) license_b64 = b64encode(widevine_license.content) wvdecrypt.update_license(license_b64) Correct, keyswvdecrypt = wvdecrypt.start_process() if Correct: return keyswvdecrypt def message(message): print("-" * (len(message)+6) + "\n" + " " + message + "\n" + "-" * (len(message)+6)) def findlicense(mpd_url): bit = mpd_url.split('/',8) ContentID = bit[7].rsplit('_',2 ) license = "https://itvpnp.live.ott.irdeto.com/Widevine/getlicense?CrmId=itvpnp&AccountId=itvpnp&ContentId=" + ContentID[0] print("\nlicence URL found is " + license) return license def generate_pssh(kid: str): str1 = '000000387073736800000000edef8ba979d64acea3c827dcd51d21ed000000181210' str3 = '48e3dc959b06' return base64.b64encode(bytes.fromhex(str1+kid+str3)).decode() if __name__ == "__main__": cls() message('ITVX') mpd_url = input("enter mpd: ") # get mpd file listings mpd_text = requests.get(mpd_url, headers = headers).text # find KID index_kid = mpd_text.find("cenc:default_KID=") for count, i in enumerate(mpd_text[index_kid: ]): if i == ">": kid = mpd_text[index_kid+18: index_kid+count-1] break kid = kid.replace('-', '') message("KID found is " + kid) #get PSSH pssh = generate_pssh(kid) message("PSSH found is " + pssh) #get lience URL lic_url = findlicense(mpd_url) #get KEY keys = WV_Function(pssh, lic_url) message("KID:KEY found is " + (keys[0])) keys = str(keys[0]) division = keys.find(":") key = (keys[division+1:]) print(f" KEY# is {key}") print("\n\n") os.system(f'yt-dlp --allow-u -f bestvideo --downloader aria2c "{mpd_url}" -o encryptVid.mp4') os.system(f'yt-dlp --allow-u -f bestaudio --downloader aria2c "{mpd_url}" -o encryptAud.m4a') print("==============================\n\n Decrypting\n\n==============================") os.system(f"mp4decrypt --show-progress --key 1:{key} encryptVid.mp4 video_decrypt.mp4") os.system(f"mp4decrypt --show-progress --key 1:{key} encryptAud.m4a audio_decrypt.m4a") if not os.path.exists("Throwaway"): os.makedirs("Throwaway") if not os.path.exists("Completed"): os.makedirs("Completed") cls() print("\n\n\n") output_name = input("What do you want to call your final file? (do not include file .extension like .mp4) ") output_name = f"{output_name}.mp4" os.system(f"ffmpeg -i video_decrypt.mp4 -i audio_decrypt.m4a -c:v copy -c:a copy mux_file.mp4") os.rename("mux_file.mp4", f'{output_name}') shutil.move(f'{output_name}', "./Completed") for data in glob.glob("*_decrypt*.*"): shutil.move(data,"./Throwaway") for data in glob.glob("encrypt*.*"): shutil.move(data,"./Throwaway") print(f"All done.\n\n Your final file '{output_name}' is in 'Completed' folder") input("\n\n\ Press 'Enter' key when you're ready for the 'Throwaway' folder to be deleted ") shutil.rmtree("./Throwaway")
Last edited by deccavox; 9th Jan 2023 at 08:29.
-
Why use mp4decrypt over shaka-packager?
https://github.com/shaka-project/shaka-packager -
Last edited by A_n_g_e_l_a; 1st Jun 2023 at 05:51.
-
shaka with n-m3 for rte works if the keys are correctly formated in a text file
rte issues 5 keys
key.txt
Code:<kid>:<key> <kid>:<key> <kid>:<key> <kid>:<key> <kid>:<key>
Code:for n in ${array[@]} do n-m3u8dl-re $MPD --use-shaka-packager --key-text-file 1key.txt -sv res="$n" --save-name=$n"p" done
-
You're quite right A_n_g_e_l_a. I was "brought up" with mp4decrypt and have used it for some years now, simply because it's never failed me. I'd never even heard of shaka-packager lol.
Regarding N_m3u8DL-RE. I used to use N_m3u8DL-CLI but I found it only worked with RTE player and All4. I'll have a look at -RE (and also shaka). But I probably won't change my methods there, unless I can see a clear advantage (apart from saving a few lines of code). It's good to know they exist though. -
Thank you for the crash course. Followed it on my mac and it worked perfectly. I have very limited knowledge of coding but was able to follow along.
Does anybody know how to get 1080 HD from ITVx? I managed to get a 896x504 video after following the above tutorial. But would be even better to get 1080 if its possible? This is the show I'm downloading: https://www.itv.com/watch/harry-the-interview/10a3975 -
Grab it from STV.TV.
Code:https://player.stv.tv/summary/harry-the-interview
In regard to 1080p ITVX streams, bah, you're having a laugh, aren't you?
I'll put it in the easiest terms I can, as it has been stated already in this thread, while there does exist a 1080p 6 channel stream for ITVX content, you, yes YOU reading this, will not be able to get it.
It is a L1 encrypted stream, I'll repeat that, L1 encrypted.
That in itself should be enough for most to know that it's beyond their capabilities.
Secondly, that 1080p manifest is tied to device certification, the server will not issue a mpd manifest for 1080p content if the device certificate is outdated, mismatched or malformed.
That requires an advanced knowledge of particular devices and their trustzones to obtainCode:https://source.android.com/docs/security/features/trusty
It's safe to say, if that sounds hard, that's because it is.
Now, here's an added tip, especially for this site.
There are an awful lot of bullshit artists posing as knowledgeable 'hackers', and may send you PM's offering to help. Or in my case asking/demanding I do the work for them.
Ignore them. -
Ah thanks for that. stv.tv worked perfectly for that show.
For this one, not so much. https://player.stv.tv/episode/4e42/60-minutes
Am I right in thinking that because this one is American, it's encrypted?
Now, here's an added tip, especially for this site.
There are an awful lot of bullshit artists posing as knowledgeable 'hackers', and may send you PM's offering to help. Or in my case asking/demanding I do the work for them.
Ignore them. -
The 60 minutes Prince Harry interview, is not encrypted. At least, not for me. I just accessed the manifest and pulled the steam data
Code:[stv:player] 4e42: Downloading webpage [brightcove:new] 6318417810112: Downloading JSON metadata [brightcove:new] 6318417810112: Downloading m3u8 information [brightcove:new] 6318417810112: Downloading m3u8 information [brightcove:new] 6318417810112: Downloading m3u8 information [brightcove:new] 6318417810112: Downloading m3u8 information [brightcove:new] 6318417810112: Downloading MPD manifest [brightcove:new] 6318417810112: Downloading MPD manifest [brightcove:new] 6318417810112: Downloading MPD manifest [brightcove:new] 6318417810112: Downloading MPD manifest [info] Available formats for 6318417810112: ID EXT RESOLUTION │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── hls-audio-0-en__Main_-0 mp4 audio only │ m3u8 │ audio only unknown [en] en (Main) hls-audio-0-en__Main_-1 mp4 audio only │ m3u8 │ audio only unknown [en] en (Main) hls-audio-1-en__Main_-0 mp4 audio only │ m3u8 │ audio only unknown [en] en (Main) hls-audio-1-en__Main_-1 mp4 audio only │ m3u8 │ audio only unknown [en] en (Main) hls-audio-2-en__Main_-0 mp4 audio only │ m3u8 │ audio only unknown [en] en (Main) hls-audio-2-en__Main_-1 mp4 audio only │ m3u8 │ audio only unknown [en] en (Main) dash-faa1aff1-6312-46b1-ab8e-f4f5ae5a12d7-0 m4a audio only │ ~ 12.37MiB 63k dash │ audio only mp4a.40.2 63k 48k [en] DASH audio, m4a_dash dash-faa1aff1-6312-46b1-ab8e-f4f5ae5a12d7-1 m4a audio only │ ~ 12.37MiB 63k dash │ audio only mp4a.40.2 63k 48k [en] DASH audio, m4a_dash dash-faa1aff1-6312-46b1-ab8e-f4f5ae5a12d7-2 m4a audio only │ ~ 12.37MiB 63k dash │ audio only mp4a.40.2 63k 48k [en] DASH audio, m4a_dash dash-faa1aff1-6312-46b1-ab8e-f4f5ae5a12d7-3 m4a audio only │ ~ 12.37MiB 63k dash │ audio only mp4a.40.2 63k 48k [en] DASH audio, m4a_dash dash-4864f0e2-b08d-48c5-97e4-ad1c2ecb9efc-0 m4a audio only │ ~ 18.85MiB 96k dash │ audio only mp4a.40.2 96k 48k [en] DASH audio, m4a_dash dash-4864f0e2-b08d-48c5-97e4-ad1c2ecb9efc-1 m4a audio only │ ~ 18.85MiB 96k dash │ audio only mp4a.40.2 96k 48k [en] DASH audio, m4a_dash dash-4864f0e2-b08d-48c5-97e4-ad1c2ecb9efc-2 m4a audio only │ ~ 18.85MiB 96k dash │ audio only mp4a.40.2 96k 48k [en] DASH audio, m4a_dash dash-4864f0e2-b08d-48c5-97e4-ad1c2ecb9efc-3 m4a audio only │ ~ 18.85MiB 96k dash │ audio only mp4a.40.2 96k 48k [en] DASH audio, m4a_dash dash-7e0822f7-a5cb-44f8-b3f5-7e29837fe6aa-0 m4a audio only │ ~ 24.94MiB 127k dash │ audio only mp4a.40.2 127k 48k [en] DASH audio, m4a_dash dash-7e0822f7-a5cb-44f8-b3f5-7e29837fe6aa-1 m4a audio only │ ~ 24.94MiB 127k dash │ audio only mp4a.40.2 127k 48k [en] DASH audio, m4a_dash dash-7e0822f7-a5cb-44f8-b3f5-7e29837fe6aa-2 m4a audio only │ ~ 24.94MiB 127k dash │ audio only mp4a.40.2 127k 48k [en] DASH audio, m4a_dash dash-7e0822f7-a5cb-44f8-b3f5-7e29837fe6aa-3 m4a audio only │ ~ 24.94MiB 127k dash │ audio only mp4a.40.2 127k 48k [en] DASH audio, m4a_dash dash-6f6bc0b2-72e1-48d8-b913-e5be9ce674a7-0 mp4 384x216 │ ~ 43.21MiB 220k dash │ avc1.42000d 220k video only DASH video, mp4_dash dash-6f6bc0b2-72e1-48d8-b913-e5be9ce674a7-1 mp4 384x216 │ ~ 43.21MiB 220k dash │ avc1.42000d 220k video only DASH video, mp4_dash dash-6f6bc0b2-72e1-48d8-b913-e5be9ce674a7-2 mp4 384x216 │ ~ 43.21MiB 220k dash │ avc1.42000d 220k video only DASH video, mp4_dash dash-6f6bc0b2-72e1-48d8-b913-e5be9ce674a7-3 mp4 384x216 │ ~ 43.21MiB 220k dash │ avc1.42000d 220k video only DASH video, mp4_dash hls-311-0 mp4 384x216 │ ~ 61.14MiB 311k m3u8 │ avc1.42000d 311k video only hls-311-1 mp4 384x216 │ ~ 61.14MiB 311k m3u8 │ avc1.42000d 311k video only hls-311-2 mp4 384x216 │ ~ 61.14MiB 311k m3u8 │ avc1.42000d 311k mp4a.40.2 0k hls-311-3 mp4 384x216 │ ~ 61.14MiB 311k m3u8 │ avc1.42000d 311k mp4a.40.2 0k dash-ff25a61c-916d-43c8-828b-0df5637e9c5e-0 mp4 512x288 │ ~ 76.79MiB 391k dash │ avc1.4d0015 391k video only DASH video, mp4_dash dash-ff25a61c-916d-43c8-828b-0df5637e9c5e-1 mp4 512x288 │ ~ 76.79MiB 391k dash │ avc1.4d0015 391k video only DASH video, mp4_dash dash-ff25a61c-916d-43c8-828b-0df5637e9c5e-2 mp4 512x288 │ ~ 76.79MiB 391k dash │ avc1.4d0015 391k video only DASH video, mp4_dash dash-ff25a61c-916d-43c8-828b-0df5637e9c5e-3 mp4 512x288 │ ~ 76.79MiB 391k dash │ avc1.4d0015 391k video only DASH video, mp4_dash hls-535-0 mp4 512x288 │ ~105.21MiB 536k m3u8 │ avc1.4d0015 536k video only hls-535-1 mp4 512x288 │ ~105.21MiB 536k m3u8 │ avc1.4d0015 536k video only hls-535-2 mp4 512x288 │ ~105.21MiB 536k m3u8 │ avc1.4d0015 536k mp4a.40.2 0k hls-535-3 mp4 512x288 │ ~105.21MiB 536k m3u8 │ avc1.4d0015 536k mp4a.40.2 0k dash-0cfb7562-0d5e-45f8-bcf6-47fe53522bbc-0 mp4 768x432 │ ~146.12MiB 744k dash │ avc1.4d001e 744k video only DASH video, mp4_dash dash-0cfb7562-0d5e-45f8-bcf6-47fe53522bbc-1 mp4 768x432 │ ~146.12MiB 744k dash │ avc1.4d001e 744k video only DASH video, mp4_dash dash-0cfb7562-0d5e-45f8-bcf6-47fe53522bbc-2 mp4 768x432 │ ~146.12MiB 744k dash │ avc1.4d001e 744k video only DASH video, mp4_dash dash-0cfb7562-0d5e-45f8-bcf6-47fe53522bbc-3 mp4 768x432 │ ~146.12MiB 744k dash │ avc1.4d001e 744k video only DASH video, mp4_dash hls-958-0 mp4 768x432 │ ~188.17MiB 958k m3u8 │ avc1.4d001e 958k video only hls-958-1 mp4 768x432 │ ~188.17MiB 958k m3u8 │ avc1.4d001e 958k video only hls-958-2 mp4 768x432 │ ~188.17MiB 958k m3u8 │ avc1.4d001e 958k mp4a.40.2 0k hls-958-3 mp4 768x432 │ ~188.17MiB 958k m3u8 │ avc1.4d001e 958k mp4a.40.2 0k dash-5611d155-7975-49af-a548-e75eff9aee6f-0 mp4 1024x576 │ ~235.48MiB 1199k dash │ avc1.4d001f 1199k video only DASH video, mp4_dash dash-5611d155-7975-49af-a548-e75eff9aee6f-1 mp4 1024x576 │ ~235.48MiB 1199k dash │ avc1.4d001f 1199k video only DASH video, mp4_dash dash-5611d155-7975-49af-a548-e75eff9aee6f-2 mp4 1024x576 │ ~235.48MiB 1199k dash │ avc1.4d001f 1199k video only DASH video, mp4_dash dash-5611d155-7975-49af-a548-e75eff9aee6f-3 mp4 1024x576 │ ~235.48MiB 1199k dash │ avc1.4d001f 1199k video only DASH video, mp4_dash hls-1458-0 mp4 1024x576 │ ~286.46MiB 1459k m3u8 │ avc1.4d001f 1459k video only hls-1458-1 mp4 1024x576 │ ~286.46MiB 1459k m3u8 │ avc1.4d001f 1459k video only hls-1458-2 mp4 1024x576 │ ~286.46MiB 1459k m3u8 │ avc1.4d001f 1459k mp4a.40.2 0k hls-1458-3 mp4 1024x576 │ ~286.46MiB 1459k m3u8 │ avc1.4d001f 1459k mp4a.40.2 0k dash-79e54cc9-289a-4f36-8171-d7f687d16487-0 mp4 1280x720 │ ~366.87MiB 1868k dash │ avc1.4d001f 1868k video only DASH video, mp4_dash dash-79e54cc9-289a-4f36-8171-d7f687d16487-1 mp4 1280x720 │ ~366.87MiB 1868k dash │ avc1.4d001f 1868k video only DASH video, mp4_dash dash-79e54cc9-289a-4f36-8171-d7f687d16487-2 mp4 1280x720 │ ~366.87MiB 1868k dash │ avc1.4d001f 1868k video only DASH video, mp4_dash dash-79e54cc9-289a-4f36-8171-d7f687d16487-3 mp4 1280x720 │ ~366.87MiB 1868k dash │ avc1.4d001f 1868k video only DASH video, mp4_dash hls-2194-0 mp4 1280x720 │ ~430.99MiB 2194k m3u8 │ avc1.4d001f 2194k video only hls-2194-1 mp4 1280x720 │ ~430.99MiB 2194k m3u8 │ avc1.4d001f 2194k video only http-2118k-720p-0 mp4 1280x720 │ 406.95MiB 2118k http │ H264 2118k unknown 0k MP4 http-2118k-720p-1 mp4 1280x720 │ 406.95MiB 2118k https │ H264 2118k unknown 0k MP4 hls-2194-2 mp4 1280x720 │ ~430.99MiB 2194k m3u8 │ avc1.4d001f 2194k mp4a.40.2 0k hls-2194-3 mp4 1280x720 │ ~430.99MiB 2194k m3u8 │ avc1.4d001f 2194k mp4a.40.2 0k dash-78b9a0c7-2001-47e8-821f-6e8747bd51e3-0 mp4 1920x1080 │ ~696.42MiB 3546k dash │ avc1.640028 3546k video only DASH video, mp4_dash dash-78b9a0c7-2001-47e8-821f-6e8747bd51e3-1 mp4 1920x1080 │ ~696.42MiB 3546k dash │ avc1.640028 3546k video only DASH video, mp4_dash dash-78b9a0c7-2001-47e8-821f-6e8747bd51e3-2 mp4 1920x1080 │ ~696.42MiB 3546k dash │ avc1.640028 3546k video only DASH video, mp4_dash dash-78b9a0c7-2001-47e8-821f-6e8747bd51e3-3 mp4 1920x1080 │ ~696.42MiB 3546k dash │ avc1.640028 3546k video only DASH video, mp4_dash hls-4040-0 mp4 1920x1080 │ ~793.50MiB 4040k m3u8 │ avc1.640028 4040k video only hls-4040-1 mp4 1920x1080 │ ~793.50MiB 4040k m3u8 │ avc1.640028 4040k video only hls-4040-2 mp4 1920x1080 │ ~793.50MiB 4040k m3u8 │ avc1.640028 4040k mp4a.40.2 0k hls-4040-3 mp4 1920x1080 │ ~793.50MiB 4040k m3u8 │ avc1.640028 4040k mp4a.40.2 0k
Code:General Unique ID : 91475085871445813126951148648856192399 (0x44D175F0BB435AE637A0EFC7FA02858F) Complete name : 60 Minutes S55E17 Prince Harry 1080p STV WebDl aac h264.mkv Format : Matroska Format version : Version 4 File size : 706 MiB Duration : 26 min 48 s Overall bit rate mode : Variable Overall bit rate : 3 679 kb/s Movie name : 60 Minutes S55E17 Prince Harry Description : Prince Harry and Anderson Cooper speak in the royal's first American television interview about his new memoir, "Spare." Writing application : Lavf59.27.100 Writing library : Lavf59.27.100 ErrorDetectionType : Per level 1 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4 Format settings : CABAC / 4 Ref Frames Format settings, CABAC : Yes Format settings, Reference frames : 4 frames Codec ID : V_MPEG4/ISO/AVC Duration : 26 min 48 s Bit rate mode : Variable Bit rate : 3 547 kb/s Maximum bit rate : 5 340 kb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 25.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.068 Stream size : 680 MiB (96%) Title : Video Default : Yes Forced : No Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 Audio ID : 2 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : A_AAC-2 Duration : 26 min 48 s Bit rate : 127 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Frame rate : 46.875 FPS (1024 SPF) Compression mode : Lossy Stream size : 24.4 MiB (3%) Title : English Language : English Default : Yes Forced : No Text #1 ID : 3 Format : ASS Codec ID : S_TEXT/ASS Codec ID/Info : Advanced Sub Station Alpha Duration : 26 min 28 s Bit rate : 187 b/s Frame rate : 0.362 FPS Count of elements : 575 Compression mode : Lossless Stream size : 36.2 KiB (0%) Title : English Advanced Substation Alpha Language : English Default : Yes Forced : No
Last edited by Sorenb; 14th Jan 2023 at 10:06.
-
Ah that's strange. I used AllMyTube to download the first vid from STV (harry - the interview) - but trying the 60 minutes one it keeps failing to download.
-
-
-
Hello everyone -- newbie here
I'll be honest, I know nothing about coding so I'm having diffs with the help on here, fantastic though it is.
How long do you think it would take me to get things working?
There are a couple of vintage series I wouldn't mind grabbing, just in case they disappear from ITVX. One is 30 eps the other 26 (all half hours).
720p is perfectly fine.
Thanks. -
Have you watched vegetas video at the start of this thread?
How much of that made sense to you? How much can you do on your own?
If you're looking to backup some shows that will go missing soon, then learning this might be beneficial to you.
Getting 504p from itvx is simple enough, but 720p is a little bit trickier
I'd start with getting 504p first and then try for 720p later.
What series are you after? Maybe someone can get the keys for you or recommend a different source. -
Cheers--I have watched the video a few times. It doesn't make a lot of sense but I could probably have a try at it with endeavour. It may take a while. I do mess about with video formats and the like.
The reason I wanted the series (Catweazle) is because it's on there in HD, albeit unrestored.
It's obviously been scanned direct from film prints and I really like how it looks. I have the series on DVD, but this is a considerable upgrade IMO. -
All concerned. Many thanks for all the info and tutorials in this thread. Obviously special thanks to [ss]vegetta for the crash course post and tut.
Complete newbie to this stream ripping, obviously a bit of a learning curve and a few mistakes and errors along the way, but that's the name of the game when learning something new. Now successfully downloading/decrypting/muxing ITVX stuff. So far I've drawn a blank on getting accompanying subs for a program, out of luck Googling and searching the forum. Is there any method of ripping the subs, a browser extension (preferably Chrome) a Tampermonkey script or such like? TIA.
Update: This worked. With browser developer tools open, play the stream and turn subs on/off, watch under the Network tab for the .vtt file (may take a couple of attempts by refreshing the browser). Copy its url and download in your download manager or however you do, I used this online converter to convert to SRT .srt subs. Put next to the completed .mp4 or mux into .mkv.
Code:https://ebby.co/subtitle-tools/converter/vtt-to-srt
Last edited by Nu©leus; 15th Jan 2023 at 09:23.
-
Just get subtitleedit
https://github.com/SubtitleEdit/subtitleedit/releases
Code:subtitleedit /convert <originalsub.vtt> subrip
with mkvmerge, start learning how to tag the tracks properly. Steep-ish learning curve that have a great payoff
Code:mkvmerge -o <output.mkv> --title "<video name>" <video-input.mp4> --track-name 0:"<audio track name>" --language 0:"<audio track iso code>" <audio track.m4a> --track-name 0:"<subtitle name>" <subs.srt>
Last edited by Sorenb; 15th Jan 2023 at 09:28.
-
I've got quite far now using vegeta's video but the final step is failing.
I do have the two files downloaded and ready for de-encryption.
Here's what the cmd says:
C:\>mp4decrypt.exe --key cda4baf8d5c94191ba61ac2cd6444427:134860cf119989d17 49ecd8c44960a26 itvv.mp4 itvv_dec.mp4
ERROR: cannot open output file (itvv_dec.mp4) -5
C:\>mp4decrypt.exe --key cda4baf8d5c94191ba61ac2cd6444427:134860cf119989d17 49ecd8c44960a26 itva.m4a itva_dec.mp4
ERROR: cannot open output file (itva_dec.mp4) -5
Any ideas why it's not working? I'm pretty sure I haven't missed any steps. Cheers for getting me this far! -
double check the kid:key pairs
if correct, attempt it differently
try
Code:mp4decrypt.exe --key 1:<key> <input file> <outputfile>
"ERROR: cannot open output file (itva_dec.mp4)"
might be a permissions' error on Windows. Check your system. -
Thank you, I use that all the time, didn't realise it would accept .vtt and export as .srt! Cheers.
Completely off topic but why cant I use any of the formatting tools for bbcode/smilies etc in the compose post box? Thought it may be my ad blocker uBlock Origin but it isn't, strange. Problem is my end, something in my Chrome is stopping bbcode icons in the compose post box working, working fine in Edge.
Thanks. I use MKVToolNix constantly, the GUI, have muxed endless MKV's, always correct language codes, any forced subs etc.Last edited by Nu©leus; 15th Jan 2023 at 10:28.
-
seems to be a problem of permissions...
Try to put "mp4decrypt.exe" in another folder...for example "documents" or "Download" -
Frustrating to get this far... mp4decrypt.exe in another folder didn't work nor did changing key to key1
Still getting:
C:\>mp4decrypt.exe --key cda4baf8d5c94191ba61ac2cd6444427:134860cf119989d17 49ecd8c44960a26 itvv.mp4 itvv_dec.mp4
ERROR: cannot open output file (itvv_dec.mp4) -5
C:\>mp4decrypt.exe --key cda4baf8d5c94191ba61ac2cd6444427:134860cf119989d17 49ecd8c44960a26 itva.m4a itva_dec.mp4
ERROR: cannot open output file (itva_dec.mp4) -5
C:\>ffmpeg.exe -i itvv.mp4 -i itva_dec.mp4 -c copy itv.mp4 -
This came up too so if it works, it will work I guess?
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'itvv.mp4':
Metadata:
major_brand : iso6
minor_version : 0
compatible_brands: iso6dash
Duration: 00:25:53.40, start: 0.040000, bitrate: 2307 kb/s
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt470bg, progressive), 1024x576 [SAR 1:1 DAR 16:9], 2294 kb/s, 25 fps, 25 tbr, 600 tbn (default)
Metadata:
handler_name : USP Video Handler
vendor_id : [0][0][0][0]
encoder : AVC Coding
itva_dec.mp4: No such file or directory -
I suppose you are in the new folder (using CD) where you have put mp4decrypt....
-
Now what do you mean cedric..? I'm using Local Disc (C). I've put all the .exe files I needed in there. Also that's where the two media files are downloaded to.
Guys--I got it to work! I moved everything to a folder called 'Reddit' as in the instructional video.
The only difference is, I had to mux the video and audio together, they came out separate--but it worked!
Thank you all so, so much for this and esp. vegeta!Last edited by Dino Crochetti; 15th Jan 2023 at 10:09.
-
Hi, can someone tell me except what programs I need to download from itvx, I use windows 10
Similar Threads
-
Failing to download on ITV Hub
By ChemicalMisfit in forum Video Streaming DownloadingReplies: 20Last Post: 7th Feb 2022, 16:14 -
How are people downloading from ITV Player in 2021?
By gazzacee in forum Video Streaming DownloadingReplies: 6Last Post: 4th Aug 2021, 15:52 -
problems downloading itv.com/ itv player files with tubedigger software
By elm in forum Video Streaming DownloadingReplies: 1Last Post: 4th May 2021, 04:28 -
Itv subtitles
By codymts in forum SubtitleReplies: 1Last Post: 11th Dec 2020, 15:30 -
CMD Get Crash when downloading this MPD URL!
By Semohan in forum Video Streaming DownloadingReplies: 4Last Post: 4th Dec 2020, 12:10