FaisalUmair / udemy-downloader-gui

A desktop application for downloading Udemy Courses
MIT License
6.12k stars 1.72k forks source link

Building Course Data ... #581

Open smartvisi0n opened 3 years ago

smartvisi0n commented 3 years ago

I have Udemy business account. None of courses can be downloaded and following message is displayed

Building Course Data ...

ghost commented 3 years ago

That's because UDemy changed their videos to be DRM. Most likely you won't be able to now.

smartvisi0n commented 3 years ago

Thank you Faisal for your message.

Its a heart breaking news.

Is there any chance we will be able again to download videos from Udemy again in the future if you update Udeler accordingly.

Thanks

Shahid

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: @.> Sent: 29 April 2021 02:10 To: @.> Cc: Shahid @.>; @.> Subject: Re: [FaisalUmair/udemy-downloader-gui] Building Course Data ... (#581)

That's because UDemy changed their videos to be DRM. Most likely you won't be able to now.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/FaisalUmair/udemy-downloader-gui/issues/581#issuecomment-828879629, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AENHO2VI2DB6IGGVPL3BL6LTLCWZDANCNFSM43XATJ6A.

ghost commented 3 years ago

Unfortunately not. You won't be able to download videos from UDemy any longer. Which sucks. I live in an area with very, very slow internet. It was my only way to watch UDemy videos. UDemy will be losing a few hundred dollars a month from me, from now on.

smartvisi0n commented 3 years ago

Its very sad news but I have to admit that you have done a brilliant job. I was using your software for a long time.

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: @.> Sent: 29 April 2021 02:21 To: @.> Cc: Shahid @.>; @.> Subject: Re: [FaisalUmair/udemy-downloader-gui] Building Course Data ... (#581)

Unfortunately not. You won't be able to download videos from UDemy any longer. Which sucks. I live in an area with very, very slow internet. It was my only way to watch UDemy videos. UDemy will be losing a few hundred dollars a month from me, from now on.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/FaisalUmair/udemy-downloader-gui/issues/581#issuecomment-828882359, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AENHO2UUMPSPVWABU32YC33TLCX7VANCNFSM43XATJ6A.

fatihyldz1 commented 3 years ago

It seems that Udemy is adding DRM to its contents everyday. Some of my courses show DRM icon on the browser and some other don't. However, I can't download any with existing option. This is sad.

Blood-PawWerewolf commented 3 years ago

i can confirm that in march that they added the dreaded Widevine DRM (the same impossible to crack DRM that streaming services use and tend to be broken on non Google owned applications/devices) to their videos.

LuiSilvaPT commented 3 years ago

I can download all videos with a Chrome Extension, although is all manual (video by video).

bissaka commented 3 years ago

I can download all videos with a Chrome Extension, although is all manual (video by video).

What is the name of chrome extention please?

LuiSilvaPT commented 3 years ago

I can download all videos with a Chrome Extension, although is all manual (video by video).

What is the name of chrome extention please?

Of course, it's VideoOctopus

CarlosJoseChaconChavarria commented 3 years ago

OMG that is too bad I hate how Udemy makes the transition from one video to another one looks for me like an eternity one reason I download videos and also I share my internet with 5 people

zaahidrather commented 3 years ago

There's an extension for chrome called "udemy downloader" too which downloads whole course, but the problem is it downloads automatically in 1080p ( or perhaps highest available quality) link is here : https://chrome.google.com/webstore/detail/udemy-downloader/oojlfdpeghhdkdbcajpmbnkbmecbdejm?hl=en

CarlosJoseChaconChavarria commented 3 years ago

There's an extension for chrome called "udemy downloader" too which downloads whole course, but the problem is it downloads automatically in 1080p ( or perhaps highest available quality) link is here : https://chrome.google.com/webstore/detail/udemy-downloader/oojlfdpeghhdkdbcajpmbnkbmecbdejm?hl=en

I saw that one but I have biz account and does not work with biz accounts :/

Blood-PawWerewolf commented 3 years ago

There's an extension for chrome called "udemy downloader" too which downloads whole course, but the problem is it downloads automatically in 1080p ( or perhaps highest available quality) link is here : https://chrome.google.com/webstore/detail/udemy-downloader/oojlfdpeghhdkdbcajpmbnkbmecbdejm?hl=en

sadly that addon extension also fails to download

MCDELTAT commented 3 years ago

I would recommend we don't open any further issues regarding this, and instead focus on one. We can link and close the other issues later.

I'll investigate the issue over this weekend and see if I can find a cause. I can confirm that I can still download videos using other more traditional slower methods (find the .m3u8 file in the network tab of your browser and use an HLS downloader) as well as some Extensions (HLS Downloader).

bissaka commented 3 years ago

I would recommend we don't open any further issues regarding this, and instead focus on one. We can link and close the other issues later.

I'll investigate the issue over this weekend and see if I can find a cause. I can confirm that I can still download videos using other more traditional slower methods (find the .m3u8 file in the network tab of your browser and use an HLS downloader) as well as some Extensions (HLS Downloader).

Please can you explain in detail using the slower traditional method for those that are not developers. Thanks 🙏

LightCyan01 commented 3 years ago

There's an extension for chrome called "udemy downloader" too which downloads whole course, but the problem is it downloads automatically in 1080p ( or perhaps highest available quality) link is here : https://chrome.google.com/webstore/detail/udemy-downloader/oojlfdpeghhdkdbcajpmbnkbmecbdejm?hl=en

could you send me the extension file? it seems like the extension isn't available anymore.

meguminnet commented 3 years ago

There's an extension for chrome called "udemy downloader" too which downloads whole course, but the problem is it downloads automatically in 1080p ( or perhaps highest available quality) link is here : https://chrome.google.com/webstore/detail/udemy-downloader/oojlfdpeghhdkdbcajpmbnkbmecbdejm?hl=en

could you send me the extension file? it seems like the extension isn't available anymore.

You can still download it from here:

https://chrome-stats.com/d/oojlfdpeghhdkdbcajpmbnkbmecbdejm/download

Full disclosure: I haven't tested the extension myself

MCDELTAT commented 3 years ago

I'd be interested to know if anyone has any history on the Udemy API. It appears they might have broken Semantic Versioning and removed an API endpoint that is used by all of these Udemy downloaders.

This tool and async-udemy-dl both use the endpoint https://www.udemy.com/api-2.0/users/me/subscribed-courses/${courseid}/lectures/

That appears to be part of the affiliate API, but the /users endpoint has been scrubbed from the documentation. https://www.udemy.com/developers/affiliate/

So this might be the problem in general. They might have noticed that this API endpoint was being used for this purpose and removed the methods. If someone can confirm this, it'd be great. If so, we can perhaps retool to hit each video page, get the master/m3u8 file, and then use traditional HLS downloading to grab the video file.

GeorgeCiesinski commented 3 years ago

I have also experienced the same issue. Very interested to see if this can be patched or if it's game over. Also, there's a lot of duplicate issues for this, updates should be contained here.

MCDELTAT commented 3 years ago

@bissaka

Saw your question in the other thread. I was debating putting it here since it's not related to the project and detracts from the amazing work Faisal has done here. Nonetheless for the benefit of those waiting for a fix while we figure out a solution, here are two alternatives.

1) The chrome extension HLS Downloader by Puemos works on most sites for me, including Udemy. Simply navigate to the page with the video, click on the extension, then the right arrow for the video in question. It should have detected all available bit rates, so you download at the resolution you want.

2) The true, rawest method independent of other projects or tools is to find the master.m3u8 file that was sent over the network. Most streaming services use HLS. In this protocol, a master.m3u8 digest file is first passed that tells the browser how many chunks a video is made of, and the available resolutions. Then through the magic of Javascript and bandwidth detection, it is able to downscale or upscale the resolution with each chunk that it downloads so that your video never stops.

So, you can go to any website you suspect to be using HLS, and open the Network tab in your developer tools. In Chrome, you click Three Dots -> More Tools -> Developer Tools (Ctrl + Shift + I). Clear anything that might already be present and either refresh the page if the video autoloads or press play. Once your video has started playing, use the search box to filter for "*.m3u8". In the case of the videos I downloaded, the URL was similar to https://www.udemy.com/assets/26230286/files/2020-07-13_10-44-40-3014cd40953a86d934d698129f245837/1/hls/AVC_1920x1080_4800k_AAC-HE_64k/aa00eaedb457c7d0f4a61763725347360948.m3u8?provider=verizon&token=&v=1

Now you can look over the internet for any number of HLS downloader tools. I personally like warren-bank/node-hls-downloader.

It does require you to have NodeJS and NPM installed. You simply run npm install --global @warren-bank/node-hls-downloader to download the binary.

Then you can download your video with something like hlsdl --mp4 video.mp4 --url "url"

LightCyan01 commented 3 years ago

*.m3u8

Thanks for the fix, unfortunately It doesn't work on every video. some videos show their .m3u8 but most of them does not. this is the course I'm trying to download https://www.udemy.com/course/financial-modeling-for-business-analysts-and-consultants

Blood-PawWerewolf commented 3 years ago

we need to figure out which version of the Widevine DRM Udemy is using. if they’re using V4, it’s pretty much game over since after the leak of V3’s encryption keys, Google (who owns Widevine) completely rebuilt the DRM from scratch.

if Udemy is using Widevine V1-V3, there are ways of getting the content from the servers.

MCDELTAT commented 3 years ago

My mistake, after further inspection I can confirm they are using Widevine. For all videos that have public previews, they are streaming them as HLS, unencrypted, thus why my notes above work. Once you get into the videos that require payment, they begin using Widevine and streaming it as MPEG-DASH.

This would also explain why people are reporting that they are able to download a few videos, but then it stops. I'd have to dig more into Widevine, which I don't have time for at the moment, but from my initial reading, it doesn't seem likely we'd get this fixed.

ScrubDonkey commented 3 years ago

I can download all videos with a Chrome Extension, although is all manual (video by video).

What is the name of chrome extention please?

Of course, it's VideoOctopus

I would not use that software.....Looks to be some shady-ass info-grabbing software.