Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vimeo On Demand download not working (I get the trailer) #12346

Open
4 of 8 tasks
zupo opened this issue Mar 3, 2017 · 15 comments
Open
4 of 8 tasks

Vimeo On Demand download not working (I get the trailer) #12346

zupo opened this issue Mar 3, 2017 · 15 comments

Comments

@zupo
Copy link

zupo commented Mar 3, 2017

  • 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
@ghost
Copy link

ghost commented Mar 24, 2017

This problem still persists. Is there anything that can be done to aide fixing this bug?

@dstftw
Copy link
Collaborator

dstftw commented Mar 24, 2017

Provide credentials.

@ghost
Copy link

ghost commented Mar 24, 2017

Alright, I figured out the culprit. It is this piece of code beginning on line 559 in extractor/vimeo.py:

if is_rented():
    feature_id = config.get('video', {}).get('vod', {}).get('feature_id')
    if feature_id and not data.get('force_feature_id', False):
        return self.url_result(smuggle_url(
            'https://player.vimeo.com/player/%s' % feature_id,
            {'force_feature_id': True}), 'Vimeo')

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.

@NikolayMurha
Copy link

I have the same error and I can confirm that commenting solves the problem.

@tsubery
Copy link

tsubery commented Jul 23, 2017

Same thing here, commenting the quoted snippet solve the problem.

@Hrxn
Copy link

Hrxn commented Jul 23, 2017

I'm sure there is (or at least was) a good reason to include this functionality [..]

Not really sure about this, actually. Should only apply to a small subset of videos on Vimeo.
If you did not encounter any other issues with rentals/VoD so far?

@fmorelli
Copy link

I was able to build with code commented out (from above) and successfully get whole video. But I get: "WARNING: 237595117: malformed AAC bitstream detected. Install ffmpeg or avconv to fix this automatically."

I've downloaded and built ffmpeg but can't find any actual instructions on how to fix the AAC bitstream that youtube-dl complains about. Suggestions?

@wader
Copy link
Contributor

wader commented Oct 25, 2017

@fmorelli i think this is the command that would have been run https://github.com/rg3/youtube-dl/blob/d2ae7e24e5c574fa45621771a134e58b21443e5f/youtube_dl/postprocessor/ffmpeg.py#L538 otherwise i guess you could just redownload with youtubedl now when ffmpeg is available?

@seren
Copy link

seren commented Jul 20, 2019

I'm also running into the same issue with a purchased movie: https://vimeo.com/ondemand/ironskythecomingrace/333753177

$ python -m youtube_dl --version
2019.07.16

$ python -m youtube_dl -v --username <snip> --password <snip> https://vimeo.com/ondemand/ironskythecomingrace
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--username', 'PRIVATE', '--password', 'PRIVATE', 'https://vimeo.com/ondemand/ironskythecomingrace']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.07.16
[debug] Git HEAD: 5e1c39ac8
[debug] Python version 3.7.3 (CPython) - Darwin-18.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1.3, ffprobe 4.1.3, rtmpdump 2.4
[debug] Proxy map: {}
[vimeo:ondemand] ironskythecomingrace: Downloading webpage
[vimeo] Downloading login page
[vimeo] Logging in
[vimeo] 333753416: Downloading webpage
[vimeo] 333753416: Extracting information
[vimeo] 333753416: Downloading JSON metadata
WARNING: Unable to download JSON metadata: HTTP Error 403: Forbidden
[vimeo] 333753416: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 333753416: Downloading fastly_skyfire m3u8 information
[vimeo] 333753416: Downloading akfire_interconnect_quic MPD information
[vimeo] 333753416: Downloading akfire_interconnect_quic MPD information
[vimeo] 333753416: Downloading fastly_skyfire MPD information
[vimeo] 333753416: Downloading fastly_skyfire MPD information
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://skyfire.vimeocdn.com/1563609849-0x5c2b9fd8c96db33e3821c944620393a4886c6d8a/333753416/sep/video/1316832053,1316832548,1316846646,1316832547,1316832545,1316832543,1316832540,1316832539,1316832538,1316832043/master.mpd?base64_init=1'
[dashsegments] Total fragments: 23
[download] Destination: Iron Sky The Coming Race-333753416.fdash-fastly_skyfire_sep-video-1316832545.mp4
[download] 100% of 61.93MiB in 00:22
[debug] Invoking downloader on 'https://skyfire.vimeocdn.com/1563609849-0x5c2b9fd8c96db33e3821c944620393a4886c6d8a/333753416/sep/video/1316832053,1316832548,1316846646,1316832547,1316832545,1316832543,1316832540,1316832539,1316832538,1316832043/master.mpd?base64_init=1'
[dashsegments] Total fragments: 23
[download] Destination: Iron Sky The Coming Race-333753416.fdash-fastly_skyfire_sep-audio-1316832053.m4a
[download] 100% of 1.58MiB in 00:09
[ffmpeg] Merging formats into "Iron Sky The Coming Race-333753416.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Iron Sky The Coming Race-333753416.fdash-fastly_skyfire_sep-video-1316832545.mp4' -i 'file:Iron Sky The Coming Race-333753416.fdash-fastly_skyfire_sep-audio-1316832053.m4a' -c copy -map 0:v:0 -map 1:a:0 'file:Iron Sky The Coming Race-333753416.temp.mp4'
Deleting original file Iron Sky The Coming Race-333753416.fdash-fastly_skyfire_sep-video-1316832545.mp4 (pass -k to keep)
Deleting original file Iron Sky The Coming Race-333753416.fdash-fastly_skyfire_sep-audio-1316832053.m4a (pass -k to keep)

Short-circuiting the is_rented function (https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/vimeo.py#L649) to force returning True or False 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:

# Authenticated player config:
# {"cdn_url":"https://f.vimeocdn.com","vimeo_api_url":"api.vimeo.com","request":{"files":{"dash":{"separate_av":true,"streams":[{"profile":175,"quality":"1080p","id":1316867404,"fps":23},{"profile":174,"quality":"720p","id":1316852896,"fps":23},{"profile":165,"quality":"540p","id":1316852906,"fps":23},{"profile":139,"quality":"240p","id":1316852835,"fps":23},{"profile":164,"quality":"360p","id":1316852834,"fps":23}],"cdns":{"fastly_skyfire":{"url":"https://skyfire.vimeocdn.com/1563626736-0x7d79b37fd1d819aabd1b272f3e3c8485fbf06e71/333753177/sep/video/1316852834,1316867404,1316852906,1316852896,1316852835/master.json?base64_init=1","origin":"gcs"}},"default_cdn":"fastly_skyfire"},"hls":{"separate_av":false,"default_cdn":"akfire_interconnect_quic","cdns":{"akfire_interconnect_quic":{"url":"https://178skyfiregce-vimeo.akamaized.net/exp=1563626736~acl=%2F333753177%2F%2A~hmac=00e9dff6d3d00077628483064e8a9a22723e05b577a88aef0ef2030626507c41/333753177/video/1316852834,1316867404,1316852906,1316852896,1316852835/master.m3u8","origin":"gcs"}}},"progressive":[{"profile":175,"width":1920,"mime":"video/mp4","fps":23,"url":"https://gcs-vimeo.akamaized.net/exp=1563626736~acl=%2A%2F1316867404.mp4%2A~hmac=3cfc04f16c74fbfae9ec3815951b7fafdbdd6a535500e3515ac0a3366574b1aa/vimeo-prod-skyfire-std-us/01/1750/13/333753177/1316867404.mp4","cdn":"akamai_interconnect","quality":"1080p","id":1316867404,"origin":"gcs","height":1080},{"profile":165,"width":960,"mime":"video/mp4","fps":23,"url":"https://gcs-vimeo.akamaized.net/exp=1563626736~acl=%2A%2F1316852906.mp4%2A~hmac=8b28cf336dc7d817abc11ef34fa53eeea3577de96112b958af315fc1a232e747/vimeo-prod-skyfire-std-us/01/1750/13/333753177/1316852906.mp4","cdn":"akamai_interconnect","quality":"540p","id":1316852906,"origin":"gcs","height":540},{"profile":174,"width":1280,"mime":"video/mp4","fps":23,"url":"https://gcs-vimeo.akamaized.net/exp=1563626736~acl=%2A%2F1316852896.mp4%2A~hmac=6a4c72bf04d3a023c120235b5be69b8d1aa82454aa0e471d0489f715a72d1568/vimeo-prod-skyfire-std-us/01/1750/13/333753177/1316852896.mp4","cdn":"akamai_interconnect","quality":"720p","id":1316852896,"origin":"gcs","height":720},{"profile":139,"width":426,"mime":"video/mp4","fps":23,"url":"https://gcs-vimeo.akamaized.net/exp=1563626736~acl=%2A%2F1316852835.mp4%2A~hmac=22970f0316aed34de791385ab28eae758c6dc0e58d486441019137b8a274d11d/vimeo-prod-skyfire-std-us/01/1750/13/333753177/1316852835.mp4","cdn":"akamai_interconnect","quality":"240p","id":1316852835,"origin":"gcs","height":240},{"profile":164,"width":640,"mime":"video/mp4","fps":23,"url":"https://gcs-vimeo.akamaized.net/exp=1563626736~acl=%2A%2F1316852834.mp4%2A~hmac=7094956f75dad72470318b67f56ea7cd922edd85acf1937095ac197e7bc2d55a/vimeo-prod-skyfire-std-us/01/1750/13/333753177/1316852834.mp4","cdn":"akamai_interconnect","quality":"360p","id":1316852834,"origin":"gcs","height":360}]},"lang":"en","sentry":{"url":"https://6f5f8e1cecfa40fb850f578b69fc1705@sentry.io/1297650","enabled":false,"debug_enabled":true,"debug_intent":0},"thumb_preview":{"url":"https://i.vimeocdn.com/1563626436-0xa44ab3cb13a9fe2e4054c4a7328771fdfefe83db/sprite/333753177/120?q=48&h=126&ver=1&w=224&n=4","frame_width":224.0,"height":3780.0,"width":896.0,"frame_height":126,"frames":120,"columns":4.0},"referrer":null,"cookie_domain":".vimeo.com","timestamp":1563604207,"gc_debug":{"bucket":"vimeo-player-debug"},"expires":22228,"currency":"USD","session":"67a3fd349dcbcf0350e551395d3bf87aa2463b361563604207","cookie":{"scaling":1,"volume":1.0,"quality":null,"hd":0,"captions":null},"build":{"backend":"1.6.4","js":"3.13.12"},"urls":{"barebone_js":"https://f.vimeocdn.com/p/3.13.12/js/barebone.js","zeroclip_swf":"https://f.vimeocdn.com/p/external/zeroclipboard/ZeroClipboard.swf","fresnel":"https://fresnel.vimeocdn.com/add/player-stats","js":"https://f.vimeocdn.com/p/3.13.12/js/player.js","proxy":"https://player.vimeo.com/static/proxy.html","chromeless_css":"https://f.vimeocdn.com/p/3.13.12/css/chromeless.css","three_js":"https://f.vimeocdn.com/p/external/three.rvimeo.min.js","sentry_url":"https://f.vimeocdn.com/p/external/sentry.min.js","mux_url":"https://f.vimeocdn.com/p/external/mux.js","vuid_js":"https://f.vimeocdn.com/js_opt/modules/utils/vuid.min.js","chromeless_js":"https://f.vimeocdn.com/p/3.13.12/js/chromeless.js","zeroclip_js":"https://f.vimeocdn.com/p/external/zeroclipboard/ZeroClipboard-patch.js","css":"https://f.vimeocdn.com/p/3.13.12/css/player.css"},"signature":"af17eaccc2f0479392fa80ac68413fda","flags":{"preload_video":"metadata_on_hover","plays":1,"log":0,"dnt":1,"partials":1,"autohide_controls":0},"country":"US","ab_tests":{"chromecast":{"data":{},"group":false},"webvr":{"data":{},"group":false},"cdn_preference":{"data":{"city":"san diego","country_code":"US","hls_pref_found":false,"dash_pref_found":true},"group":true},"keyboard_scrub":{"data":{"seek_duration":10},"group":true}}},"player_url":"player.vimeo.com","video":{"vod":{"is_free_episode":0,"is_preorder":0,"is_coming_soon":1,"is_feature":1,"purchase_options":[{"expiring":0,"purchase_type":"purchase_container","product_type":"vod_dl","product_id":3439698,"outro_string":"Watch","popup_uri":"/store/ondemand/buy/185362","label_string":"You own this!","onsite_uri":"/ondemand/ironskythecomingrace#buy","purchased":1,"prices":{"USD":null,"AUD":null,"CHF":null,"NOK":null,"KRW":null,"JPY":null,"GBP":null,"PLN":null,"EUR":null,"SEK":null,"DKK":null,"CAD":null},"type":"buy"}],"countries":[],"url":"https://vimeo.com/ondemand/ironskythecomingrace","poster":"https://i.vimeocdn.com/vod_poster/263334","sale_id":7887460,"button_text":"Watch free episode","feature_id":null,"is_trailer":0,"feature_title":"Iron Sky The Coming Race","id":185362},"version":{"current":null,"available":[{"is_current":1,"id":59211022,"file_id":1316808156}]},"height":1080,"duration":5557,"thumbs":{"1280":"https://i.vimeocdn.com/video/779842559_1280.jpg","960":"https://i.vimeocdn.com/video/779842559_960.jpg","640":"https://i.vimeocdn.com/video/779842559_640.jpg","base":"https://i.vimeocdn.com/video/779842559"},"owner":{"account_type":"pro","name":"Iron Sky","img":"https://i.vimeocdn.com/portrait/18247958_60x60.jpg","url":"https://vimeo.com/ironsky","img_2x":"https://i.vimeocdn.com/portrait/18247958_120x120.jpg","id":30935645},"file_codecs":{"hevc":{"hdr":[],"sdr":[]},"av1":[],"avc":[1316867404,1316852906,1316852896,1316852835,1316852834]},"id":333753177,"embed_code":"<iframe title=\"vimeo-player\" src=\"https://player.vimeo.com/video/333753177\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen><\/iframe>","title":"Iron Sky The Coming Race","share_url":"https://vimeo.com/333753177","width":1920,"embed_permission":"public","fps":23.98,"spatial":0,"live_event":null,"allow_hd":1,"hd":1,"lang":null,"default_to_hd":1,"url":"https://vimeo.com/333753177","privacy":"ptvhide","bypass_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGlwX2lkIjozMzM3NTMxNzcsImV4cCI6MTU2MzYyNjQ4OH0.r0olWynpR97PzgWdbD3yKpiR622ekPAxY-Lo58D5JZQ","unlisted_hash":null},"user":{"team_origin_user_id":null,"liked":1,"account_type":"basic","vimeo_api_client_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZXMiOiJwdWJsaWMgcHJpdmF0ZSBpbnRlcmFjdCBzdGF0cyIsInVzZXJfaWQiOjIzMjc3NzQ5LCJhcHBfaWQiOjExODM1OSwiZXhwIjoxNTYzNjI2NDM2fQ.YEiEaz8sl9Il5QnTW93MeIrsDuLsqtznCF4X9jkyRPg","vimeo_api_interaction_tokens":null,"team_id":null,"purchased":1,"watch_later":1,"owner":0,"id":23277749,"mod":false,"logged_in":1},"embed":{"autopause":1,"playsinline":1,"settings":{"vod":1,"color":1,"share":1,"logo":0,"portrait":0,"speed":0,"fullscreen":1,"byline":0,"title":1,"collections":0,"info_on_pause":0,"badge":0,"watch_trailer":0,"spatial_label":0,"volume":1,"scaling":1,"instant_sidedock":1,"like":1,"playbar":1,"spatial_compass":1,"watch_later":1,"embed":1},"color":"bf6040","email":{"timecode":0,"position":null,"custom_logo":null,"allow_skip":1,"text":""},"texttrack":"","on_site":1,"app_id":"","muted":0,"dnt":1,"player_id":"","api":null,"editor":false,"context":"Vimeo\\Controller\\OnDemandController.main","time":0,"outro":"nothing","log_plays":1,"quality":null,"transparent":0,"loop":0,"autoplay":0},"view":1,"vimeo_url":"vimeo.com"}

# Unauthenticated player config:
$ curl https://player.vimeo.com/video/333753177/config\?autoplay\=0\&badge\=0\&byline\=0\&color\=bf6040\&context\=Vimeo%5CController%5COnDemandController.main\&default_to_hd\=1\&portrait\=0\&title\=1\&s\=ca68585ba480fdc08faa2d20f58f80113e2a1600_1563704860
{"cdn_url":"https://f.vimeocdn.com","vimeo_api_url":"api.vimeo.com","request":{"files":{"dash":{"separate_av":true,"streams":[{"profile":145,"quality":"540p","id":1316832543,"fps":24},{"profile":175,"quality":"1080p","id":1316846646,"fps":24},{"profile":138,"quality":"240p","id":1316832540,"fps":24},{"profile":144,"quality":"360p","id":1316832548,"fps":24},{"profile":132,"quality":"720p","id":1316832538,"fps":24},{"profile":165,"quality":"540p","id":1316832539,"fps":24},{"profile":139,"quality":"240p","id":1316832043,"fps":24},{"profile":164,"quality":"360p","id":1316832053,"fps":24},{"profile":133,"quality":"1080p","id":1316832545,"fps":24},{"profile":174,"quality":"720p","id":1316832547,"fps":24}],"cdns":{"akfire_interconnect_quic":{"url":"https://17skyfiregce-vimeo.akamaized.net/exp=1563610140~acl=%2F333753416%2F%2A~hmac=a79a297ce1d8ea8eabb8e8ad89d4fdc7abd3ca9d301b2cc4d4f227b9b4e59bd3/333753416/sep/video/1316832053,1316832548,1316846646,1316832547,1316832545,1316832543,1316832540,1316832539,1316832538,1316832043/master.json?base64_init=1","origin":"gcs"},"fastly_skyfire":{"url":"https://skyfire.vimeocdn.com/1563610140-0x4d33f763d9b55dab809032cd48fce4a5fc20f280/333753416/sep/video/1316832053,1316832548,1316846646,1316832547,1316832545,1316832543,1316832540,1316832539,1316832538,1316832043/master.json?base64_init=1","origin":"gcs"}},"default_cdn":"fastly_skyfire"},"hls":{"separate_av":false,"default_cdn":"fastly_skyfire","cdns":{"akfire_interconnect_quic":{"url":"https://17skyfiregce-vimeo.akamaized.net/exp=1563610140~acl=%2F333753416%2F%2A~hmac=a79a297ce1d8ea8eabb8e8ad89d4fdc7abd3ca9d301b2cc4d4f227b9b4e59bd3/333753416/video/1316832053,1316846646,1316832547,1316832539,1316832043/master.m3u8","origin":"gcs"},"fastly_skyfire":{"url":"https://skyfire.vimeocdn.com/1563610140-0x4d33f763d9b55dab809032cd48fce4a5fc20f280/333753416/video/1316832053,1316846646,1316832547,1316832539,1316832043/master.m3u8","origin":"gcs"}}},"progressive":[{"profile":175,"width":1920,"mime":"video/mp4","fps":24,"url":"https://gcs-vimeo.akamaized.net/exp=1563610140~acl=%2A%2F1316846646.mp4%2A~hmac=8613c9e2f9dfad82d6eede3ab762935016b90395d45718ec5e5cc89608880d7d/vimeo-prod-skyfire-std-us/01/1750/13/333753416/1316846646.mp4","cdn":"akamai_interconnect","quality":"1080p","id":1316846646,"origin":"gcs","height":1080},{"profile":144,"width":640,"mime":"video/mp4","fps":24,"url":"https://gcs-vimeo.akamaized.net/exp=1563610140~acl=%2A%2F1316832548.mp4%2A~hmac=c38497fec66ab2ec02e373fdcaea9d4a1f8b2a1593a9f7de71d1f0ac89a1e558/vimeo-prod-skyfire-std-us/01/1750/13/333753416/1316832548.mp4","cdn":"akamai_interconnect","quality":"360p","id":1316832548,"origin":"gcs","height":360},{"profile":174,"width":1280,"mime":"video/mp4","fps":24,"url":"https://gcs-vimeo.akamaized.net/exp=1563610140~acl=%2A%2F1316832547.mp4%2A~hmac=ebe143416d7492cbf9821df6d07212d6e4c22c58ab02efec6898295e744844ff/vimeo-prod-skyfire-std-us/01/1750/13/333753416/1316832547.mp4","cdn":"akamai_interconnect","quality":"720p","id":1316832547,"origin":"gcs","height":720},{"profile":145,"width":960,"mime":"video/mp4","fps":24,"url":"https://gcs-vimeo.akamaized.net/exp=1563610140~acl=%2A%2F1316832543.mp4%2A~hmac=fcd7e70bf9a14fed88cb7595aba858d3aa5bad35fa99a83b3c745a9273ad7e5f/vimeo-prod-skyfire-std-us/01/1750/13/333753416/1316832543.mp4","cdn":"akamai_interconnect","quality":"540p","id":1316832543,"origin":"gcs","height":540},{"profile":138,"width":426,"mime":"video/mp4","fps":24,"url":"https://gcs-vimeo.akamaized.net/exp=1563610140~acl=%2A%2F1316832540.mp4%2A~hmac=a6998e9fab93273cd23eabb9c250aef8c3ebeb3231a6ab99d0abd558b45f2082/vimeo-prod-skyfire-std-us/01/1750/13/333753416/1316832540.mp4","cdn":"akamai_interconnect","quality":"240p","id":1316832540,"origin":"gcs","height":240}]},"lang":"en","sentry":{"url":"https://6f5f8e1cecfa40fb850f578b69fc1705@sentry.io/1297650","enabled":false,"debug_enabled":true,"debug_intent":0},"thumb_preview":{"url":"https://i.vimeocdn.com/1563609840-0xdde47076fe74358ff428f4f4e4e06a1c65e4116c/sprite/333753416/120?q=48&h=126&ver=1&w=224&n=4","frame_width":224.0,"height":3780.0,"width":896.0,"frame_height":126,"frames":120,"columns":4.0},"referrer":null,"cookie_domain":".vimeo.com","timestamp":1563606240,"gc_debug":{"bucket":"vimeo-player-debug"},"expires":3600,"currency":"USD","session":"ba3c5eeb1c43cc0563c31e23c9ce0c7b2ca98f4c1563606240","cookie":{"scaling":1,"volume":1.0,"quality":null,"hd":0,"captions":null},"build":{"backend":"1.6.4","js":"3.13.12"},"urls":{"barebone_js":"https://f.vimeocdn.com/p/3.13.12/js/barebone.js","zeroclip_swf":"https://f.vimeocdn.com/p/external/zeroclipboard/ZeroClipboard.swf","fresnel":"https://fresnel.vimeocdn.com/add/player-stats","js":"https://f.vimeocdn.com/p/3.13.12/js/player.js","proxy":"https://player.vimeo.com/static/proxy.html","chromeless_css":"https://f.vimeocdn.com/p/3.13.12/css/chromeless.css","three_js":"https://f.vimeocdn.com/p/external/three.rvimeo.min.js","sentry_url":"https://f.vimeocdn.com/p/external/sentry.min.js","mux_url":"https://f.vimeocdn.com/p/external/mux.js","vuid_js":"https://f.vimeocdn.com/js_opt/modules/utils/vuid.min.js","chromeless_js":"https://f.vimeocdn.com/p/3.13.12/js/chromeless.js","zeroclip_js":"https://f.vimeocdn.com/p/external/zeroclipboard/ZeroClipboard-patch.js","css":"https://f.vimeocdn.com/p/3.13.12/css/player.css"},"signature":"de4596bc90ebfbe9f4d920805c2407f3","flags":{"preload_video":"metadata_on_hover","plays":1,"log":0,"dnt":0,"partials":1,"autohide_controls":0},"country":"US","ab_tests":{"chromecast":{"data":{},"group":false},"cdn_preference":{"data":{"city":"san diego","country_code":"US","hls_pref_found":false,"dash_pref_found":false},"group":false}}},"player_url":"player.vimeo.com","video":{"vod":{"is_free_episode":0,"is_preorder":0,"is_coming_soon":1,"is_feature":0,"purchase_options":[],"countries":[],"url":"https://vimeo.com/ondemand/ironskythecomingrace","poster":"http://i.vimeocdn.com/vod_poster/263334","button_text":"Watch free episode","is_trailer":0,"feature_title":"Iron Sky The Coming Race","id":185362},"version":{"current":null,"available":[{"is_current":1,"id":59200677,"file_id":1316809448}]},"height":1080,"duration":128,"thumbs":{"1280":"http://i.vimeocdn.com/video/779838165_1280.jpg","960":"http://i.vimeocdn.com/video/779838165_960.jpg","640":"http://i.vimeocdn.com/video/779838165_640.jpg","base":"https://i.vimeocdn.com/video/779838165"},"owner":{"account_type":"pro","name":"Iron Sky","img":"https://i.vimeocdn.com/portrait/18247958_60x60.jpg","url":"https://vimeo.com/ironsky","img_2x":"https://i.vimeocdn.com/portrait/18247958_120x120.jpg","id":30935645},"file_codecs":{"hevc":{"hdr":[],"sdr":[1316832548,1316832545,1316832543,1316832540,1316832538]},"av1":[],"avc":[1316846646,1316832547,1316832539,1316832053,1316832043]},"id":333753416,"embed_code":"<iframe title=\"vimeo-player\" src=\"https://player.vimeo.com/video/333753416\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen><\/iframe>","title":"Iron Sky The Coming Race","share_url":"https://vimeo.com/333753416","width":1920,"embed_permission":"public","fps":24.0,"spatial":0,"live_event":null,"allow_hd":1,"hd":1,"lang":null,"default_to_hd":1,"url":"https://vimeo.com/333753416","privacy":"ptv","bypass_token":null,"unlisted_hash":null},"user":{"team_origin_user_id":0,"liked":0,"account_type":"none","vimeo_api_client_token":null,"vimeo_api_interaction_tokens":null,"team_id":0,"purchased":0,"watch_later":0,"owner":0,"id":0,"mod":0,"logged_in":0},"embed":{"autopause":1,"playsinline":1,"settings":{"vod":1,"color":1,"share":1,"logo":0,"portrait":0,"speed":0,"fullscreen":1,"byline":0,"title":1,"collections":0,"info_on_pause":0,"badge":0,"watch_trailer":0,"spatial_label":0,"volume":1,"scaling":1,"instant_sidedock":1,"like":1,"playbar":1,"spatial_compass":1,"watch_later":1,"embed":1},"color":"bf6040","email":{"timecode":0,"position":null,"custom_logo":null,"allow_skip":1,"text":""},"texttrack":"","on_site":1,"app_id":"","muted":0,"dnt":0,"player_id":"","api":null,"editor":false,"context":"Vimeo\\Controller\\OnDemandController.main","time":0,"outro":"vod","log_plays":1,"quality":null,"transparent":0,"loop":0,"autoplay":0},"view":1,"vimeo_url":"vimeo.com"}
# Download using the url the authenticated player config:
$ python -m youtube_dl --hls-prefer-native https://178skyfiregce-vimeo.akamaized.net/exp\=1563626736\~acl\=%2F333753177%2F%2A\~hmac\=00e9dff6d3d00077628483064e8a9a22723e05b577a88aef0ef2030626507c41/333753177/video/1316852834,1316867404,1316852906,1316852896,1316852835/master.m3u8
[generic] master: Requesting header
[generic] master: Downloading m3u8 information
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 925
[download] Destination: master-master.mp4
[download] 100% of 2.74GiB in 18:10
[ffmpeg] Fixing malformed AAC bitstream in "master-master.mp4"

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.

@luvarpt
Copy link

luvarpt commented Dec 12, 2019

Try to change suffix of url master.json?base64_init=1 into master.mpd. Have a look at akamai documentation.

@SpiceLover
Copy link

Hello, I am new to this topic and still learning. I have no prior programming or coding knowledge and am wondering whether I could a foolproof step by step explanation or guide or reference from some nice professional here?
I rented a video on VIMEO and installed some plug-ins, software/apps: youtube-dl i.e.
But not really knowing what I am doing, here is my problem: the rented video has a url which looks like this:
https://vimeo.com/ondemand/timetrial?autoplay=1
When I use the INSPECT function in Chrome I cannot find any m3u8 URL's or other items this thread has been referring to. The rental runs out on Wednesday, 23rd September, 1 pm Eastern Time. Maybe someone here is willing to help a newbie.
I managed to kick off a download with youtube-dl but it only downloads the trailer. So does the JDownloader using this aforementioned URL.

Cheers!

@yoshimo
Copy link

yoshimo commented Mar 9, 2021

@luvarpt made it work, although i think having YTDL cover it by itself would help the beginners.

@sp00ktober
Copy link

This issue still seems to be present in the current master branch. Trying to download purchased videos from vimeo only gets the trailer.

Running youtube-dl with the -g switch produces an URL that ends on /master.mpd?base64_init=1&query_string_ranges=1 and changing that to /master.mpd and passing it again to youtube-dl still only grabs the trailer.

Also the config fetched here contains several URL's to different formats which all seem to link to the trailer too.

Why is it not defaulting to downloading the video? This does not make any sense to me..

@dirkf
Copy link
Contributor

dirkf commented Oct 10, 2023

Probably no developer has ever seen one of these purchased videos and so can't reproduce the issue.

If it were made to work, then we face the problem of preserving functionality that can't be tested automatically.

@briandipalma
Copy link

The workaround @seren posted where you download the authenticated m3u8 file works for me. Basically open the browser dev tools, reload the page, look for a URL with config in it, look for m3u8 in the contents (Firefox screenshot below) of that JSON response give the URL that the hls.captions key points to youtube-dl with the below CLI flag and away you go.

image

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests