VideoHelp Forum

Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or Try ConvertXtoDVD and convert all your movies to DVD. Free trial ! :)
+ Reply to Thread
Results 1 to 9 of 9
Thread
  1. Member
    Join Date
    Jun 2019
    Location
    Online
    Search Comp PM
    I am trying to access the 1080p Version of a Streaming Video. However the 1080p M3U8 appears to be Hidden.

    When I access the Main M3U8 file (WITHOUT the Session Key) I can see all available video quality options which include 1080p, 720p, 480p, and lower.

    However, when streaming the video and accessing the same Main M3U8 file (WITH the Session Key), the highest quality available is 720p.

    The Session Key, send by the server during streaming, determines the video qualities you have access to, and it simply is not allowing me to access the 1080p stream.

    My first thought was video quality limitations associated with particular devices and browsers, but that does not appear to be the case here. I have tried on Firefox, Chrome, Safari, MS Explorer and Edge. Windows 7, Windows 10, iPad Air 2, iPhone XR, Galaxy S9, and even through the service's APP itself. They all only allow the 720p stream.

    Before you say that 1080p just simply isnt available, I know for a fact that it is. I know someone currently releasing 1080p Video Rips from this service, and have spoken to them myself to confirm that 1080p is indeed available. However, they have no interest in sharing their method.


    The Session Key is generated when sending a POST request to the API, which I can replicate. I used to be able to Modify the Request and re-send it to access the Session Key that gave access to the 1080p stream, but now it only gives me up to the 720p stream instead.


    Here is the Main M3U8 file (WITHOUT the Session Key) that clearly shows that 1080p is available [noted as k.m3u8]:
    Code:
    https://content.uplynk.com/ext/21885d134fa441488df8e1d7acee8c66/72255342ea84439aa428fcea0dae3182.m3u8
    The Session Key uses "Base64-encoding", yet I can't decode it for some reason using base64decode. It uses the Uplynk "cqs and kid" encoding. You can read more about it here:
    HTML Code:
    https://docs.vdms.com/video/index.html#Setup/Playback-URLs.htm#SigningPURLs

    So the Main Main M3u8 link (WITH Session key) looks like this:
    Code:
    https://content.uplynk.com/ext/21885d134fa441488df8e1d7acee8c66/72255342ea84439aa428fcea0dae3182.m3u8?cqs=XXXXXXXXXXXXXXXXXXXXXXXXXXX&kid=YYYYYYYYYYYY
    The Video I am trying to access is 100% FREE and Unlocked to anyone in the USA. No membership or subscription service is required to access it, so it should not directly violate any rules.

    Here is the streaming link:
    Code:
    https://disneynow.go.com/shows/mickey-and-the-roadster-racers/season-02/episode-09-supercharged-pop-star-helpers-the-chip-n-dale-500/vdka4929880?pid=PL553044961
    Any help in accessing the 1080p [k.m3u8] stream would be appreciated.
    Quote Quote  
  2. Member
    Join Date
    Jun 2019
    Location
    Online
    Search Comp PM
    Originally Posted by LZAA View Post
    Youtube-dl.
    Already tried it. Even a modified version that specifically added support for that particular site, but it can still only grab 720p. It used to be able to get 1080p, up until about a year ago when they changed something on their site. Now its only 720p and below. Like I said, the site is going out of their way to hide the 1080p stream.
    Quote Quote  
  3. Are you saying that no known player or app can actually play 1080p? Even not roku or apple tv or smart tv?
    Quote Quote  
  4. Not. He says that the server does not give 1080p resolution. But this is a controversial statement. Youtube-dl downloads even higher resolution.
    Quote Quote  
  5. Originally Posted by LZAA View Post
    Not. He says that the server does not give 1080p resolution. But this is a controversial statement. Youtube-dl downloads even higher resolution.
    For OP's sample video (VDKA4929880), I see maximum 720p from youtube-dl. It downloads the "j" variant (3578k b/r), not the "k" variant (5108k b/r).

    Code:
    [Go] vdka4929880: Downloading webpage
    [Go] VDKA4929880: Downloading JSON metadata
    [Go] VDKA4929880: Downloading JSON metadata
    [Go] VDKA4929880: Downloading m3u8 information
    [info] Available formats for VDKA4929880:
    format code  extension      resolution note
    ULNK_MPD     unknown_video  unknown
    ULNK-62      mp4            96x54        62k , avc1.42000a, 6.0fps, mp4a.40.5
    ULNK-133     mp4            192x108     133k , avc1.42000b, 15.0fps, mp4a.40.5
    ULNK-242     mp4            288x162     242k , avc1.42000c, 15.0fps, mp4a.40.5
    ULNK-441     mp4            448x252     441k , avc1.420015, 30.0fps, mp4a.40.5
    ULNK-750     mp4            768x432     750k , avc1.4d001e, 30.0fps, mp4a.40.5
    ULNK-1201    mp4            992x558    1201k , avc1.4d001f, 30.0fps, mp4a.40.5
    ULNK-1682    mp4            1056x594   1682k , avc1.4d001f, 30.0fps, mp4a.40.5
    ULNK-2081    mp4            1088x612   2081k , avc1.4d001f, 30.0fps, mp4a.40.5
    ULNK-2589    mp4            1152x648   2589k , avc1.4d001f, 30.0fps, mp4a.40.5
    ULNK-3578    mp4            1280x720   3578k , avc1.64001f, 30.0fps, mp4a.40.5 (best)
    Show your youtube-dl command output that has a higher quality available.

    There is a "k" variant (5108k) hls playlist variant but it is not sent with the various signatures appended.

    The dash manifest ULNK_MPD appears to be 404.
    Quote Quote  
  6. Looking at the API endpoint variables, I don't see a variable change that could produce a signature that would include the k variant playlist.

    There is a device variable in the API endpoint strings, but it produces the same signature for all of the following devices:

    Code:
    001 device:computer
    002 device:ipad
    003 device:iphone_ipod_touch
    007 device:windows_8_app
    009 device:android
    011 device:apple_tv
    012 device:roku
    015 device:amazon_fire_tv
    017 device:xbox
    023 device:apple_tv
    030 device:android_tv
    009_25 device:android
    OP's friend who can get the k variant playlist signature must have found some sort of hole in the API.
    Quote Quote  
  7. Member
    Join Date
    Jun 2019
    Location
    Online
    Search Comp PM
    In the past, I was able to send a modified POST request to "...playmanifest_secure.json", and by changing a few variables like the Device ID to a different number to simulate playback from a different streaming device [device=001 to device=XXX] I was able to obtain a response with a token that allowed me to access the main m3u8 with with k.m3u8 as an option. That is no longer the case.

    I have attempted to capture network traffic from multiple devices (computers, ipads, high end phones) and none of them have given me access to 1080p.
    Quote Quote  
  8. Member
    Join Date
    Jun 2019
    Location
    Online
    Search Comp PM
    Originally Posted by ponens View Post
    Looking at the API endpoint variables, I don't see a variable change that could produce a signature that would include the k variant playlist.

    There is a device variable in the API endpoint strings, but it produces the same signature for all of the following devices:

    Code:
    001 device:computer
    002 device:ipad
    003 device:iphone_ipod_touch
    007 device:windows_8_app
    009 device:android
    011 device:apple_tv
    012 device:roku
    015 device:amazon_fire_tv
    017 device:xbox
    023 device:apple_tv
    030 device:android_tv
    009_25 device:android
    OP's friend who can get the k variant playlist signature must have found some sort of hole in the API.

    How do you request all the possible API endpoint variables?
    Quote Quote  



Similar Threads