Addition: Domain-Level Restriction
Most video servers use the Referer
HTTP header to implement domain-level restriction for accessing the domain-protected embedded videos.
This cannot be easily tricked at the client-side, because modern Web browsers disallow changing the Referer
HTTP header from a client-side JavaScript fetch
(AJAX) calls.
Bypassing by Server-Side Proxy
Beware: the Referer
HTTP header-based domain restriction can be bypassed by a server-side script, which requests the video with spoofed HTTP referer and re-streams it to the client (as proxy).
For example, the "domain-level privacy" for Vimeo videos can be bypassed by a server-side code, which fakes the Referer
HTTP header and the related cookies in a server-side HTTP request.
Bypassing by Client-Side Code Injection in Allowed Domain
An easy way to watch a domain-level restricted video (when you have its URL) is by client-side injection of the video player code in some allowed HTML page (using the Chrome DevTools).
Let's see an example. We have a domain-restricted video in Vimeo, which cannot be embedded in the w3schools.com
domain (this domain is not allowed by Vimeo):

In the same time, the video owner allows this video to be embedded in the domain softuni.org
. We can open https://softuni.org, click [F12] to show Chrome DevTools and inject the video <iframe>
code somewhere in the HTML page from this allowed domain:

Now the video plays correctly, overcoming the domain-level access restriction:

Note that this cannot be easily automated by a Web site developer, but can be done by end-users with tech expertise. User's can also use a browser add-on, which fakes the Referer
HTTP header, e.g. see the "Referer Control" add-on fro Chrome.