VideoHelp Forum




+ Reply to Thread
Page 5 of 5
FirstFirst ... 3 4 5
Results 121 to 142 of 142
  1. Code:
    heiko@Worf:~/test$ python3 '/home/heiko/Downloads/WKS-KEYS/l3.py'
    
    PSSH: AAAAQ3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACMIARIQWKCVuM4p/L1X3iH+9cQcDCINYV9wcXAycjM3eGwzMg==
    License URL: https://api.vod-prd.s.joyn.de/v1/certificate/widevine/644cc4b1abeeede6db7b3a9b71535ccda12ae4b2
    Traceback (most recent call last):
      File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 28, in <module>
        correct, keys = WV_Function(pssh, lic_url)
      File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 19, in WV_Function
        widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=headers.headers)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/api.py", line 115, in post
        return request("post", url, data=data, json=json, **kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/api.py", line 59, in request
        return session.request(method=method, url=url, **kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
        resp = self.send(prep, **send_kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
        r = adapter.send(request, **kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/adapters.py", line 667, in send
        resp = conn.urlopen(
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 789, in urlopen
        response = self._make_request(
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 495, in _make_request
        conn.request(
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/connection.py", line 440, in request
        self.putheader(header, value)
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/connection.py", line 354, in putheader
        super().putheader(header, *values)
      File "/usr/lib/python3.10/http/client.py", line 1256, in putheader
        values[i] = one_value.encode('latin-1')
    UnicodeEncodeError: 'latin-1' codec can't encode character '\u2026' in position 512: ordinal not in range(256)
    heiko@Worf:~/test$
    Quote Quote  
  2. Video is free at Joyn.de

    Best regards
    Heiko
    Quote Quote  
  3. Originally Posted by Data2006 View Post
    Hello.
    I still have problems with WKS l3.py.

    I have this data:
    Code:
    PSSH: AAAAQ3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACMIARIQWKCVuM4p/L1X3iH+9cQcDCINYV9wcXAycjM3eGwzMg==
    License: https://api.vod-prd.s.joyn.de/v1/certificate/widevine/644cc4b1abeeede6db7b3a9b71535ccda12ae4b2
    
    Video: https://www.joyn.de/play/serien/promi-big-brother/2024-5-tag-5-der-tanz-mit-dem-teufel?from=%2F
    Wrong License URL. The correct one should look something like this:
    Code:
    https://api.vod-prd.s.joyn.de/v1/license?token=<sometokenhere>
    Keys for that episode:
    Code:
    74438d1d9f7150d7430d366a8a21917b:6adb047e389090c2b29769ff0500d41d
    6a27095181195fa1a7b4b73564e22843:1c5a5beffaee4d1f14d1d526d380c5bd
    001e002e904956d4aa46d7623dc3cd22:a7755a921f34e626e62436721e67449a
    98fcae3ba25e5209939e7c54dfc1a01a:4c96adb22256aaecbd66157224c861ae
    Quote Quote  
  4. Hi.

    Thank you for your effort with me.

    I tried it with the new license URL. I only get errors:

    Code:
    heiko@Worf:~/test$ python3 '/home/heiko/Downloads/WKS-KEYS/l3.py'
    
    PSSH: https://delivery.vod-prd.s.joyn.de/v2/dash/CiQwMjYwN2RlZC0xNjU4LTQyMDMtODNjNC1iYzk0NGI0MmJkY2M.Cg1hX3BxcDJyMzd4bDMyEAIYwAQiJDM5YTU4NTA5LWZjZjEtNGIxZC05ZWZiLTNhNTAyZTIzMWNlYg.HLSoRw4NA7XQzaa34-Y8ZT0g8fOIvQC5aymEsz4pkcM/a_pqp2r37xl32/.mpd?filter=CiQ5MDYzODZkYi02YjYxLTQ1ZmMtOTljNy1lOGY4YjczODVhNjM.Cg1hX3BxcDJyMzd4bDMyGMAEIAEoADAB.QbOVztLVHCeFbGHsrwSpt9BGpALClz24i9RU-kh7_VU
    License URL: https://api.vod-prd.s.joyn.de/v1/license?token=CiRhZWE5YmY1MC00YTE2LTRiMjQtYjIzOC04YzI3M2IxZmVjNTE.Cg1hX3BxcDJyMzd4bDMyEAIaEHNvZnR3YXJlLW5vbi12bXAgm8-5uAYopZXEuAYyJDVjY2RmNDIzLTYzZjYtNDQ5ZS04YTU4LTQwZDRmZTEyNDY5NTjABEIkMzlhNTg1MDktZmNmMS00YjFkLTllZmItM2E1MDJlMjMxY2ViSgh3aWRldmluZVDlv7q4BlgA.9xrXhMN7LEvlxIvbsT6jFBG3jjfxQvJ0E48qbRoJqZY&keyId=
    unable to parse, unsupported init data format
    unable to parse init data
    session ID does not exist
    Traceback (most recent call last):
      File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 28, in <module>
        correct, keys = WV_Function(pssh, lic_url)
      File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 19, in WV_Function
        widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=headers.headers)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/api.py", line 115, in post
        return request("post", url, data=data, json=json, **kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/api.py", line 59, in request
        return session.request(method=method, url=url, **kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
        resp = self.send(prep, **send_kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
        r = adapter.send(request, **kwargs)
      File "/home/heiko/.local/lib/python3.10/site-packages/requests/adapters.py", line 667, in send
        resp = conn.urlopen(
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 789, in urlopen
        response = self._make_request(
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 495, in _make_request
        conn.request(
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/connection.py", line 409, in request
        chunks_and_cl = body_to_chunks(body, method=method, blocksize=self.blocksize)
      File "/home/heiko/.local/lib/python3.10/site-packages/urllib3/util/request.py", line 247, in body_to_chunks
        raise TypeError(
    TypeError: 'body' must be a bytes-like object, file-like object, or iterable. Instead was 1
    heiko@Worf:~/test$
    Best regards
    Heiko
    Quote Quote  
  5. it need pssh, but you paste mpd
    Quote Quote  
  6. Code:
    AAAAQ3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACMIARIQWKCVuM4p/L1X3iH+9cQcDCINYV9wcXAycjM3eGwzMg==
    Is the PSSH @Data2006
    Quote Quote  
  7. Originally Posted by Lostion View Post
    Code:
    AAAAQ3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACMIARIQWKCVuM4p/L1X3iH+9cQcDCINYV9wcXAycjM3eGwzMg==
    Is the PSSH @Data2006
    Thank you.
    Quote Quote  
  8. Hi,
    just another newbie...
    How could I get this video:
    https://www.joyn.de...

    I really do not get it how to get the mpd and key... I am sorry

    --
    Edith:

    I could figure it out ... sry for the fish
    Last edited by gorkul; 24th Nov 2024 at 04:53.
    Quote Quote  
  9. Give us the correct link....
    Quote Quote  
  10. Hi di ho.
    Do i see this right, that Joyn.de (Free) only serves 1024x576, or even smaller, Videos?
    So no 720p or 1080p in Free Mode?
    Quote Quote  
  11. For most stuff, yes. I've seen some free stuff offered as 720p though (from memory for some P7S1 productions).

    Even with a trial account I wasn't able do grab higher resolutions - I didn't try hard though.
    Quote Quote  
  12. Trial gets 720p/1080p for stuff from joyn/pro7 (tvtotal etc) for license stuff you must use PlayReady which works with trial too.

    Licensed Series/Movies are mostly PlayReady/L1 but not all mostly from Paramount etc.
    Quote Quote  
  13. I am currently working on a custom yt-dlp extractor for Joyn, I successfully created one for RTL Plus allready, working with anonymous and cookie auth, however I have trouble withthee cookie based authentication at Joyn, I could not find their authentication endpoint.

    I created this script that demonstrates the OpenID Connect workflow at RTL Plus. Maybe someone can help with Joyn?

    https://gist.github.com/blackicedbear/101cf830ef61e8b8632667da1dff5c01
    Quote Quote  
  14. did you read this post by pepe? it maybe help:

    https://forum.videohelp.com/threads/410066-Video-Download-from-Joyn-de/page3#post2747253


    i havent tested this because im stuck at the signature part, always got invaild signature payload error.
    Quote Quote  
  15. This is what I have in my yt-dlp extractor for Joyn. The "_perform_login" method is basically untested, because the refresh token has a lifetime of 180 days.

    Code:
        def _get_access_token(self):
            cached = self.cache.load('joyn', 'token')
            if cached:
                expire, client_id, client_name = traverse_obj(
                    cached['access_token'], ({jwt_decode_hs256}, ('exp', 'cId', 'cN')))
                if time.time() > expire + 300:
                    self._ACCESS_TOKEN = self._refresh_access_token(client_id, client_name, cached['refresh_token'])
                else:
                    self._ACCESS_TOKEN = cached['access_token']
    
            if not self._ACCESS_TOKEN:
                self.raise_login_required('Login required.')
    
            self.decryption_keys = None
    
        def _refresh_access_token(self, client_id, client_name, refresh_token):
            data = {
                'client_id': client_id,
                'client_name': client_name,
                'grant_type': 'Bearer',
                'refresh_token': refresh_token
            }
            headers = {
                'content-type': 'application/json',
                'joyn-client-version': self._ACCESS_TOKEN,
                'joyn-country': 'DE',
                'joyn-distribution-tenant': 'JOYN',
                'joyn-platform': 'web',
                'joyn-request-id': f'{uuid.uuid4()}',
                'origin': 'https://www.joyn.de',
            }
            token = self._download_json(
                'https://auth.joyn.de/auth/refresh', None, note='Refresh access token',
                headers=headers, data=json.dumps(data).encode('ascii'))
            self.cache.store('joyn', 'token', token)
            return token['access_token']
    
        def _perform_login(self, username, password):
            """ completely untested """
            if self._ACCESS_TOKEN:
                return
    
            # four requests for access_token
            # ---------------------------------------------------------
            # 1: endpoints => find client_id 
            hw_client_id = str(uuid.uuid5(uuid.NAMESPACE_DNS, str(uuid.getnode())))
            web_login_url = self._download_json(
                'https://auth.joyn.de/sso/endpoints', None, note='Acquire client_id',
                query={'client_id': hw_client_id,'client_name': 'web'})['web-login']
            client_id = parse_qs(urlparse(web_login_url).query)['client_id'][0]
    
            # ---------------------------------------------------------
            # 2. request ID for authorization code
            #    The request produces a redirect with the parameter we need
            redirect_url = requests.get(
                'https://auth.7pass.de/authz-srv/authz',
                params={'client_id': client_id,'response_type': 'code'},
                allow_redirects=False
            ).headers['location']
            request_id = parse_qs(urlparse(redirect_url).query)['requestId'][0]
    
            # ---------------------------------------------------------
            # 3. login with request ID
            #    request produces a redirect with OAuth2 code parameter
            redirect_url = requests.post(
                'https://auth.7pass.de/login-srv/login',
                data={'username': username,'requestId': request_id,'password': password},
                allow_redirects=False
            ).headers['location']
            code = parse_qs(urlparse(redirect_url).query)['code'][0]
    
            # ---------------------------------------------------------
            # 4. exchane code for access token
            token = requests.post(
                'https://auth.joyn.de/auth/7pass/token',
                json={
                    'code': code,
                    'client_id': client_id,
                    'redirect_uri': 'https://www.joyn.de/oauth',
                    'tracking_name': 'web'
                }
            ).json()
            self.cache.store('joyn', 'token', token)
    Quote Quote  
  16. I have already hardcoded the auth token into the extractor with refresh logic, but thought it might be a more elegant approach to use browser cookies instead. But I could not find out how to get it from the cookies...
    Quote Quote  
  17. Hi, is anyone able to download this video in a higher resolution than 1024x576 (or is it the best)?
    https://www.joyn.de/play/serien/schlag-den-star/2025-5-das-schwesternduell-luna-und-li...d-davina-geiss


    I tried it with that cmd:
    .\N_m3u8DL-RE "https://fastly.vodprd.s.joyn.de/v2/dash/CiRlODMyOGIxNy1kZDAyLTRlYzUtOTEwYy05M2Y5MzY2N2U4MD c.Cg1hX3Bib202Z3ZiOWV6EAMYwAQiJDU1ZGNkZDc0LTUxMjEt NGEyOS1hYWFhLTNiYzQxZDdlNDU2Mg.6sC4yoNQYca9zeXXq7L qJwgU6PNA1bPrFObjzp3em8U/a_pbom6gvb9ez/.mpd?filter=CiQ4MWZiNjUzYS1iMzdmLTQwZGEtYjg5My00Zj YyZDgwMzI0OWE.Cg1hX3Bib202Z3ZiOWV6GMAEIAEoADAB.Tun qRpp7dkSV0IpbuLUkt0BfY3312QvE7wZkfLoGb1Q" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" -H "Accept: */*" -H "Origin: https://www.joyn.de" --key 8c4bb3f053bf6cd52f1e6f1eed091adf:95e89d2bc78d6350c 21d36ee8d83d299 --key 579251b348e15d91aefa748dabe9e6d9:942174e9149c90d48 da805e4f263e4ba --key 9f39309586265e2aad35b4a22d8916b9:7fc420236319b2f69 38cef95f19ccc5a --key 5be12065a3155c7d9c869ff18d55cc4b:e45d7919fb1894cad 2e494dc42bc4dd5 -M format=mkv
    Quote Quote  
  18. Do you have a joyn+ acc? Without it wont be possible.
    Quote Quote  
  19. Originally Posted by Lostion View Post
    Do you have a joyn+ acc? Without it wont be possible.
    No. But I think joyn+ only blocks the ads, but doesn‘t make the quality better?
    Quote Quote  
  20. No Joyn+ gives you 720p/1080p with free (or without) an account you only get 1024x576
    Quote Quote  
  21. Originally Posted by Lostion View Post
    No Joyn+ gives you 720p/1080p with free (or without) an account you only get 1024x576
    Oh, thanks for letting me know! I didn‘t know that.
    Do you or somebody else maybe has a Joyn+ account and could give me the cmd or just post a download link? I only need this before it gets removed. :/
    Quote Quote  
  22. No i don't use that service anymore.
    Quote Quote  



Similar Threads

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