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

Viki Pass no video formats found #26522

Closed
5 tasks done
panda130 opened this issue Sep 4, 2020 · 13 comments
Closed
5 tasks done

Viki Pass no video formats found #26522

panda130 opened this issue Sep 4, 2020 · 13 comments

Comments

@panda130
Copy link

panda130 commented Sep 4, 2020

Checklist

  • I'm reporting a broken site support
  • I've verified that I'm running youtube-dl version 2020.07.28
  • I've checked that all provided URLs are alive and playable in a browser
  • I've checked that all URLs and arguments with special characters are properly quoted or escaped
  • I've searched the bugtracker for similar issues including closed ones

Verbose log

youtube-dl -v -i --add-header "x-viki-app-ver: 2.2.5.1428709186" --add-header "x-viki-as-id: 100005a" -f "bestvideo+bestaudio/best" -u PRIVATE -p PRIVATE https://www.viki.com/videos/1160081v-stove-league-episode-1
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-i', '--add-header', 'x-viki-app-ver: 2.2.5.1428709186', '--add-header', 'x-viki-as-id: 100005a', '-f', 'bestvideo+bestaudio/best', '-u', 'PRIVATE', '-p', 'PRIVATE', 'https://www.viki.com/videos/1160081v-stove-league-episode-1']
[debug] Adding header from command line option x-viki-app-ver: 2.2.5.1428709186
[debug] Adding header from command line option x-viki-as-id: 100005a
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.07.28
[debug] Python version 3.7.7 (CPython) - Darwin-16.7.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1.4, ffprobe 4.1.4, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[viki] Logging in
[viki] 1160081v: Downloading video JSON
[viki] 1160081v: Downloading video streams JSON
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/viki.py", line 319, in _real_extract
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1350, in _sort_formats
    raise ExtractorError('No video formats found')
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

My Viki Pass Plus credentials normally work for all Viki videos. However, starting a couple of days ago I noticed that youtube-dl cannot find any video formats for videos that are restricted to Viki Pass or Viki Pass Plus only.

@zackmark29
Copy link

zackmark29 commented Sep 4, 2020

I already checked it with my tool but suddenly there's no available direct link.
It's because, it's DRM protected. it's from KOCOWA server side. they use like what Netflix is using.

The solution is, use UK Proxy to get access the MPD file from Viki which is not DRM protected.

@zackmark29
Copy link

zackmark29 commented Sep 4, 2020

image

you could use this UK Proxy which is I already tried
51.68.197.53:3128

and here's the direct link if you can't still get
https://v4.viki.io/1160081v/1160081v_high_1080p_43a2f1_1912141615.mp4?e=1599203962&h=594fcdb73ef29a887abcc755e696b6d0

@panda130
Copy link
Author

panda130 commented Sep 4, 2020

@zackmark29 Thank you for your fast and helpful reply, kind stranger! You are a genius. The Viki Parser tool you made looks impressive. The VPN will work for most of the videos I need.

@zackmark29
Copy link

@zackmark29 Thank you for your fast and helpful reply, kind stranger! You are a genius. The Viki Parser tool you made looks impressive. The VPN will work for most of the videos I need.

Glad it worked! Soon I'm going to share my personal tool as well.

@blackjack4494
Copy link

For me this video is not restricted to plus. I live in Germany and it gives me 1080p with basic subscription.
Do you both @zackmark29 and @panda130 have plus pass?
Also I wonder how geo restriction is enforced. Maybe if someone have the generated download link someone else who is usually restricted may be able to download it.

@zackmark29
Copy link

zackmark29 commented Sep 7, 2020

For me this video is not restricted to plus. I live in Germany and it gives me 1080p with basic subscription.
Do you both @zackmark29 and @panda130 have plus pass?
Also I wonder how geo restriction is enforced. Maybe if someone have the generated download link someone else who is usually restricted may be able to download it.

Yeah I have VikiPass Plus and Standard subs. and I live in Philippines that's why some of the videos are restricted and I must use proxy.
Do you think there's another way to bypass Geo Restriction? without using proxy?

@blackjack4494
Copy link

Yeah I have VikiPass Plus and Standard subs. and I live in Philippines that's why some of the videos are restricted and I must use proxy.
Do you think there's another way to bypass Geo Restriction? without using proxy?

As I have no access or any way to buy a Plus pass I cannot really test anything (viki wants payment method linked to specific countries e.g. I cannot buy a plus pass using a vpn (usa or so) in browser to buy it since my bank account, credit card and paypal are all linked to germany)

Addressing the geo restrictions. I haven't really tried to see what is possible and how it may can be tricked into thinking you are legit in another country. I don't think simple ip spoofing (pretending to use another ip address as the one you sending from) will really work - this should be filtered on network layer e.g. router/firewall already. So proxies or vpns will be needed. However it may be possible to use links generated by legit users. As an example if there is something not available in one region let's say germany but it's available in another region like philippines it may work that the link generated in philippines allows users in germany to grab that video. Sometimes the mechanism to protect unauthorized access such as geo restrictions are kinda weak meaning it only checks before generating but the download links itself are sometimes not restricted to any particular ip blocks.

@zackmark29
Copy link

Yeah I have VikiPass Plus and Standard subs. and I live in Philippines that's why some of the videos are restricted and I must use proxy.
Do you think there's another way to bypass Geo Restriction? without using proxy?

As I have no access or any way to buy a Plus pass I cannot really test anything (viki wants payment method linked to specific countries e.g. I cannot buy a plus pass using a vpn (usa or so) in browser to buy it since my bank account, credit card and paypal are all linked to germany)

Addressing the geo restrictions. I haven't really tried to see what is possible and how it may can be tricked into thinking you are legit in another country. I don't think simple ip spoofing (pretending to use another ip address as the one you sending from) will really work - this should be filtered on network layer e.g. router/firewall already. So proxies or vpns will be needed. However it may be possible to use links generated by legit users. As an example if there is something not available in one region let's say germany but it's available in another region like philippines it may work that the link generated in philippines allows users in germany to grab that video. Sometimes the mechanism to protect unauthorized access such as geo restrictions are kinda weak meaning it only checks before generating but the download links itself are sometimes not restricted to any particular ip blocks.

I can let you borrow one of my vikipass plus. I have emailed you the account so that you can explore as well :)
Actually I don't have any problem now when it comes to downloading. Actually I can also get 1080p with just using basic or standard viki account.

@blackjack4494
Copy link

blackjack4494 commented Sep 9, 2020

I already checked it with my tool but suddenly there's no available direct link.
It's because, it's DRM protected. it's from KOCOWA server side. they use like what Netflix is using.

The solution is, use UK Proxy to get access the MPD file from Viki which is not DRM protected.

@zackmark29
Can you show me the drm protection? Is it embedded into streams.json?

{"1080p":{"https":{"url":"https://v4.viki.io/","cdn":"limelight","id":"000","bumper_duration":0,"start_time_in_ms":0,"drms":null,"seek":"ms"}}

I would like to see if drms is is something else than null. I am updating the viki extractor right now again to properly handle mpd, show file size of mp4 and adding additional infos. Also fixing the subtitle issue by providing a stream_id.

new

format code extension resolution note
mpd-http-5 m4a audio only [eng] DASH audio 49k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-6 m4a audio only [eng] DASH audio 65k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-4 m4a audio only [eng] DASH audio 81k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-7 m4a audio only [eng] DASH audio 193k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-0 mp4 426x238 DASH video 266k , mp4_dash container, avc1.640015, 30fps, video only
mpd-http-1 mp4 640x360 DASH video 500k , mp4_dash container, avc1.64001E, 30fps, video only
mpd-http-2 mp4 852x480 DASH video 699k , mp4_dash container, avc1.64001F, 30fps, video only
mpd-http-3 mp4 1280x720 DASH video 1671k , mp4_dash container, avc1.64001F, 30fps, video only
360p-https mp4 360p 277.81MiB
480p-https mp4 480p 380.36MiB
720p-https mp4 720p 899.23MiB
1080p-https mp4 1080p 1.92GiB (best)

old (didn't use credentials here)

format code extension resolution note
mpd-http mpd unknown
360p-https mp4 360p
480p-https mp4 480p (best)

@zackmark29
Copy link

I already checked it with my tool but suddenly there's no available direct link.
It's because, it's DRM protected. it's from KOCOWA server side. they use like what Netflix is using.
The solution is, use UK Proxy to get access the MPD file from Viki which is not DRM protected.

@zackmark29
Can you show me the drm protection? Is it embedded into streams.json?

{"1080p":{"https":{"url":"https://v4.viki.io/","cdn":"limelight","id":"000","bumper_duration":0,"start_time_in_ms":0,"drms":null,"seek":"ms"}}

I would like to see if drms is is something else than null. I am updating the viki extractor right now again to properly handle mpd, show file size of mp4 and adding additional infos. Also fixing the subtitle issue by providing a stream_id.

new

format code extension resolution note
mpd-http-5 m4a audio only [eng] DASH audio 49k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-6 m4a audio only [eng] DASH audio 65k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-4 m4a audio only [eng] DASH audio 81k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-7 m4a audio only [eng] DASH audio 193k , m4a_dash container, mp4a.40.2 (48000Hz)
mpd-http-0 mp4 426x238 DASH video 266k , mp4_dash container, avc1.640015, 30fps, video only
mpd-http-1 mp4 640x360 DASH video 500k , mp4_dash container, avc1.64001E, 30fps, video only
mpd-http-2 mp4 852x480 DASH video 699k , mp4_dash container, avc1.64001F, 30fps, video only
mpd-http-3 mp4 1280x720 DASH video 1671k , mp4_dash container, avc1.64001F, 30fps, video only
360p-https mp4 360p 277.81MiB
480p-https mp4 480p 380.36MiB
720p-https mp4 720p 899.23MiB
1080p-https mp4 1080p 1.92GiB (best)

old (didn't use credentials here)

format code extension resolution note
mpd-http mpd unknown
360p-https mp4 360p
480p-https mp4 480p (best)

Alright. wait a minute. I'll send two MPD file with DRM and not DRM.

Also, I sent you vikipass plus account so that can help with the improvement of extractor

@zackmark29
Copy link

zackmark29 commented Sep 10, 2020

I can't check if it is embedded in streams.json api because I can't access the api if I don't use proxy for this link:
https://www.viki.com/videos/1160081v-stove-league-episode-1

However this is the mpd (drm protected) from browser.
https://anonymousfiles.io/dBB3fq0u/

@afham99
Copy link

afham99 commented Jan 26, 2021

hi @zackmark29, iam so impressed with you. can you help to teach me on how to download viki video which is encrypted. i have no idea how to watch it. hmm. i hope you can help me..

@ghost
Copy link

ghost commented Feb 4, 2021

hello there @zackmark29 is there any way i can contact you ?
It is about coding.

This is my email [email protected]

Thanks

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

No branches or pull requests

4 participants