ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.65k stars 9.97k forks source link

Support for skillshare.com #9769

Open jaan143 opened 8 years ago

jaan143 commented 8 years ago

Please follow the guide below


Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.06.12. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.


The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue


If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:

Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):

$ youtube-dl -v <your command line>
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2016.06.12
[debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2
[debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
[debug] Proxy map: {}
...
<end of log>

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):


Hi Sir i want to request you to add this one website for downloading video this is a elearning website like (lynda, udemy and pluralsight) here is course links https://www.skillshare.com/classes/technology/Design-Build-Your-Own-Personal-Computer/694021855/classroom/discussions?via=my-classes&enrolledRedirect=1

but there is not single video link every video is playing in single link may b i am wrong cuz i am not programmer here is free course link which you can enroll and check https://www.skillshare.com/classes/technology/Design-Build-Your-Own-Personal-Computer/694021855/classroom/discussions?via=my-classes&enrolledRedirect=1

if you want premium account then tell me i will give you mine

jaan143 commented 8 years ago

hello is it possible or not ? plz ans requested sins around 2 months

jaan143 commented 8 years ago

@yan12125 bro can you plz add this site its realy need

yan12125 commented 8 years ago

@jaan143 Please wait until someone is going to working on it.

jaan143 commented 8 years ago

@yan12125 bro i am waiting sins 3 months no one doing on it :( as you check date of request :(

yan12125 commented 8 years ago

I know. There are lots of new site requests here, and usually those with the most users are worked first.

leocaseiro commented 7 years ago

I'm trying to add support to SkillShare, but I'm not a Python dev and the hardest bit is that they have reCaptcha on login page. They also enable login with facebook, I'm not sure if that helps.

Besides the login, it's quite easy to implement the download.

All courses come with a data-account and the course-id. They also have some API response as JSON inside the HTML. If you search for "videoId":"bc:, you'll find what they call videoID, which should be a number.

You also need the data-account or brightcoveAccountId. In that case, the easist way is get from the video html via data-account: <video class="vjs-video" data-account="{data-account}">...</video>

You can also get from the JSON, if you search for brightcoveAccountId.

With that said, you can call their open API, following this pattern: https://edge.api.brightcove.com/playback/v1/accounts/{data-account}/videos/{course-id}

If you try the URL https://www.skillshare.com/classes/JavaScript-Complete-Guide-to-learning-JavaScript/1391908967, you'll get the { data-account: 3695997568001 } and from the "videoId":"bc:, you get the { videoId: 5042560812001 }.

converts to: https://edge.api.brightcove.com/playback/v1/accounts/3695997568001/videos/5042560812001

If the course is free, they'll give you a json with the videos of the course. Otherwise, I believe we need to get a premium account and should be the same.

Eq:

{
  "account_id": "3695997568001",
  "ad_keys": null,
  "created_at": "2016-07-20T02:05:24.811Z",
  "cue_points": [],
  "custom_fields": {},
  "description": null,
  "duration": 103862,
  "economics": "AD_SUPPORTED",
  "id": "5042560812001",
  "link": null,
  "long_description": null,
  "name": "Promo CompleteJavaScript",
  "published_at": "2016-07-20T02:05:24.811Z",
  "reference_id": null,
  "sources": [
    {
      "app_name": "rtmp://cp150446.edgefcs.net/ondemand",
      "asset_id": "5042638008001",
      "avg_bitrate": 2682000,
      "codec": "H264",
      "container": "MP4",
      "duration": 103862,
      "height": 720,
      "size": 34811823,
      "stream_name": "mp4:3695997568001/3695997568001_5042638008001_5042560812001.mp4?__nn__=1497926354001&slist=3695997568001/&auth=daEbnbob7ccdYb0bAaUcvcnaUbucsdxawbX-byTs4a-hca-nmBBArtz_zCys_GEwA_DsC&aifp=bcosuds",
      "width": 1280
    },
    {
      "asset_id": "5042638008001",
      "avg_bitrate": 2682000,
      "codec": "H264",
      "container": "MP4",
      "duration": 103862,
      "height": 720,
      "size": 34811823,
      "src": "http://uds.ak.o.brightcove.com/3695997568001/3695997568001_5042638008001_5042560812001.mp4?pubId=3695997568001&videoId=5042560812001",
      "width": 1280
    },
    {
      "asset_id": "5042638008001",
      "avg_bitrate": 2682000,
      "codec": "H264",
      "container": "MP4",
      "duration": 103862,
      "height": 720,
      "size": 34811823,
      "src": "https://udso-a.akamaihd.net/3695997568001/3695997568001_5042638008001_5042560812001.mp4?pubId=3695997568001&videoId=5042560812001",
      "width": 1280
    },
   ...
}

So you can just download all the source.src videos.

At the mean time, @jaan143, you can download with wget

wget https://udso-a.akamaihd.net/3695997568001/3695997568001_5042638008001_5042560812001.mp4?pubId=3695997568001&videoId=5042560812001 -o test.mp4

Hope that helps

leocaseiro commented 7 years ago

Hi @jaan143, try this Chrome App. It worked fine for me: https://chrome.google.com/webstore/detail/nbkekaeindpfpcoldfckljplboolgkfm

jaan143 commented 7 years ago

sadly to say 9 months gone and still my request is pending

haamedk commented 7 years ago

Does anyone have access to a premium account I can borrow for testing?

rex97 commented 7 years ago

Hey @haamedk I have !!! You can get from me !

bittaurus commented 7 years ago

They are having a special right now for 1 week. You can get 3 months of premium as a trial for $0.99 USD.

https://www.skillshare.com/membership/checkout?via=site-banner&coupon=SITESCHOOL

I'm going to buy into it, I do hope someone adds support to youtube-dl. It is my fav download tool.

I just gave them my dollar, and it looks like they have a referral program. If you miss the $0.99 special, you can get 2 months free trial of premium with a credit card and can cancel before the 2 months to avoid being charged. http://skl.sh/2ena6IZ

Full disclosure: I really want youtube-dl to work with this site. This site might work by using cookies after logging in through the captcha. Either that or maybe a service like 9kw.eu to solve the captchas.

bittaurus commented 7 years ago

Today, I'm wishing I knew more python. Skillshare uses BrightcoveExperience, which is already written and existing plugins use it. If someone wants to do this, I've put up a $20 bounty on bountysource. I know it's not much, and I wish I could pay a coder what they are worth, but hey, OSS doesn't usually pay that much I suppose. You have my appreciation in advance. Thanks guys for all your hard efforts. I'm off to go watch some python videos. If you need to test things with my premium account, let me know.

Oshawk commented 6 years ago

16582 Should provide support for skillshare!

HAKSOAT commented 5 years ago

Is this done yet?

Oshawk commented 5 years ago

@HAKSOAT It should be but they seem not to want to merge my fork.

HAKSOAT commented 5 years ago

That's strange

chrisspiegl commented 5 years ago

I'd love to see skillshare support for those times I want to learn something new while I am traveling with less or no internet! Thank you for the work on the pull request @Oshawk — how about adding it in here? Anyone?

Thank you 💪.

pendave commented 5 years ago

The tutorials on skillshare are great, but the youtube-dl support for this site isn't there anyway. And other direct download tool is not developed yet.

I just create a Greasymonkey userscript which can help downloading, but also not that conviniet.

$}5$~N624YUJHQ662TIG$ F )}S7}D_ BTGJAHDRKMBQ M1 ~D(99B 9D3JA6I1FFR_~E4V

timucinsayici commented 5 years ago

The tutorials on skillshare are great, but the youtube-dl support for this site isn't there anyway. And other direct download tool is not developed yet.

I just create a Greasymonkey userscript which can help downloading, but also not that conviniet.

$}5$~N624YUJHQ662TIG$ F )}S7}D_ BTGJAHDRKMBQ M1 ~D(99B 9D3JA6I1FFR_~E4V

Could you share Greasymonkey javascript codes?

enusri commented 5 years ago

The tutorials on skillshare are great, but the youtube-dl support for this site isn't there anyway. And other direct download tool is not developed yet.

I just create a Greasymonkey userscript which can help downloading, but also not that conviniet.

$}5$~N624YUJHQ662TIG$ F )}S7}D_ BTGJAHDRKMBQ M1 ~D(99B 9D3JA6I1FFR_~E4V

Yeah share the greasemonkey script and if also any tips for using it. thanks.

Abhinav1217 commented 5 years ago

I wished this was now available since udemy playlist can be downloaded easily and skillshare is also using brightcove which is already working in youtube-dl. As far as login is concerned, For Udemy, We need to use a browser plugin to extract the cookie file which then is used by youtube-dl to make requests pretending to be browser. Maybe that can be done here too.

There is a working repo on github which is working on single videos, It doesn't uses youtube-dl in background so it looses a lot of functionality and features. Maybe that repo can be used as reference here.