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:
Also tried using agent switch but couldn't get another link (not doing it correctly maybe).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
Need to know how to download the videos for better studying.
Support our site by donate $5 directly to us Thanks!!!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
+ Reply to Thread
Results 1 to 30 of 59
-
-
-
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
-
Is the video from fxgeometry? If so, it uses vdocipher implementation of widevine.
Last edited by ponens; 31st Aug 2018 at 23:45.
-
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 -
-
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 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. -
jagabo
If you can play it online you can always use screen capture to record it.
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)?
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. -
-
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. -
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 14:41.
-
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.
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 poorLast edited by damnson; 29th Nov 2018 at 12:51.
-
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 14:47.
-
-
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. -
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/...
How did you download it before? -
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. -
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 -
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. -
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.
Still trying to get redirected to a iOS URLLast edited by damnson; 6th Sep 2018 at 18:01. Reason: Adding some lines
-
Last edited by damnson; 29th Nov 2018 at 12:53.
-
How are you setting the user agent on chrome? Try this extension if you haven't already.
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.
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.
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 18:44.
-
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.
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
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,
Code:M tӁd,zX
Similar Threads
-
How to download freaking HLS cloudfront videos?!
By sneak3 in forum Video Streaming DownloadingReplies: 0Last Post: 18th Apr 2018, 21:49 -
download streaming cloudfront.net/kraush
By FernandaLobo in forum Newbie / General discussionsReplies: 0Last Post: 1st Dec 2017, 08:42 -
Want to download from CLOUDFRONT please help
By daideepya in forum Video Streaming DownloadingReplies: 1Last Post: 22nd Sep 2017, 11:15 -
Downloading Video From CloudFront.Net
By Rameshcginfo in forum Video Streaming DownloadingReplies: 9Last Post: 19th Mar 2017, 21:12 -
CBT Nuggets files from Cloudfront
By yeddish in forum Video Streaming DownloadingReplies: 6Last Post: 31st Jan 2015, 20:40