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] I can't download viki videos #29502

Closed
5 tasks done
bladeosen opened this issue Jul 8, 2021 · 17 comments · Fixed by #30596
Closed
5 tasks done

[Viki] I can't download viki videos #29502

bladeosen opened this issue Jul 8, 2021 · 17 comments · Fixed by #30596

Comments

@bladeosen
Copy link

Checklist

  • I'm reporting a broken site support
  • I've verified that I'm running youtube-dl version 2021.06.06
  • 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



[viki:channel] 37358c: Downloading channel JSON
[viki:channel] 37358c: Downloading episodes JSON page #1
[viki:channel] 37358c: Downloading clips JSON page #1
[viki:channel] 37358c: Downloading movies JSON page #1
[download] Downloading playlist: Falling Into Your Smile
[viki:channel] playlist Falling Into Your Smile: Collected 24 video ids (downloading 24 of them)
[download] Downloading video 1 of 24
[viki] 1183562v: Downloading video JSON
ERROR: Unable to download JSON metadata: HTTP Error 422: Unprocessable Entity (caused by HTTPError()); 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.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 634, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\YoutubeDL.py", line 2288, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default


Description

WRITE DESCRIPTION HERE

When I try to download a video from viki, I get an error

@bladeosen bladeosen changed the title [Viki] I can't download viki's videos [Viki] I can't download viki videos Jul 8, 2021
@bladeosen
Copy link
Author

bladeosen commented Jul 8, 2021

d

You can download for now my binary released
https://github.com/zackmark29/yt-dlp/releases/tag/2021.07.08

I can't download the subs, I get on "WARNING: Unable to download subtitle for "en": HTTP Error 400: Bad Request"

@neonrust
Copy link

Confirmed, attaching similar output for linux.
This does seem to apply to all videos; I've not found any that work (any more?).

⯈youtube-dl --verbose https://www.viki.com/videos/1089402v-big-heat-episode-1
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.viki.com/videos/1089402v-big-heat-episode-1']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.5 (CPython) - Linux-5.11.0-25-generic-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg N-100470-g5b48d2af43, ffprobe N-100470-g5b48d2af43
[debug] Proxy map: {}
[viki] 1089402v: Downloading video JSON
ERROR: Unable to download JSON metadata: HTTP Error 422: Unprocessable Entity (caused by <HTTPError 422: 'Unprocessable Entity'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/local/lib/python3.9/dist-packages/youtube_dl/extractor/common.py", line 634, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/lib/python3.9/dist-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.9/urllib/request.py", line 561, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

@zackmark29
Copy link

Confirmed, attaching similar output for linux.
This does seem to apply to all videos; I've not found any that work (any more?).

⯈youtube-dl --verbose https://www.viki.com/videos/1089402v-big-heat-episode-1
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.viki.com/videos/1089402v-big-heat-episode-1']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.5 (CPython) - Linux-5.11.0-25-generic-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg N-100470-g5b48d2af43, ffprobe N-100470-g5b48d2af43
[debug] Proxy map: {}
[viki] 1089402v: Downloading video JSON
ERROR: Unable to download JSON metadata: HTTP Error 422: Unprocessable Entity (caused by <HTTPError 422: 'Unprocessable Entity'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/local/lib/python3.9/dist-packages/youtube_dl/extractor/common.py", line 634, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/lib/python3.9/dist-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.9/urllib/request.py", line 561, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

refer to this. yt-dlp/yt-dlp#475
Try the compiled version

@Sipherdrakon
Copy link

Getting this when using the yt-dlp version:

main.py -F "https://www.viki.com/videos/217687v-flower-boy-next-door-episode-1" --verbose
[debug] Command-line config: ['-F', 'https://www.viki.com/videos/217687v-flower-boy-next-door-episode-1', '--verbose']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] yt-dlp version 2021.07.07 (source)
[debug] Plugin Extractors: ['SamplePlugin']
[debug] Git HEAD: ee2f938f2
[debug] Python version 3.9.4 (CPython 64bit) - Windows-10-10.0.18362-SP0
[debug] exe versions: ffmpeg 4.4-full_build-www.gyan.dev, ffprobe 4.4-full_build-www.gyan.dev
[debug] Proxy map: {}
[debug] [viki] Extracting URL: https://www.viki.com/videos/217687v-flower-boy-next-door-episode-1
[viki] 217687v: Downloading video JSON
[viki] 217687v: Downloading video streams JSON
ERROR: Unable to download JSON metadata: HTTP Error 400: Bad Request (caused by <HTTPError 400: 'Bad Request'>); please report this issue on https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see https://github.com/yt-dlp/yt-dlp on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
File "D:\yt-dlp\yt_dlp\extractor\common.py", line 676, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "D:\yt-dlp\yt_dlp\YoutubeDL.py", line 3087, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "C:\Program Files\Python39\lib\urllib\request.py", line 523, in open
response = meth(req, response)
File "C:\Program Files\Python39\lib\urllib\request.py", line 632, in http_response
response = self.parent.error(
File "C:\Program Files\Python39\lib\urllib\request.py", line 561, in error
return self._call_chain(*args)
File "C:\Program Files\Python39\lib\urllib\request.py", line 494, in _call_chain
result = func(*args)
File "C:\Program Files\Python39\lib\urllib\request.py", line 641, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)

@zackmark29
Copy link

zackmark29 commented Aug 1, 2021

Getting this when using the yt-dlp version:

main.py -F "https://www.viki.com/videos/217687v-flower-boy-next-door-episode-1" --verbose
[debug] Command-line config: ['-F', 'https://www.viki.com/videos/217687v-flower-boy-next-door-episode-1', '--verbose']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] yt-dlp version 2021.07.07 (source)
[debug] Plugin Extractors: ['SamplePlugin']
[debug] Git HEAD: ee2f938f2
[debug] Python version 3.9.4 (CPython 64bit) - Windows-10-10.0.18362-SP0
[debug] exe versions: ffmpeg 4.4-full_build-www.gyan.dev, ffprobe 4.4-full_build-www.gyan.dev
[debug] Proxy map: {}
[debug] [viki] Extracting URL: https://www.viki.com/videos/217687v-flower-boy-next-door-episode-1
[viki] 217687v: Downloading video JSON
[viki] 217687v: Downloading video streams JSON
ERROR: Unable to download JSON metadata: HTTP Error 400: Bad Request (caused by <HTTPError 400: 'Bad Request'>); please report this issue on https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see https://github.com/yt-dlp/yt-dlp on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
File "D:\yt-dlp\yt_dlp\extractor\common.py", line 676, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "D:\yt-dlp\yt_dlp\YoutubeDL.py", line 3087, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "C:\Program Files\Python39\lib\urllib\request.py", line 523, in open
response = meth(req, response)
File "C:\Program Files\Python39\lib\urllib\request.py", line 632, in http_response
response = self.parent.error(
File "C:\Program Files\Python39\lib\urllib\request.py", line 561, in error
return self._call_chain(*args)
File "C:\Program Files\Python39\lib\urllib\request.py", line 494, in _call_chain
result = func(*args)
File "C:\Program Files\Python39\lib\urllib\request.py", line 641, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)

looks like you're using the old script. Check again the repo. And also post in ydlp repo not here so it will be updated.

[debug] Command-line config: ['https://www.viki.com/videos/1183562v-falling-into-your-smile-episode-1', '--username', 'PRIVATE', '--password', 'PRIVATE', '-f', '0', '-v', '-F']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] yt-dlp version 2021.07.24 (source)
[debug] Plugin Extractors: ['SamplePlugin']
[debug] Git HEAD: a46a815b0
[debug] Python version 3.6.0 (CPython 64bit) - Windows-10-10.0.19041-SP0
[debug] exe versions: ffmpeg N-102009-gefdb564504
[debug] Proxy map: {}
[viki] Logging in
[debug] [viki] Extracting URL: https://www.viki.com/videos/1183562v-falling-into-your-smile-episode-1
[viki] 1183562v: Downloading video JSON
[viki] 1183562v: Downloading video streams JSON
[viki] 1183562v: Downloading initial MPD manifest
[viki] 1183562v: Downloading MPD manifest
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] Available formats for 1183562v:
ID    EXT   RESOLUTION FPS |   TBR PROTO | VCODEC        VBR ACODEC     ABR  ASR    MORE INFO
----- ----- ---------- --- - ----- ----- - ----------- ----- --------- ---- ------- -----------------------
image mhtml images         |       mhtml |                                          DASH storyboards (jpeg)
5     m4a   audio only     |   49k https |                   mp4a.40.2  49k 44100Hz DASH audio, m4a_dash
6     m4a   audio only     |   65k https |                   mp4a.40.2  65k 44100Hz DASH audio, m4a_dash
4     m4a   audio only     |   81k https |                   mp4a.40.2  81k 44100Hz DASH audio, m4a_dash
7     m4a   audio only     |  193k https |                   mp4a.40.2 193k 44100Hz DASH audio, m4a_dash
0     mp4   426x238    25  |  235k https | avc1.640015  235k                        DASH video, mp4_dash
1     mp4   640x360    25  |  428k https | avc1.64001E  428k                        DASH video, mp4_dash
2     mp4   852x480    25  |  658k https | avc1.64001E  658k                        DASH video, mp4_dash
3     mp4   1280x720   25  | 1222k https | avc1.64001F 1222k                        DASH video, mp4_dash

@Sipherdrakon
Copy link

I know it looks that way as the "source" shows 07.07, but I grabbed the commit for it before it was rolled into the newer version. But just to show that it is truly added, I'll go grab the newest version of yt-dlp and run it through that and grab the verbose log

@zackmark29
Copy link

zackmark29 commented Aug 1, 2021

I know it looks that way as the "source" shows 07.07, but I grabbed the commit for it before it was rolled into the newer version. But just to show that it is truly added, I'll go grab the newest version of yt-dlp and run it through that and grab the verbose log

Alright update me when it work already
Just a little note. As you can see max resolution is 720p.
It's only for some chinese series. It means the high quality is available from the main source

@Sipherdrakon
Copy link

[debug] Command-line config: ['-o', '%(series)s - 0%(season_number)sx0%(episode_number)s - %(title)s [WEBDL-%(height)s].%(ext)s', '-ic', '--newline', '--cookies', 'cookies.txt', '-u', 'PRIVATE', '-p', 'PRIVATE', '--console-title', '--sub-langs', 'en.*', '--embed-subs', '-a', 'ytdlready_ep.txt', '--verbose']
[debug] Batch file urls: ['https://www.viki.com/videos/1034999v-emergency-couple-emergency-couple-episode-1']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] yt-dlp version 2021.07.24 (exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.18363-SP0
[debug] exe versions: ffmpeg 4.4-full_build-www.gyan.dev, ffprobe 4.4-full_build-www.gyan.dev
[debug] Proxy map: {}
[viki] Logging in
[debug] [viki] Extracting URL: https://www.viki.com/videos/1034999v-emergency-couple-emergency-couple-episode-1
[viki] 1034999v: Downloading video JSON
[viki] 1034999v: Downloading video streams JSON
ERROR: Unable to download JSON metadata: HTTP Error 400: Bad Request (caused by <HTTPError 400: 'Bad Request'>); please report this issue on https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see https://github.com/yt-dlp/yt-dlp on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
File "yt_dlp\extractor\common.py", line 679, in _request_webpage
File "yt_dlp\YoutubeDL.py", line 3126, in urlopen
File "urllib\request.py", line 531, in open
File "urllib\request.py", line 640, in http_response
File "urllib\request.py", line 569, in error
File "urllib\request.py", line 502, in _call_chain
File "urllib\request.py", line 649, in http_error_default

@Sipherdrakon
Copy link

I know it looks that way as the "source" shows 07.07, but I grabbed the commit for it before it was rolled into the newer version. But just to show that it is truly added, I'll go grab the newest version of yt-dlp and run it through that and grab the verbose log

Alright update me when it work already
Just a little note. As you can see max resolution is 720p.
It's only for some chinese series. It means the high quality is available from the main source

So it is very sporadic of about 30 series I was getting from VIKI only 3 or 4 wouldn't download with above issue being logged. Most of which were able to grab 1080p and a few at 720p. I just wish they all would work. :-(

@zackmark29
Copy link

zackmark29 commented Aug 1, 2021

[debug] Command-line config: ['-o', '%(series)s - 0%(season_number)sx0%(episode_number)s - %(title)s [WEBDL-%(height)s].%(ext)s', '-ic', '--newline', '--cookies', 'cookies.txt', '-u', 'PRIVATE', '-p', 'PRIVATE', '--console-title', '--sub-langs', 'en.*', '--embed-subs', '-a', 'ytdlready_ep.txt', '--verbose']
[debug] Batch file urls: ['https://www.viki.com/videos/1034999v-emergency-couple-emergency-couple-episode-1']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] yt-dlp version 2021.07.24 (exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.18363-SP0
[debug] exe versions: ffmpeg 4.4-full_build-www.gyan.dev, ffprobe 4.4-full_build-www.gyan.dev
[debug] Proxy map: {}
[viki] Logging in
[debug] [viki] Extracting URL: https://www.viki.com/videos/1034999v-emergency-couple-emergency-couple-episode-1
[viki] 1034999v: Downloading video JSON
[viki] 1034999v: Downloading video streams JSON
ERROR: Unable to download JSON metadata: HTTP Error 400: Bad Request (caused by <HTTPError 400: 'Bad Request'>); please report this issue on https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see https://github.com/yt-dlp/yt-dlp on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
File "yt_dlp\extractor\common.py", line 679, in _request_webpage
File "yt_dlp\YoutubeDL.py", line 3126, in urlopen
File "urllib\request.py", line 531, in open
File "urllib\request.py", line 640, in http_response
File "urllib\request.py", line 569, in error
File "urllib\request.py", line 502, in _call_chain
File "urllib\request.py", line 649, in http_error_default

Don't use the exe. I also tried it. I don't know why it's not included the latest script in the compiled version
Just do for now

py -3.6 -m yt_dlp

@zackmark29
Copy link

@Sipherdrakon atlso with the updated version, you don't need to use cookies. Only credentials is enough

@rmiddle
Copy link

rmiddle commented Aug 20, 2021

I am still getting the same errors and I am running the code directly from the repo? Do I need to pull from another repo or branch to get a working Viki version?

@Sipherdrakon
Copy link

Pretty sure this hasn't been merged yet.

@rmiddle
Copy link

rmiddle commented Aug 20, 2021

Youtube-dl fails however yt-dlp is at least showing my a list using -F so my workaround is to use yt-dlp :)

Thanks
Robert

Update: yt-dlp is working for everything I have tried.

@Sipherdrakon
Copy link

Yeah yt-dlp is updated far more frequently and grabs commits that youtube-dl sits on forever.

@issues101
Copy link

Update: yt-dlp is working for everything I have tried.

...except Windows XP and Python earlier than 3.6--which Youtube-dl has no problems with.

@dirkf
Copy link
Contributor

dirkf commented Feb 4, 2022

In PR #30596, no login:

  • big-heat-episode-1 - OK
  • flower-boy-next-door-episode-1 - DRM
  • falling-into-your-smile-episode-1 - OK
  • emergency-couple-emergency-couple-episode-1 - DRM

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

Successfully merging a pull request may close this issue.

7 participants