Repository: yt-dlp
Issue: [Broken] Vimeo: Channel download skips videos
Labels: site-bug

<!--

######################################################################
  WARNING!
  IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE
######################################################################

-->


## Checklist

<!--
Carefully read and work through this check list in order to prevent the most common mistakes and misuse of yt-dlp:
- First of, make sure you are using the latest version of yt-dlp. Run `yt-dlp --version` and ensure your version is 2021.10.10. If it's not, see https://github.com/yt-dlp/yt-dlp#update on how to update. Issues with outdated version will be REJECTED.
- Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser.
- Make sure that all URLs and arguments with special characters are properly quoted or escaped.
- Search the bugtracker for similar issues: https://github.com/yt-dlp/yt-dlp/issues. DO NOT post duplicates.
- Read "opening an issue" section in CONTRIBUTING.md: https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue
- Finally, confirm all RELEVANT tasks from the following by putting x into all the boxes like this [x] (Dont forget to delete the empty space)
-->

- [x] I'm reporting a broken site support
- [x] I've verified that I'm running yt-dlp version **2021.10.10**
- [x] I've checked that all provided URLs are alive and playable in a browser
- [x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
- [x] I've searched the bugtracker for similar issues including closed ones
- [x] I've read the opening an issue section in CONTRIBUTING.md
- [x] I have given an appropriate title to the issue


## Verbose log

<!--
Provide the complete verbose output of yt-dlp that clearly demonstrates the problem.
Add the `-v` flag to your command line you run yt-dlp with (`yt-dlp -v <your command line>`), copy the WHOLE output and insert it below. It should look similar to this:
 [debug] System config: []
 [debug] User config: []
 [debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKc']
 [debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
 [debug] yt-dlp version 2021.10.10
 [debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2
 [debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
 [debug] Proxy map: {}
 <more lines>
-->

```
kylie:~/tmp$ yt-dlp --version
2021.10.10
kylie:~/tmp$ yt-dlp --test -v https://vimeo.com/channels/1186230
[debug] Command-line config: ['--test', '-v', 'https://vimeo.com/channels/1186230']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] yt-dlp version 2021.10.10
[debug] Python version 3.10.0 (CPython 64bit) - macOS-10.15.7-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.3.2, ffprobe 4.3.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] ANSI escape support: stdout = True, stderr = True
[debug] Proxy map: {}
[debug] [vimeo:channel] Extracting URL: https://vimeo.com/channels/1186230
[vimeo:channel] 1186230: Downloading page 1
[download] Downloading playlist: Visual math
[vimeo:channel] playlist Visual math: Downloading 6 videos
[download] Downloading video 1 of 6
[debug] [vimeo] Extracting URL: https://vimeo.com/channels/1186230/199059577
[vimeo] 199059577: Downloading webpage
[vimeo] 199059577: Extracting information
[vimeo] 199059577: Downloading JSON metadata
[vimeo] 199059577: Downloading JSON metadata
[vimeo] 199059577: Checking Original video URL
[vimeo] 199059577: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 199059577: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 199059577: Downloading fastly_skyfire m3u8 information
[vimeo] 199059577: Downloading fastly_skyfire m3u8 information
[vimeo] 199059577: Downloading akfire_interconnect_quic MPD information
[vimeo] 199059577: Downloading akfire_interconnect_quic MPD information
[vimeo] 199059577: Downloading fastly_skyfire MPD information
[vimeo] 199059577: Downloading fastly_skyfire MPD information
[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
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 199059577: Downloading 1 format(s): Original
[debug] Invoking downloader on "https://player.vimeo.com/play/670981966?s=199059577_1634131040_21bcacdc614ce9762bbe7336b79e4638&loc=external&context=Vimeo%5CController%5CClipController.main&download=1"
[download] Hilbert curve [199059577].mp4 has already been downloaded
[download] 100% of 10.00KiB[download] Downloading video 2 of 6
[debug] [vimeo] Extracting URL: https://vimeo.com/channels/1186230/199059402
[vimeo] 199059402: Downloading webpage
[vimeo] 199059402: Extracting information
[vimeo] 199059402: Downloading JSON metadata
[vimeo] 199059402: Downloading JSON metadata
[vimeo] 199059402: Checking Original video URL
[vimeo] 199059402: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 199059402: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 199059402: Downloading fastly_skyfire m3u8 information
[vimeo] 199059402: Downloading fastly_skyfire m3u8 information
[vimeo] 199059402: Downloading akfire_interconnect_quic MPD information
[vimeo] 199059402: Downloading akfire_interconnect_quic MPD information
[vimeo] 199059402: Downloading fastly_skyfire MPD information
[vimeo] 199059402: Downloading fastly_skyfire MPD information
[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
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 199059577: Downloading 1 format(s): Original
[debug] Invoking downloader on "https://player.vimeo.com/play/670981269?s=199059402_1634131041_d5f97d8665d83d34709ef26478603076&loc=external&context=Vimeo%5CController%5CClipController.main&download=1"
[download] Hilbert curve [199059577].mp4 has already been downloaded
[download] 100% of 10.00KiB[download] Downloading video 3 of 6
[debug] [vimeo] Extracting URL: https://vimeo.com/channels/1186230/199059077
[vimeo] 199059077: Downloading webpage
[vimeo] 199059077: Extracting information
[vimeo] 199059077: Downloading JSON metadata
[vimeo] 199059077: Downloading JSON metadata
[vimeo] 199059077: Checking Original video URL
[vimeo] 199059077: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 199059077: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 199059077: Downloading fastly_skyfire m3u8 information
[vimeo] 199059077: Downloading fastly_skyfire m3u8 information
[vimeo] 199059077: Downloading akfire_interconnect_quic MPD information
[vimeo] 199059077: Downloading akfire_interconnect_quic MPD information
[vimeo] 199059077: Downloading fastly_skyfire MPD information
[vimeo] 199059077: Downloading fastly_skyfire MPD information
[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
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 199059577: Downloading 1 format(s): Original
[debug] Invoking downloader on "https://player.vimeo.com/play/670979873?s=199059077_1634131043_072bc01084fcf634a078b805c57815eb&loc=external&context=Vimeo%5CController%5CClipController.main&download=1"
[download] Hilbert curve [199059577].mp4 has already been downloaded
[download] 100% of 10.00KiB[download] Downloading video 4 of 6
[debug] [vimeo] Extracting URL: https://vimeo.com/channels/1186230/117221911
[vimeo] 117221911: Downloading webpage
[vimeo] 117221911: Extracting information
[vimeo] 117221911: Downloading JSON metadata
[vimeo] 117221911: Downloading JSON metadata
[vimeo] 117221911: Downloading jwt token
[vimeo] 117221911: Downloading JSON metadata
[vimeo] 117221911: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 117221911: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 117221911: Downloading fastly_skyfire m3u8 information
[vimeo] 117221911: Downloading fastly_skyfire m3u8 information
[vimeo] 117221911: Downloading akfire_interconnect_quic MPD information
[vimeo] 117221911: Downloading akfire_interconnect_quic MPD information
[vimeo] 117221911: Downloading fastly_skyfire MPD information
[vimeo] 117221911: Downloading fastly_skyfire MPD information
[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
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 199059577: Downloading 1 format(s): http-720p
[debug] Invoking downloader on "https://vod-progressive.akamaized.net/exp=1634134644~acl=%2A%2F670982269.mp4%2A~hmac=14d494a5ddfed513ecf702110a57da6c5c0d52cc3f46a451cfa7aaac64423ce6/vimeo-prod-skyfire-std-us/01/4811/7/199059577/670982269.mp4"
[download] Hilbert curve [199059577].mp4 has already been downloaded
[download] 100% of 10.00KiB[download] Downloading video 5 of 6
[debug] [vimeo] Extracting URL: https://vimeo.com/channels/1186230/109100676
[vimeo] 109100676: Downloading webpage
[vimeo] 109100676: Extracting information
[vimeo] 109100676: Downloading JSON metadata
[vimeo] 109100676: Downloading JSON metadata
[vimeo] 109100676: Checking Original video URL
[vimeo] 109100676: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 109100676: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 109100676: Downloading fastly_skyfire m3u8 information
[vimeo] 109100676: Downloading fastly_skyfire m3u8 information
[vimeo] 109100676: Downloading akfire_interconnect_quic MPD information
[vimeo] 109100676: Downloading akfire_interconnect_quic MPD information
[vimeo] 109100676: Downloading fastly_skyfire MPD information
[vimeo] 109100676: Downloading fastly_skyfire MPD information
[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
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 199059577: Downloading 1 format(s): Original
[debug] Invoking downloader on "https://player.vimeo.com/play/297794237?s=109100676_1634131046_54598f650499119989eb059a8bc11444&loc=external&context=Vimeo%5CController%5CClipController.main&download=1"
[download] Hilbert curve [199059577].mpg has already been downloaded
[download] 100% of 10.00KiB[download] Downloading video 6 of 6
[debug] [vimeo] Extracting URL: https://vimeo.com/channels/1186230/109062970
[vimeo] 109062970: Downloading webpage
[vimeo] 109062970: Extracting information
[vimeo] 109062970: Downloading JSON metadata
[vimeo] 109062970: Downloading JSON metadata
[vimeo] 109062970: Checking Original video URL
[vimeo] 109062970: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 109062970: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 109062970: Downloading fastly_skyfire m3u8 information
[vimeo] 109062970: Downloading fastly_skyfire m3u8 information
[vimeo] 109062970: Downloading akfire_interconnect_quic MPD information
[vimeo] 109062970: Downloading akfire_interconnect_quic MPD information
[vimeo] 109062970: Downloading fastly_skyfire MPD information
[vimeo] 109062970: Downloading fastly_skyfire MPD information
[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
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 109062970: Downloading 1 format(s): Original
[debug] Invoking downloader on "https://player.vimeo.com/play/297677788?s=109062970_1634131048_e28b549de0bf9e2424f75cfaa2dc742c&loc=external&context=Vimeo%5CController%5CClipController.main&download=1"
[download] The zeroes of Litlewood polynomials [109062970].mpg has already been downloaded
[download] 100% of 10.00KiB[download] Finished downloading playlist: Visual math
```
<!--
Do not remove the above ```
-->


## Description

<!--
Provide an explanation of your issue in an arbitrary form. Provide any additional information, suggested solution and as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.
-->

When downloading a channel from Vimeo some videos are randomly skipped. Let us take https://vimeo.com/channels/1186230 as an example. It has 6 videos, but only two are downloaded using

    yt-dlp https://vimeo.com/channels/1186230

As you can see from the above log, the `vimeo` extractor seems to think it's downloading the same file several times. After some experimentation, I think I know what the problem is. The `vimeo` extractor expects URLs of the form `https://vimeo.com/109100676` but the extracted ones are of the form `https://vimeo.com/channels/1186230/109100676` (see the lines `[vimeo] Extracting URL` above). Most likely Vimeo has changed something and `yt-dlp` needs to adapt.