VideoHelp Forum




+ Reply to Thread
Results 1 to 13 of 13
  1. 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/

    Quote Quote  
  2. Member
    Join Date
    Aug 2023
    Location
    Turkey
    Search Comp PM
    Originally Posted by ostris View Post
    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/

    first of all
    This content is only available by subscription.
    Quote Quote  
  3. Here in Spain no subscription is required
    Quote Quote  
  4. 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
    PSSH:
    Code:
    AAAAQ3Bzc2gBAAAA7e+LqXnWSs6jyCfc1R0h7QAAAAHMK0njmwsgTJzcR0+moNCfAAAADyIHNTkzNzUwMEjj3JWbBg==
    License url:
    Code:
    https://3e6900a5.drm-widevine-licensing.axprod.net/AcquireLicense
    Headers:
    Code:
    headers = {
        'x-axdrm-message': 'eyJhbGciO.......',
    }
    Key:
    Code:
    cc2b49e39b0b204c9cdc474fa6a0d09f:6fdf57e65aab943fff783aa19ed1826d
    Quote Quote  
  5. 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.
    Quote Quote  
  6. Originally Posted by Silv3r View Post
    Thank you, I didn't care about having this particular video, but rather knowing in general the method of detecting the download link so that it could help me with the rest of the files on that portal
    Quote Quote  
  7. Originally Posted by ostris View Post
    Originally Posted by Silv3r View Post
    Thank you, I didn't care about having this particular video, but rather knowing in general the method of detecting the download link so that it could help me with the rest of the files on that portal
    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()
    Output
    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
    You can read the script and figure how the site works.
    Quote Quote  
  8. 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
    change to
    Code:
    https://rtvehlsvodlote7.rtve.es/mediavodv2/resources/TE_SMLK20K/mp4/5/7/1623331653375.mp4?idasset=5937500
    Quote Quote  
  9. Originally Posted by ostris View Post
    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/

    use https://pasty.info/
    Quote Quote  
  10. 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()
    Output
    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
    You can read the script and figure how the site works.[/QUOTE]







    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.
    Quote Quote  
  11. Originally Posted by ostris View Post
    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.
    For other dramas, to get the "capitulos" link:
    go to main page with episodes -> inspect element -> network tab -> click on "EPISODIOS"-> search/filter "capitulos"

    Modify the "capitulos" link in the script for other dramas

    Click image for larger version

Name:	PPWrg91.png
Views:	291
Size:	95.2 KB
ID:	78863
    Quote Quote  
  12. Originally Posted by Frieren View Post
    Originally Posted by ostris View Post
    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.
    For other dramas, to get the "capitulos" link:
    go to main page with episodes -> inspect element -> network tab -> click on "EPISODIOS"-> search/filter "capitulos"

    Modify the "capitulos" link in the script for other dramas

    Image
    [Attachment 78863 - Click to enlarge]
    I didn't see it anywhere that was confusing. Now I do. Many thanks for everything
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!