With what method or tools can this result be detected, for example?:
"http://rtve-mediavod-lote3.rtve.es/resources/TE_SMLK20K/mp4/5/7/1623331653375.mp4?idasset=5937500",
from this url https://www.rtve.es/play/videos/malaka/episodio-1-fenicios/5937500/
![]()
+ Reply to Thread
Results 1 to 13 of 13
-
-
-
Not sure what you're requesting here, this is the info you need to download the video:
MPD url:
Code:https://ztnr.rtve.es/ztnr/5937500.mpd
Code:AAAAQ3Bzc2gBAAAA7e+LqXnWSs6jyCfc1R0h7QAAAAHMK0njmwsgTJzcR0+moNCfAAAADyIHNTkzNzUwMEjj3JWbBg==
Code:https://3e6900a5.drm-widevine-licensing.axprod.net/AcquireLicense
Code:headers = { 'x-axdrm-message': 'eyJhbGciO.......', }
Code:cc2b49e39b0b204c9cdc474fa6a0d09f:6fdf57e65aab943fff783aa19ed1826d
-
How is this section filled out, as follows? 'eyJhbGciO......
Headers:
Code:
headers = {
'x-axdrm-message': 'eyJhbGciO......',
}Last edited by ostris; 3rd May 2024 at 12:40.
-
-
I have written a script for you.
rtse.py
Code:import requests import json import re from time import sleep def get_MPD_and_key(videoID): keyRequestURL = "https://api.rtve.es/api/token/{}".format(videoID) response = http_must_get(keyRequestURL).content licenseURL = json.loads(response)['widevineURL'] token = json.loads(response)['token'] mpdURL = "https://ztnr.rtve.es/ztnr/{}.mpd".format(videoID) headers = {'X-Axdrm-Message': token} mpdContent = http_must_get(mpdURL).content.decode('utf-8') pssh = re.search('<cenc:pssh>(.*)</cenc:pssh>', mpdContent).group(1) key = get_key_from_cdrm_project(headers, licenseURL, pssh, mpdURL) print(mpdURL) print(key['key']) print('\n') def get_key_from_cdrm_project(headers, licenseURL, pssh, mpdURL): while len(pssh) > 0: try: cdrmResp = requests.post("https://cdrm-project.com/api", headers=headers, json={"license":licenseURL,"pssh":pssh}).text key = (json.loads(cdrmResp)['keys'])[0] return key except: pssh = pssh[4 : len(pssh)] print('Issue getting key with cdrm-project, do manually:') print(mpdURL) print(pssh) print(licenseURL) def http_must_get(url): while True: try: response = requests.get(url) return response except: sleep(1) def main(): episodesPage = http_must_get('https://www.rtve.es/play/videos/modulos/capitulos/127490/').content.decode('utf-8') episodeLinks = re.findall('episodio(.*)/(.*)/" title=', episodesPage) for i in range(len(episodeLinks)): get_MPD_and_key(episodeLinks[i][1]) if __name__ == "__main__": main()
Code:https://ztnr.rtve.es/ztnr/5937500.mpd cc2b49e39b0b204c9cdc474fa6a0d09f:6fdf57e65aab943fff783aa19ed1826d https://ztnr.rtve.es/ztnr/5938596.mpd e5f78c9f7646f790eab443effd763b97:af3bc89b1d313e0382bf1f5ef8e2de15 https://ztnr.rtve.es/ztnr/5945556.mpd 3ed9dd36e45bfa186cddcc40a7b04719:a61500c665d787bae6491a82236783c9 https://ztnr.rtve.es/ztnr/5956533.mpd be486b1f533aa8215831a00ffef5d3a8:cc53983b07e57d95db2b2b4b7ff89ff3 https://ztnr.rtve.es/ztnr/5968159.mpd 51fb2e361ec72ce14e7fe8e0d9e7d802:7c91d23ef2d73b6c17cfb0d807f12128 https://ztnr.rtve.es/ztnr/6003241.mpd 795fa695b7d3c2d681b5b5d48ddbe2d4:1b205e56763c9d818ebbd2e50570ab47 https://ztnr.rtve.es/ztnr/6011735.mpd fea704bd7c3355cabe50edd09f2cf193:94e8867008e4b49b2bcd41e1df227dc8 https://ztnr.rtve.es/ztnr/6028721.mpd ed4410d7bf39315d524cfc0b0dbe1d7f:7d4e96299c6777bff2ea2d748856ab3c
-
Unencrypted stream:
https://www.rtve.es/drmn/embed/video/5937500
inspect element->network tab->search "m3u"
Code:https://rtvehlsvodlote7.rtve.es/mediavodv2/resources/TE_SMLK20K/mp4/5/7/1623331653375.mp4/video.m3u8?hls_no_audio_only=true&hls_client_manifest_version=3&idasset=5937500
Code:https://rtvehlsvodlote7.rtve.es/mediavodv2/resources/TE_SMLK20K/mp4/5/7/1623331653375.mp4?idasset=5937500
-
How could I guess this part with the ID number for any other movie or series on the portal?
https://www.rtve.es/play/videos/modulos/capitulos/127490
Knowing this I could modify the script for any other search. Thank you
rtse.py
Code:import requests import json import re from time import sleep def get_MPD_and_key(videoID): keyRequestURL = "https://api.rtve.es/api/token/{}".format(videoID) response = http_must_get(keyRequestURL).content licenseURL = json.loads(response)['widevineURL'] token = json.loads(response)['token'] mpdURL = "https://ztnr.rtve.es/ztnr/{}.mpd".format(videoID) headers = {'X-Axdrm-Message': token} mpdContent = http_must_get(mpdURL).content.decode('utf-8') pssh = re.search('<cenc:pssh>(.*)</cenc:pssh>', mpdContent).group(1) key = get_key_from_cdrm_project(headers, licenseURL, pssh, mpdURL) print(mpdURL) print(key['key']) print('\n') def get_key_from_cdrm_project(headers, licenseURL, pssh, mpdURL): while len(pssh) > 0: try: cdrmResp = requests.post("https://cdrm-project.com/api", headers=headers, json={"license":licenseURL,"pssh":pssh}).text key = (json.loads(cdrmResp)['keys'])[0] return key except: pssh = pssh[4 : len(pssh)] print('Issue getting key with cdrm-project, do manually:') print(mpdURL) print(pssh) print(licenseURL) def http_must_get(url): while True: try: response = requests.get(url) return response except: sleep(1) def main(): episodesPage = http_must_get('https://www.rtve.es/play/videos/modulos/capitulos/127490/').content.decode('utf-8') episodeLinks = re.findall('episodio(.*)/(.*)/" title=', episodesPage) for i in range(len(episodeLinks)): get_MPD_and_key(episodeLinks[i][1]) if __name__ == "__main__": main()
Code:https://ztnr.rtve.es/ztnr/5937500.mpd cc2b49e39b0b204c9cdc474fa6a0d09f:6fdf57e65aab943fff783aa19ed1826d https://ztnr.rtve.es/ztnr/5938596.mpd e5f78c9f7646f790eab443effd763b97:af3bc89b1d313e0382bf1f5ef8e2de15 https://ztnr.rtve.es/ztnr/5945556.mpd 3ed9dd36e45bfa186cddcc40a7b04719:a61500c665d787bae6491a82236783c9 https://ztnr.rtve.es/ztnr/5956533.mpd be486b1f533aa8215831a00ffef5d3a8:cc53983b07e57d95db2b2b4b7ff89ff3 https://ztnr.rtve.es/ztnr/5968159.mpd 51fb2e361ec72ce14e7fe8e0d9e7d802:7c91d23ef2d73b6c17cfb0d807f12128 https://ztnr.rtve.es/ztnr/6003241.mpd 795fa695b7d3c2d681b5b5d48ddbe2d4:1b205e56763c9d818ebbd2e50570ab47 https://ztnr.rtve.es/ztnr/6011735.mpd fea704bd7c3355cabe50edd09f2cf193:94e8867008e4b49b2bcd41e1df227dc8 https://ztnr.rtve.es/ztnr/6028721.mpd ed4410d7bf39315d524cfc0b0dbe1d7f:7d4e96299c6777bff2ea2d748856ab3c
THANK YOU I have already found out the method for this chapter but how do I find out this url if I wanted to guess the ID for the rest of the series on the rtve.es/play portal? https://www.rtve.es/play/videos/modulos/capitulos/127490
Knowing this, I could access the information I would need for the rest of the movies and series on the portal.Last edited by ostris; 5th May 2024 at 11:47.
-
-
Similar Threads
-
Convert DV type 2 to type 1? Or is there an app that will correct sync?
By Colmino in forum Newbie / General discussionsReplies: 7Last Post: 20th Dec 2022, 21:24 -
Set GOP with sequence detect
By AlesFiala in forum EditingReplies: 0Last Post: 23rd May 2022, 17:26 -
Detect Stray Frames in BRD
By ricardisimo in forum Authoring (Blu-ray)Replies: 0Last Post: 25th Nov 2020, 12:52 -
Detect the Resolution of a Streaming Video?
By vega69-ux in forum Video Streaming DownloadingReplies: 2Last Post: 26th Sep 2020, 16:51 -
Detect pitch change
By villaquien in forum AudioReplies: 18Last Post: 2nd Apr 2020, 09:25