Repository: yt-dlp
Issue: Macaulay Library/eBird Support
Labels: site-request

### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

- [X] I understand that I will be **blocked** if I *intentionally* remove or skip any mandatory\* field

### Checklist

- [X] I'm reporting a new site support request
- [X] I've verified that I have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that none of provided URLs [violate any copyrights](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-the-website-primarily-used-for-piracy) or contain any [DRM](https://en.wikipedia.org/wiki/Digital_rights_management) to the best of my knowledge
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues **including closed ones**. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [ ] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and am willing to share it if required

### Region

_No response_

### Example URLs

- Single video: https://macaulaylibrary.org/asset/477823
- Single video: https://macaulaylibrary.org/asset/517723391
- Single video: https://macaulaylibrary.org/asset/193964791
- Single video: https://macaulaylibrary.org/asset/446088391
- Single video: https://macaulaylibrary.org/asset/613297500
- Multiple videos: https://ebird.org/checklist/S55449985
- Multiple video+audio: https://ebird.org/checklist/S64823290
- Single audio: https://macaulaylibrary.org/asset/103567031
- Single audio: https://macaulaylibrary.org/asset/100872
- Multiple audio (under the "listen" button): https://ebird.org/species/herthr (note that while there are additional audio/video links on this page, the page can be seen as less of a "playlist" and more of a "homepage". I personally think yt-dlp should only download the audio shown when the user clicks the "listen" button because this audio can't be accessed easily otherwise (edited versions of popular audio is not only played but also labeled, while the Macaulay Library page for these edited files is set to private, and thus can't be downloaded without the url obtained from the species page))

### Provide a description that is worded well enough to be understood

[eBird.org](https://eBird.org) is a popular site where bird photographers can upload/record bird sightings. While the information on species/checklists are accessible on `ebird.org`, any individual video/image/audio is on `macaulaylibrary.org` and both sites link to each other.
Thus an eBird page could contain multiple links to Macaulay Library pages (which would contain the content to download), meanwhile a Macaulay Library page will only contain one video/audio/image file, yet will also have links to the uploader/checklist eBird page.

Currently yt-dlp is able to download video/audio from `macaulaylibrary.org` using the fallback info extractor, however it does not recognise the video/audio's format and thus saves the file with the `.unknown_video` extension.

yt-dlp is currently unable to download videos/audio from eBird checklists, which can contain multiple links to video/audio recordings hosted on `macaulaylibrary.org`.

### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [ ] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [X] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below

### Complete Verbose Output

```shell
[debug] Command-line config: ['-vU', 'https://ebird.org/checklist/S55449985', 'https://macaulaylibrary.org/asset/193964791', 'https://macaulaylibrary.org/asset/100872']
[debug] User config "/Users/frostbird/.config/yt-dlp/config": ['--no-colors', '--restrict-filenames']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version master@2024.02.24.232213 from yt-dlp/yt-dlp-master-builds [5eedc208e] (darwin_legacy_exe)
[debug] Python 3.10.5 (CPython x86_64 64bit) - macOS-10.14.6-x86_64-i386-64bit (OpenSSL 1.1.1n  15 Mar 2022)
[debug] exe versions: ffmpeg 6.1 (setts), ffprobe 6.1
[debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2024.02.02, mutagen-1.47.0, requests-2.31.0, sqlite3-3.37.2, urllib3-2.2.1, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1833 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-master-builds/releases/latest
Latest version: master@2024.02.24.232213 from yt-dlp/yt-dlp-master-builds
yt-dlp is up to date (master@2024.02.24.232213 from yt-dlp/yt-dlp-master-builds)
[generic] Extracting URL: https://ebird.org/checklist/S55449985
[generic] S55449985: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] S55449985: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://ebird.org/checklist/S55449985
Traceback (most recent call last):
  File "yt_dlp/YoutubeDL.py", line 1593, in wrapper
  File "yt_dlp/YoutubeDL.py", line 1728, in __extract_info
  File "yt_dlp/extractor/common.py", line 732, in extract
  File "yt_dlp/extractor/generic.py", line 2531, in _real_extract
yt_dlp.utils.UnsupportedError: Unsupported URL: https://ebird.org/checklist/S55449985

[generic] Extracting URL: https://macaulaylibrary.org/asset/193964791
[generic] 193964791: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] 193964791: Extracting information
[debug] Looking for embeds
[debug] Identified a html5 embed
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 193964791-1: Downloading 1 format(s): 0
[debug] Invoking http downloader on "https://cdn.download.ams.birds.cornell.edu/api/v1/asset/193964791/mp4/1280"
[download] Destination: ML193964791_-_American_Dipper_-_Macaulay_Library_1-[193964791-1].unknown_video
[download] 100% of   31.21MiB in 00:00:11 at 2.60MiB/s
[generic] Extracting URL: https://macaulaylibrary.org/asset/100872
[generic] 100872: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] 100872: Extracting information
[debug] Looking for embeds
[debug] Identified a html5 embed
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 100872-1: Downloading 1 format(s): 0
[debug] Invoking http downloader on "https://cdn.download.ams.birds.cornell.edu/api/v1/asset/100872/audio"
[download] Destination: ML100872_-_Winter_Wren_-_Macaulay_Library_1-[100872-1].unknown_video
[download] 100% of  899.88KiB in 00:00:00 at 2.94MiB/s
```