VideoHelp Forum




Closed Thread
Results 1 to 20 of 20
  1. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    Hi y'all. The purpose of posting this thread is that several days ago when I was surfing on a forum, some people say that they can't download videos from Apple TV+, in that there might be some changes, and they are requesting the software developers to update it ASAP.

    So I wonder, why not creating a new script for it?

    I tried for a little while, after thousands of failures, finally it worked.

    Image
    [Attachment 71418 - Click to enlarge]


    This thread is not intended to ask help for downloading protected Intellectual Properties, I just wanna share the happiness with y'all.

    I've posted it on my own WKS-KEYS project on GitHub, and I think that if you don't want to figure it out by yourself, at least there is something you could use right now. And always, I wish this would help some people if possible.
    Use PlayReady SL2000 to get 1080p, this script is limited and has been deleted by me.
    Last edited by CrymanChen; 8th Jan 2025 at 08:45.

  2. Thanks for the github link. What resolution do you get in a browser for that site?

  3. @CrymanChen
    thanks, scripts like this are always helpful!

  4. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    As for the resolution, I think it is the same as that you watch on the Chrome browser (I remember it's 432p?), not a high resolution, but at least we could download some videos.

  5. Thank you for this script, I was able to obtain the keys. However, it seems as if mp4decrypt is unable to decrypt the file. The command executes without error, but the resulting file is still unplayable.

    The video I am trying to download is https://tv.apple.com/us/sporting-event/mls-all-stars-vs-arsenal-fc/umc.cse.1d37hlsq4vq7bid8x9kwlo3dh (free with Apple ID), and the key I got is 00000000240468b66336202020202020:6c9e0ac1ddd5963a6 0a0e20eb11eb5fd.

    The command I am running is mp4decrypt --key 00000000240468b66336202020202020:6c9e0ac1ddd5963a6 0a0e20eb11eb5fd mlsaud.mp4 mlsaud2.mp4

    I think it has something to do with the SAMPLE-AES encryption Apple uses (even though it is still Widevine DRM). [This thread](https://github.com/nilaoda/N_m3u8DL-RE/issues/196) suggests that other tools are having trouble with it as well. Have you been able to actually use these keys to decrypt Apple TV+ content?

  6. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    Haven't tested such live contents. But maybe CBCS isn't the type that we could decrypt, with these keys we got?

  7. That very well could be. I am trying to find other threads where people have the same issue but in those threads, the OP just gets gaslit into believing he has the wrong keys.

    Another approach I was thinking is to see if there is a way to force the platform to deliver DASH instead of HLS. But I don't think that is possible (I tried different browsers and Windows vs Mac and it is always HLS, I don't have an android though so maybe that could work).

    It is just annoying because usually the hard part is getting the keys and decrypting is trivial. But we can get the keys thanks to you, but we can't decrypt...

    Please let me know if you find any solution!

  8. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    I don't think Apple TV+ uses DASH to stream. They already have their self-developed HLS.

    As for their problem of not being able to decrypt with the keys, I'm at a loss too. It's not like I just made up these keys arbitrarily. These were decrypted through a program.

  9. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    And one more thing.
    Why so many people got confused about this thing.
    When I asked them which one is the license request, they gave me this one:
    Image
    [Attachment 72617 - Click to enlarge]


    What...? This is a GET request.
    You should at least look at my screenshot and at least make a comparison. And you will find out that they are not the same at all.

    I have to say that I'm a bit angry, since you guys didn't even look at mine. This license-finding process is not THAT difficult, right?

  10. Haha I can see how that would be annoying, it is obviously the "fpsRequest" one. For some videos it is actually something else entirely, but still not a GET request lol

    For some platforms I will say that it is hard to find the license. For example, I had a lot of trouble with Peacock, not sure if someone has cracked that one yet or not...

  11. OK I think I figured it out! You just need the right software. Download and install gpac: https://github.com/gpac/gpac/

    Then build an xml file like so. Note the KID should be 0 even if something else is returned by your program:

    <?xml version="1.0" encoding="UTF-8" ?>
    <GPACDRM type="cbcs">
    <CrypTrack trackID="1" IsEncrypted="1" IV_size="16" first_IV="0x00000000000000000000000000000000" saiSavedBox="senc">
    <key KID="0x00000000000000000000000000000000" value="0xf8cd7cb33d25ef3804f48f9e3dbf7b25"/>
    </CrypTrack>
    </GPACDRM>


    Then run mp4box -decrypt crypt.xml input.mp4 -out output.mp4
    Last edited by fhpro; 25th Jul 2023 at 21:00.

  12. Originally Posted by fhpro View Post
    OK I think I figured it out! You just need the right software. Download and install gpac: https://github.com/gpac/gpac/

    Then build an xml file like so. Note the KID should be 0 even if something else is returned by your program:

    <?xml version="1.0" encoding="UTF-8" ?>
    <GPACDRM type="cbcs">
    <CrypTrack trackID="1" IsEncrypted="1" IV_size="16" first_IV="0x00000000000000000000000000000000" saiSavedBox="senc">
    <key KID="0x00000000000000000000000000000000" value="0xf8cd7cb33d25ef3804f48f9e3dbf7b25"/>
    </CrypTrack>
    </GPACDRM>


    Then run mp4box -decrypt crypt.xml input.mp4 -out output.mp4

    Thanks for this info.. I will try to figure out the same..
    Last edited by Bellower; 26th Jul 2023 at 10:42.

  13. I have had different situations with the decryption by using mp4box method once I get the keys, because mp4decrypt doesn't work for me too (for some reason)

    The previous method, somehow, works (for me) only for the Audio stream extracted and its KEY.. but the Video stream with its Key ( obviously, the video stream extracted from the same m3u8 as the audio stream) doesn't give me a playable video when I try to decrypt it by mp4box method .. so I can't mux them later because this current issue..

    Any idea??
    Thanks!

  14. Member
    Join Date
    Feb 2022
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by Bellower View Post
    I have had different situations with the decryption by using mp4box method once I get the keys, because mp4decrypt doesn't work for me too (for some reason)

    The previous method, somehow, works (for me) only for the Audio stream extracted and its KEY.. but the Video stream with its Key ( obviously, the video stream extracted from the same m3u8 as the audio stream) doesn't give me a playable video when I try to decrypt it by mp4box method .. so I can't mux them later because this current issue..

    Any idea??
    Thanks!
    Yes The Keys from @CrymanChen Script are only decrypting audio. Anybody had success in decrypting video with same keys??

  15. Originally Posted by CrymanChen View Post
    Hi y'all. The purpose of posting this thread is that several days ago when I was surfing on a forum, some people say that they can't download videos from Apple TV+, in that there might be some changes, and they are requesting the software developers to update it ASAP.

    So I wonder, why not creating a new script for it?

    I tried for a little while, after thousands of failures, finally it worked.

    Image
    [Attachment 71418 - Click to enlarge]


    This thread is not intended to ask help for downloading protected Intellectual Properties, I just wanna share the happiness with y'all.

    I've posted it on my own WKS-KEYS project on GitHub, and I think that if you don't want to figure it out by yourself, at least there is something you could use right now. And always, I wish this would help some people if possible.

    very nice, but can you tell me where i have to put i3_apply.py?

    json_data = headers.json_data
    ^^^^^^^^^^^^^^^^^
    AttributeError: module 'headers' has no attribute 'json_data'

    where can i put the json?where is the json? can you send a tutto please?
    Last edited by marioeivissa; 5th Oct 2023 at 03:35.

  16. the challenges generated by your script are useless at all, all attempts on AppleTV get same invalid response:

    {'streaming-response': {'streaming-keys': [{'id': 0, 'status': -1002}], 'version': 1}}

  17. Member
    Join Date
    Oct 2016
    Location
    argentina
    Search PM
    Does anyone still have this script? It's been taken down from github.

  18. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by antik85 View Post
    Does anyone still have this script? It's been taken down from github.
    It's not taken down, I deleted it 'cause it's pretty limited under Widevine L3.
    Last edited by CrymanChen; 8th Jan 2025 at 08:50.

  19. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by vhfycnm View Post
    the challenges generated by your script are useless at all, all attempts on AppleTV get same invalid response:

    {'streaming-response': {'streaming-keys': [{'id': 0, 'status': -1002}], 'version': 1}}
    Shut the fvck up. It's not my obligation, and obviously you've used it the wrong way, you fvcking idiot.

  20. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date
    Aug 2000
    Location
    Sweden
    Search Comp PM
    BYe bye and thread locked.




Similar Threads

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