Repository: yt-dlp
Issue: Extract `embedUrl` from `json+ld`
Labels: enhancement,core:extractor

### 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'm running yt-dlp version **2023.02.17** ([update instructions](https://github.com/yt-dlp/yt-dlp#update)) or later (specify commit)
- [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)
- [X] 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

Netherlands / Worldwide

### Example URLs

https://www.ad.nl/video/productie/kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229

### Provide a description that is worded well enough to be understood

Uses avif/mp2t stream 

Perhaps the stream could be gotten from json-ld metadata? yt-dlp _is_ capable of downloading the specified URL: https://mychannels.video/embed/358229

```
{
  "@context": "http://schema.org",
  "@type": "VideoObject",
  "description": "Negen dagen na de aardbeving werd in de Turkse plaats Mardin een kat onder het puin vandaan gehaald. De ongedeerde viervoeter wilde na zijn redding de schouder van een brandweerman niet verlaten.",
  "duration": "PT32S",
  "embedUrl": "https://mychannels.video/embed/358229",
  "name": "Kat wil bij brandweerman blijven die hem uit puin redde",
  "thumbnailUrl": [
    "https://images.mychannels.video/imgix/bb876901-2e2e-451c-a19c-413a0c2f6c0ddGh1bWIuanBn.jpg?h=225&w=225&fit=crop&q=70&auto=format%2Ccompress&crop=focalpoint&fp-x=0.5&fp-y=0.5",
    "https://images.mychannels.video/imgix/bb876901-2e2e-451c-a19c-413a0c2f6c0ddGh1bWIuanBn.jpg?h=300&w=400&fit=crop&q=70&auto=format%2Ccompress&crop=focalpoint&fp-x=0.5&fp-y=0.5",
    "https://images.mychannels.video/imgix/bb876901-2e2e-451c-a19c-413a0c2f6c0ddGh1bWIuanBn.jpg?h=450&w=800&fit=crop&q=70&auto=format%2Ccompress&crop=focalpoint&fp-x=0.5&fp-y=0.5"
  ],
  "uploadDate": "2023-02-18T15:22:00+01:00"
}

```



### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [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://www.ad.nl/video/productie/kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.02.17 [a0a7c01] (zip)
[debug] Python 3.10.6 (CPython x86_64 64bit) - Linux-5.19.0-32-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: certifi-2022.06.15, secretstorage-3.3.1, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Loaded 1782 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.02.17, Current version: 2023.02.17
yt-dlp is up to date (2023.02.17)
[generic] Extracting URL: https://www.ad.nl/video/productie/kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~
[generic] kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~: Downloading webpage
[redirect] Following redirect to https://myprivacy.dpgmedia.nl/consent?siteKey=V9f6VUvlHxq9wKIN&callbackUrl=https%3A%2F%2Fwww.ad.nl%2Fprivacy-gate%2Faccept-tcf2%3FredirectUri%3D%252Fvideo%252Fproductie%252Fkat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~
[generic] Extracting URL: https://myprivacy.dpgmedia.nl/consent?siteKey=V9f6VUvlHxq9wKIN&callbackUrl=https%3A%2F%2Fwww.ad.nl%2Fprivacy-gate%2Faccept-tcf2%3FredirectUri%3D%252Fvideo%252Fproductie%252Fkat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~
[generic] consent?siteKey=V9f6VUvlHxq9wKIN&callbackUrl=https://www.ad: Downloading webpage
[redirect] Following redirect to https://www.ad.nl/video/productie/kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~
[generic] Extracting URL: https://www.ad.nl/video/productie/kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~
[generic] kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://www.ad.nl/video/productie/kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1502, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1578, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 693, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/generic.py", line 2509, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.ad.nl/video/productie/kat-wil-bij-brandweerman-blijven-die-hem-uit-puin-redde-358229~
```