youtube-dl: Vimeo On Demand download not working (I get the trailer)
- I’ve verified and I assure that I’m running youtube-dl 2017.03.02
- At least skimmed through README and most notably FAQ and BUGS sections
- Searched the bugtracker for similar issues including closed ones
What is the purpose of your issue?
- Bug report (encountered problems with youtube-dl)
- Site support request (request for adding support for a new site)
- Feature request (request for a new functionality)
- Question
- Other
I’m trying to download a rented On Demand video from Vimeo, but I get the trailer, not the full movie.
In the logs I see WARNING: Unable to download JSON metadata: HTTP Error 403: Forbidden
, but if I try with a bad password then I get ERROR: Wrong login info: HTTP Error 418
so the password is valid.
I will have access to the movie for 24h, email me at first.last@gmail.com and I can provide account credentials.
$ youtube-dl https://vimeo.com/ondemand/distract -u FOO -p BAR -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://vimeo.com/ondemand/distract', u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'-v']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.03.02
[debug] Python version 2.7.13 - Darwin-16.4.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[vimeo:ondemand] distract: Downloading webpage
[vimeo] Logging in
[vimeo] 204148215: Downloading webpage
[vimeo] 204148215: Extracting information
[vimeo] 204148215: Downloading JSON metadata
WARNING: Unable to download JSON metadata: HTTP Error 403: Forbidden
[vimeo] 204148215: Downloading akfire_interconnect m3u8 information
[vimeo] 204148215: Downloading fastly_skyfire m3u8 information
[vimeo] 204148215: Downloading akfire_interconnect_quic MPD information
[vimeo] 204148215: Downloading akfire_interconnect_quic MPD information
[vimeo] 204148215: Downloading fastly_skyfire MPD information
[vimeo] 204148215: Downloading fastly_skyfire MPD information
[debug] Invoking downloader on u'https://skyfire.vimeocdn.com/1488575127-0xa49db4470ebb2e3dae60f04429d9095b0641fc94/204148215/video/693502553,693502569,693502568,693502562/../'
[download] Dis.Traction-204148215.mp4 has already been downloaded
[download] 100% of 17.94MiB
About this issue
- Original URL
- State: open
- Created 7 years ago
- Reactions: 2
- Comments: 15 (2 by maintainers)
Try to change suffix of url master.json?base64_init=1 into master.mpd. Have a look at akamai documentation.
I’m also running into the same issue with a purchased movie: https://vimeo.com/ondemand/ironskythecomingrace/333753177
Short-circuiting the
is_rented
function (https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/vimeo.py#L649) to force returningTrue
orFalse
doesn’t seem to help.If I log in via Chrome and view the network requests (as outlined in #15549), open the JSON config, and extract the m3u8 url, then I can download the movie without a problem. I noticed also that, unsurprisingly, curling the URL (without authentication) gives an m3u8 url to the trailer rather than the full video:
I suspect that the
WARNING: Unable to download JSON metadata: HTTP Error 403: Forbidden
error may be the issue. I’m happy to troubleshoot or provide credentials.Alright, I figured out the culprit. It is this piece of code beginning on line 559 in
extractor/vimeo.py
:I don’t really know why it is there but it apparently does what it says on the tin. It forces the download of the feature, which in case of the original issuer seems to have been the trailer of his rented movie.
Commenting out this piece of code allowed me to download all videos belonging to my rental.
I’m sure there is (or at least was) a good reason to include this functionality so it might not be the best idea to remove it, but without delving deeper into the whole thing I cannot provide any better solution.