yt-dlp: [vimeo] Unable to extract info section

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

  • I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

  • I’m reporting a bug unrelated to a specific site
  • I’ve verified that I’m running yt-dlp version 2023.01.06 (update instructions) or later (specify commit)
  • I’ve checked that all provided URLs are playable in a browser with the same IP and same login details
  • 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. DO NOT post duplicates
  • I’ve read the guidelines for opening an issue

Provide a description that is worded well enough to be understood

Hello, I am getting increasingly more ‘unable to extract info section’ errors. The urls are from vimeo. On the same url, sometimes, this error appears and sometimes it doesn’t. at times,can get same error on same url for 6-10 consecutive time. I’m go through big input text file and it is important for me to avoid as it breaks my operation.

Using windows exe . Anything to avoid this would be appreciated. Thank you.

yt-dlp --get-title https://player.vimeo.com/video/786646692 -vU

Provide verbose output that clearly demonstrates the problem

  • Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
  • Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output

[debug] Command-line config: ['--get-title', 'https://player.vimeo.com/video/786646692', '-vU']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19044-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 2023-01-30-git-2d202985b7-full_build-www.gyan.dev (setts), ffprobe 2023-01-30-git-2d202985b7-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)
[vimeo] Extracting URL: https://player.vimeo.com/video/786646692
[vimeo] 786646692: Downloading webpage
ERROR: [vimeo] 786646692: Unable to extract info section; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "yt_dlp\extractor\common.py", line 680, in extract
  File "yt_dlp\extractor\vimeo.py", line 837, in _real_extract
  File "yt_dlp\extractor\common.py", line 1228, in _search_regex

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 3
  • Comments: 21 (13 by maintainers)

Commits related to this issue

Most upvoted comments

@EmmaWebGH

My terminal reports " Unable to extract info section;" so that’s still a thing.

it’s been fixed in the master branch, meaning it will be fixed in the next release. If you don’t want to wait for the next release, you can use the newest unofficial daily build, or install from master with PIP

yt-dlp https://player.vimeo.com/video/728945341 --referer https://www.behance.net/gallery/151753533/BMWi-Oasis

^ this works for me on master

terminal says no such option: --referer. On the main page, it lists that as deprecated?

It still works though, at least for me. Weird that it doesn’t for you. Alternatively you can do this:

yt-dlp "https://player.vimeo.com/video/728945341" --add-header "Referer:https://www.behance.net/gallery/151753533/BMWi-Oasis"

Are they just running yt-dlp and having the same issue as you guys?

Possibly yeah, or youtube-dl

EDIT: yt-dlp "https://vimeo.com/728945341/98af02a487" will work even without updating to master

In some player pages, the config object var is no longer followed by a ;, so the extractor’s regex isn’t finding the “info section” JSON

A quick fix:

diff --git a/yt_dlp/extractor/vimeo.py b/yt_dlp/extractor/vimeo.py
index 97b99fc50..8422f93fc 100644
--- a/yt_dlp/extractor/vimeo.py
+++ b/yt_dlp/extractor/vimeo.py
@@ -834,8 +834,8 @@ def _real_extract(self, url):
             raise
 
         if '://player.vimeo.com/video/' in url:
-            config = self._parse_json(self._search_regex(
-                r'\b(?:playerC|c)onfig\s*=\s*({.+?})\s*;', webpage, 'info section'), video_id)
+            config = self._search_json(
+                r'\b(?:playerC|c)onfig\s*=', webpage, 'info section', video_id)
             if config.get('view') == 4:
                 config = self._verify_player_video_password(
                     redirect_url, video_id, headers)

They are almost the same. youtube-dl just doesn’t have _search_json

It happens sometimes,not all the time. Say out of 100 tries, it happens around 20% on the same url. I guess I will have to wait for next update as I don’t know how to use without exe files.

Yes, Vimeo chucked the ; in favour of \n: https://github.com/ytdl-org/youtube-dl/issues/31311#issuecomment-1425763392. This is only different because yt-dl doesn’t (yet) have non-strict JSON parsing

It’s a patch for the source code. Can’t be applied to the .exe

As a workaround for now, with this video you can use this URL: yt-dlp "https://vimeo.com/786646692"

That URL conversion won’t work for every player URL though