VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 59
Thread
  1. Never thought it could be so difficult to download a video...
    So, how to download videos from CloudFront?

    I got the following link through Inspect Element> Network:
    https://dmf9cnjua2s32.cloudfront.net/media/rT9pSmMOa4EDK/2d4123ca/video_6355_720_395.mp4

    If I try to download it normally, it's a broken video with no audio. If I try on youtube-dl using the command -F nothing happens:
    Code:
    youtube-dl -F https://dmf9cnjua2s32.cloudfront.net/media/rT9pSmMOa4EDK/2d4123ca/video_6355_720_395.mp4
    [generic] video_6355_720_395: Requesting header
    WARNING: Falling back on generic information extractor.
    [generic] video_6355_720_395: Downloading webpage
    WARNING: URL could be a direct video link, returning it as such.
    [info] Available formats for video_6355_720_395:
    format code  extension  resolution note
    0            mp4        unknown
    Also tried using agent switch but couldn't get another link (not doing it correctly maybe).

    Need to know how to download the videos for better studying.
    Quote Quote  
  2. Need a link to the parent page.
    Quote Quote  
  3. Originally Posted by jagabo View Post
    Need a link to the parent page.
    Sorry my ignorance but what exactly do you mean by parent page?
    Quote Quote  
  4. Originally Posted by damnson View Post
    I got the following link through Inspect Element> Network:
    That page.
    Quote Quote  
  5. It's from a private website...
    Quote Quote  
  6. It's a dash stream, so the audio is contained in a separate stream . Look at the webpage source more closely for the audio stream

    But the video is just encrypted, not necessarily "broken" when you download it .

    Encryption : Encrypted
    Codec configuration box : avcC
    Quote Quote  
  7. Member Emeritus
    Join Date
    May 2014
    Search PM
    Is the video from fxgeometry? If so, it uses vdocipher implementation of widevine.
    Last edited by ponens; 1st Sep 2018 at 00:45.
    Quote Quote  
  8. Originally Posted by poisondeathray View Post
    It's a dash stream, so the audio is contained in a separate stream . Look at the webpage source more closely for the audio stream

    But the video is just encrypted, not necessarily "broken" when you download it .

    Encryption : Encrypted
    Codec configuration box : avcC
    Yeah I can find and download the audio too but it doesn't play any sound. Both only open on Media Player Classic, if tried to open on Windows 10 default app "Movies & TV" it says "This file isn't playable. That might be because the file type is unsupported, the file extension is incorrect, or the file is corrupt.". Same applies if I try to open on Winamp, Windows Media Player, Sony Vegas... Both audio and video are download .mp4 extension. I've installed "Windows 10 Codec Pack" and had the same results.

    The player is the following:


    Every video link is the same link: https://dmf9cnjua2s32.cloudfront.net/media/rT9pSmMOa4EDK/2d4123ca/video_6355_720_395.mp4
    Also every audio link is the same link: https://dmf9cnjua2s32.cloudfront.net/media/rT9pSmMOa4EDK/2d4123ca/audio_7273_0_62.mp4
    Don't know if this is relevant or not, but there is also this link named "3b5c896e2bd1484397c581c0a1da4bbd": https://clipstat.com/api/v2/update/3b5c896e2bd1484397c581c0a1da4bbd
    Quote Quote  
  9. Originally Posted by ponens View Post
    Is the video from fxgeometry? If so, it uses vdocipher implementation of widevine.
    No, but is also about trading so maybe they're using vdocipher too. If so, this mean it cannot be download by any means?
    Quote Quote  
  10. If you can play it online you can always use screen capture to record it.
    Quote Quote  
  11. Member Emeritus
    Join Date
    May 2014
    Search PM
    Originally Posted by damnson View Post
    maybe they're using vdocipher too.
    They're obviously using vdocipher. The mp4 file is so branded within pssh box inside the mp4.

    The only questions are; is it the widevine version of vdocipher, or a different version of vdocipher. Also, is the mobile vdocipher player active for the video.


    Originally Posted by damnson View Post
    If so, this mean it cannot be download by any means?
    It obviously can be downloaded, you already have. The questions are; can the downloaded files be decrypted, or is there a mobile version that is not encrypted.

    Is there is a call to an embed player (see this thread)?

    Is there a call to a widevine license server? (If not, then the encryption is vdocipher proprietary).

    Is there a mpd manifest url from which the video and audio urls are derived?
    -----

    The only method that would be easy is if there is a cloudfront embed player url that will redirect to the mobile player, if it is enabled.

    All other methods would involve decryption. Easier if it is widevine, more complex if it is other methods.

    No other information can be provided without being able to play the video.
    Quote Quote  
  12. jagabo

    If you can play it online you can always use screen capture to record it.
    Problem is that my goal is to being able to study faster and more efficiently and not to have the video saved in the first place... Also my screen name keeps poping up in the video lol.

    Originally Posted by ponens View Post
    They're obviously using vdocipher. The mp4 file is so branded within pssh box inside the mp4.

    The only questions are; is it the widevine version of vdocipher, or a different version of vdocipher. Also, is the mobile vdocipher player active for the video.
    It's indeed widevine, it installed these two plugins on Firefox:



    It obviously can be downloaded, you already have. The questions are; can the downloaded files be decrypted, or is there a mobile version that is not encrypted.

    Is there is a call to an embed player (see this thread)?
    Yesterday I've tried following the tutorial from this link but since there are not more Shockwave Flash I couldn't get these results... I've tried disabling Adobe Flash and this two plugins but didn't work. Actually I can't even open source code on Firefox when I paste the video link as showing in the tutorial, it's greyed out and Ctrl+U doesn't open the source code... And on Google Chrome it instantly download the video when I paste the link. Both using User Agent Switcher to change to an iPhone.

    Is there a call to a widevine license server? (If not, then the encryption is vdocipher proprietary).

    Is there a mpd manifest url from which the video and audio urls are derived?
    How can I check this?

    The only method that would be easy is if there is a cloudfront embed player url that will redirect to the mobile player, if it is enabled.

    All other methods would involve decryption. Easier if it is widevine, more complex if it is other methods.

    No other information can be provided without being able to play the video.
    I can play the video through my mobile Android, so this mean it will be possible to find this not encrypted link to download?
    Quote Quote  
  13. Originally Posted by damnson View Post
    I can play the video through my mobile Android, so this mean it will be possible to find this not encrypted link to download?
    Use a user-agent switcher on your computer browser and set it to Android. Then use Developer Tools to monitor network traffic.
    Quote Quote  
  14. Originally Posted by jagabo View Post
    Originally Posted by damnson View Post
    I can play the video through my mobile Android, so this mean it will be possible to find this not encrypted link to download?
    Use a user-agent switcher on your computer browser and set it to Android. Then use Developer Tools to monitor network traffic.
    These are the results:

    Opera iOS (iPhone): In the parent page, the video player change (img) but if I start the video and look on network, it still shows the same video and audio link. If I click on "copy video address" I get this link. But every time I reload the page and click to copy video address, I end up with a different link like this. And always start to download when I copy the link that I got on network in another tab.

    Opera Android (Galaxy S3): Nothing change from Opera default. Same video player, same link on network, start the download when I paste the link from network...

    Chrome iOS (iPhone 6): In the parent page, the video player change (img) but this time I can't play the video. Doesn't work when I click "show controls". If I click to copy video address, again I get different links like this every time I do it. Since I can't play the video I can't get any link on network this time, but if I paste the link it automatically start to download it.

    Chrome Android (KitKat): In the parent page the video player change to this (I changed the thumbnail...). The video can't be played if I click on play, but if I click in the thumbnail it opens another tab with the following link:
    intent://app.vdocipher.com/20160313versUSE3230895c1be65d33b8d814ef7757ea104d0 71840053797042#Intent;package=com.vdocipher.zenpla yer;S.otp=20160313versUSE3230895c1be65d33b8d814ef7 757ea104d071840053797042;scheme=vdocipher;S.market _referrer=ERASEDTHEWEBSITENAMEHERE;end
    So it's vdocipher widevine thing. And of course when I click to play on app, oppening another tab, it's just a blank tab. Again, when I paste the link from network it automatically start to download.

    Firefox iOS (iPhone Safari 11.1.1): Change to this player on the parent page. This time I can play the video but the link on networks remains the same. I can go to "this frame" > "view frame info" and have this window. This is the link from "media" tab.
    When I paste the video link, finally it doesn't start download automatically and I have this window. But can't play the video, can't see source code, can't do nothing.

    Firefox Android (Chrome 68): Default video player, default everything, nothing as changed. Can play the video, same link on network, if open in another tab the results are the same as Firefox iOS.
    Quote Quote  
  15. Member Emeritus
    Join Date
    May 2014
    Search PM
    Originally Posted by damnson View Post
    These are the results:

    Chrome Android (KitKat):
    but if I click in the thumbnail it opens another tab with the following link:
    intent://app.vdocipher.com/...otp values...#Intent;package=com.vdocipher.zenplayer;S .otp=...otp values...;scheme=vdocipher;S.market_referrer=ERASE DTHEWEBSITENAMEHERE;end
    The above agent setting should work for a mobile version of the video.

    "...otp values..." is part of a one-time use url that expires in a number of minutes. I was barely able to check it before it expired. That url must have been re-directed from the embed url.

    The one-time use url should have been preceeded in the network traffic by an embed url that does not expire, but is dependent on all of the cloudfront key settings and cookies from your session. You need to find the preceeding embed url in the network traffic for this user agent.

    However, only the 500k bitrate mobile video is available from the one-time use link. As you can see, the quality is poor.
    Last edited by ponens; 2nd Sep 2018 at 15:41.
    Quote Quote  
  16. Originally Posted by ponens View Post
    The above agent setting should work for a mobile version of the video.
    But how to open it?

    The one-time use url should have been preceeded in the network traffic by an embed url that does not expire, but is dependent on all of the cloudfront key settings and cookies from your session. You need to find the preceeding embed url in the network traffic for this user agent.
    In the network traffic of the parent page, right? Searching for "cloudfront" I've found this link, which contains a stream.mpd address.
    There is also this lines in the source code, containing the video ID I guess
    Code:
    <h3 class="course-item-title question-title">Video name</h3>
    <div class="content-item-description lesson-description"><div id='vdo20160313versUSE323e914a528f4f24953656219130b821657015e4bd81859f1' style='height:auto;width:850px;max-width:100%' ></div><script>(function(v,i,d,e,o){v[o]=v[o]||{}; v[o].add = v[o].add || function V(a){(v[o].d=v[o].d||[]).push(a);};if(!v[o].l) { v[o].l=1*new Date(); a=i.createElement(d), m=i.getElementsByTagName(d)[0];a.async=1; a.src=e; m.parentNode.insertBefore(a,m);}})(window,document,'script','https://d1z78r8i505acl.cloudfront.net/playerAssets/1.6.4/vdo.js','vdo');vdo.add({otp: '20160313versUSE323e914a528f4f24953656219130b821657015e4bd81859f1',playbackInfo: btoa(JSON.stringify({videoId: 'c674285581a74c23a053b290a7a45093'})),theme: '9ae8bbe8dd964ddc9bdb932cca1cb59a',container: document.querySelector('#vdo20160313versUSE323e914a528f4f24953656219130b821657015e4bd81859f1'),});</script>
    </div>
    However, only the 500k bitrate mobile video is available from the one-time use link. As you can see, the quality is poor
    lol, actually you made it!!! This quality is the actual video quality, so it's exactly what I'll need. How did you did it?
    Last edited by damnson; 29th Nov 2018 at 13:51.
    Quote Quote  
  17. Member Emeritus
    Join Date
    May 2014
    Search PM
    Originally Posted by damnson View Post
    <div id='...values...' ;vdo.add({otp: '...values...'
    The values in red are the limited time values that should change every time the page is loaded for the same video.

    Whichever way the mobile player is setup to work on the site should pass those values to the player, but they expire fairly quickly. You need to find how those values are passed to the ios player. The android player for the site apparently passes the limited time values to the app player, it shouldn't be the same for ios.
    Last edited by ponens; 2nd Sep 2018 at 15:47.
    Quote Quote  
  18. Originally Posted by ponens View Post
    Originally Posted by damnson View Post
    <div id='...values...' ;vdo.add({otp: '...values...'
    The values in red are the limited time values that should change every time the page is loaded for the same video.

    Whichever way the mobile player is setup to work on the site should pass those values to the player, but they expire fairly quickly. You need to find how those values are passed to the ios player. The android player for the site apparently passes the limited time values to the app player, it shouldn't be the same for ios.
    Thought I was getting closer but now I fell lost again lol
    Quote Quote  
  19. Member Emeritus
    Join Date
    May 2014
    Search PM
    Where are you stuck?
    Last edited by ponens; 2nd Sep 2018 at 19:38.
    Quote Quote  
  20. Originally Posted by ponens View Post
    Where are you stuck?
    Was trying to get something on iOS and also searching about blob

    Provide another otp code for another video, and the id (the value after h..ps://dev.xxxxxxxxx.com/api/meta/)
    This links: Link 1. Link 2.

    And also this one if you want
    Quote Quote  
  21. Member Emeritus
    Join Date
    May 2014
    Search PM
    Originally Posted by damnson View Post

    ... and also searching about blob
    blob is the chrome browser fileSystem API, which basically writes the file to a sandboxed section of your local file system:

    On windows OS, usually found somewhere like:
    AppData\Local\Google\Chrome\User Data\Default\File System\

    It is basically the browser using a cache.
    Quote Quote  
  22. There are some info in this two links, showing the codes to create the limited time links.
    Link 1. Is search for "intent" we can se "intent://app.vdocipher.com/"+i+"#Intent;package=com.vdocipher...". The "i" is replaced for that limited time code...
    Link 2. Searching for "dev.vdocipher" we find the code for creating https://dev.vdocipher.com/api/meta/...

    Originally Posted by ponens View Post
    However, only the 500k bitrate mobile video is available from the one-time use link. As you can see, the quality is poor.
    How did you download it before?
    Quote Quote  
  23. Stuck. Don't know how to progress
    Quote Quote  
  24. Originally Posted by damnson View Post
    Code:
    ...btoa(JSON.stringify({videoId: 'c674285581a74c23a053b290a7a45093'})),theme:...
    This is the true video id? It hasn't changed. I've seem somewhere else that I can create a video player link and substitute the src="blob url" on web developer, then it will generate the link for downloading it. I've tried to different links but didn't work. Actually I don't know whats a Cloudfront video player url looks like.
    Tried to create a link base on the link in this thread.

    Original link:
    https://de122v0opjemw.cloudfront.net/utils/embedplayer.php?video=e8d7c9841dad41a48692cfa00c49d883
    Attempts:
    https://dmf9cnjua2s32.cloudfront.net/utils/embedplayer.php?video=c674285581a74c23a053b290a7a45093
    https://de122v0opjemw.cloudfront.net/utils/embedplayer.php?video=c674285581a74c23a053b290a7a45093
    https://dmf9cnjua2s32.cloudfront.net/utils/embedplayer.php?video=e8d7c9841dad41a48692cfa00c49d883

    There is a different response when changed the beginning of the link, it's probably the account address... Clearly indicates that this link we are trying to break are more annoying to crack.
    Quote Quote  
  25. OMG now I'm able to create a streaming link!!! I believe it is one-time use link, but still is a major progress in my humble opinion.

    This is the link:
    https://dmf9cnjua2s32.cloudfront.net/utils/embed.html#otp=20160313versUSE32390645476a6...;theme=default

    Now I'm trying to download it
    Quote Quote  
  26. Member Emeritus
    Join Date
    May 2014
    Search PM
    Originally Posted by damnson View Post
    OMG now I'm able to create a streaming link!!! I believe it is one-time use link, but still is a major progress in my humble opinion.

    This is the link:
    https://dmf9cnjua2s32.cloudfront.net/utils/embed.html#otp=20160313versUSE32390645476a6...;theme=default
    That seems to work. That embed url will redirect to a ios url if the user agent is set to iphone. This will produce a m3u8 url link in the network traffic.

    Note that for the m3u8 file, downloading the hls key requires one group of cloudfront keys, while the hls ts segments require a different group of cloudfront keys.

    If you can't figure it out, download the hls key separately in the broswer and then edit a local copy of the m3u8 to use the local key. But you'll still need to have all of the cloudfront keys set in order to download the hls externally from the browser.
    Quote Quote  
  27. Originally Posted by ponens View Post
    That seems to work. That embed url will redirect to a ios url if the user agent is set to iphone. This will produce a m3u8 url link in the network traffic.
    Isn't redirecting, tried using User Agent Switcher on Firefox and Opera. Google Chrome keep asking to install install Adobe Flash even tho I've just installed (and it's already allowed).

    Also tried a few more tricks and discovered a easy way to download the video from another thread.

    1- (I completely forgot how I did step 1 lol... When I remember how I'll edit here) Get this link:
    2- Open the link and look "mobileVids" to find a link like this:
    3- Open it, right click the video and click to save as...

    Unfortunately this doesn't solve my problem yet. If I edit the link to my video, like this, it open the video but immediately refresh the page saying "video not available on Android", even if I open without using User Agent Switcher or even using to switch to iOS. Got the same response anywhere and anyhow I open it.
    Looking at the network the link that I want shows up as Error Forbidden 403.

    Note that for the m3u8 file, downloading the hls key requires one group of cloudfront keys, while the hls ts segments require a different group of cloudfront keys.

    If you can't figure it out, download the hls key separately in the broswer and then edit a local copy of the m3u8 to use the local key. But you'll still need to have all of the cloudfront keys set in order to download the hls externally from the browser.
    English isn't my first language and I don't understand about this stuff, so it's twice as harder (and fun) to understand it all

    Still trying to get redirected to a iOS URL
    Last edited by damnson; 6th Sep 2018 at 19:01. Reason: Adding some lines
    Quote Quote  
  28. Member Emeritus
    Join Date
    May 2014
    Search PM
    Originally Posted by damnson View Post
    Isn't redirecting, tried using User Agent Switcher on Firefox and Opera.
    How are you setting the user agent on chrome? Try this extension if you haven't already.

    Originally Posted by damnson View Post
    Google Chrome keep asking to install install Adobe Flash even tho I've just installed (and it's already allowed).
    It won't ask if your initial embed url redirects to the ios url instead of the flash url. You don't want the flash url, that is a dead end. Flash should be disabled.

    Originally Posted by damnson View Post
    Also tried a few more tricks and discovered a easy way to download the video from another thread.
    That would work if the redirectToApp mp4 was enabled for your video, but it is not. The mp4 link produced will always result in a 403, even with valid cloudfront keys present, because the mp4 is disabled for your video.

    Originally Posted by damnson View Post
    Still trying to get redirected to a iOS URL
    The ios url that your initial embed url redirected to is as follows (but the user agent still must be set properly!):
    Code:
    https://dmf9cnjua2s32.cloudfront.net/utils/ios.html#20160313versUSE3232adb51b7ecaf5d3ae1d045ca5162d7df09701fe3e1127c
    Last edited by ponens; 6th Sep 2018 at 19:44.
    Quote Quote  
  29. Originally Posted by ponens View Post
    How are you setting the user agent on chrome? Try this extension if you haven't already.
    Was using another one, but this one I'm using on Opera already.

    That would work if the redirectToApp mp4 was enabled for your video, but it is not.
    So this is why I need to redirect to iOS?

    The ios url that your initial embed url redirected to is as follows (but the user agent still must be set properly!):
    Code:
    https://dmf9cnjua2s32.cloudfront.net/utils/ios.html#20160313versUSE3232adb51b7ecaf5d3ae1d045ca5162d7df09701fe3e1127c
    User Agent Switcher is set to iOS > iPhone.
    I should be able to play and watch the video through this link and using User Agent Switcher? Because it doesn't play.
    Anyway I can find a m3u8 link located in "scr=".
    Inside the file there is this code (up to 130.ts)
    Code:
    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:13
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-KEY:METHOD=AES-128,URI="/keystore/byXTGsjCGojqb",IV=0x33e624acf348548f77e44b18199b8f6c
    #EXTINF:9.650000,
    _0.ts
    #EXTINF:12.500000,
    _1.ts
    #EXTINF:12.500000,
    _2.ts
    #EXTINF:12.000000,
    Creating this link it download a file with a single encrypted line
    Code:
    M tӁd,zX
    Quote Quote  



Similar Threads

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