无法通过 iframe 播放某些 YouTube 视频

问题描述 投票:0回答:3

我开发了通过 iframe 播放 youtube 视频的功能,它几乎可以工作。 但也有一些视频无法在 django 模板(SSR)中播放。 然而上面的一些视频可以在react(CSR)中播放。

enter image description here

例如如下

工作 YouTube 网址:https://youtu.be/bPCYR5Wec-g

无法使用 YouTube 网址:https://www.youtube.com/watch?v=d7d-e4BHs0w

如何播放此 YouTube 视频?

video iframe django-templates youtube server-side-rendering
3个回答
2
投票

检查这个答案后,我使用jsfiddle嵌入视频https://www.youtube.com/watch?v=d7d-e4BHs0w,并得到以下文本:

视频不可用

该视频的内容来自 LatinAutor - UMPG, 谁阻止了它在本网站或本应用程序中的播放。

如果您在浏览器中复制/粘贴嵌入链接,则不会显示原因 - 即 https://www.youtube.com/embed/d7d-e4BHs0w

TL;DR:视频可能不可用,因为所有者禁止嵌入视频,或者 YouTube 本身禁止嵌入某些视频 - 由于版权问题或任何其他模糊/未公开的原因...


2
投票

在 Django 中使用 iframe 时遇到类似的问题, 我可以嵌入大部分视频,但一些流行的音乐视频无法加载并仅显示: 视频不可用。 要修复此问题,必须通过将此行添加到 settings.py: 来手动设置 Referer header

SECURE_REFERRER_POLICY = "no-referrer-when-downgrade"

事实证明,Django 默认情况下不会在请求标头中设置 Referer,对于某些视频(例如受版权保护的流行音乐视频),youtube 会检查 Referer 是否有主机名(例如 http://localhost:8000/在 dev 或 https://examplesite.com 中),如果未设置 Referer 或者它只是一个 IP(例如192.168.1.1:8000) 那么视频将无法播放。 “no-referrer-when-downgrade”是 Django 引用策略设置的 1,它添加了引用标头,除非从 https 降级到 http 并且对我有用。


0
投票
好吧,我的目标是在网站的登陆页面上嵌入视频。视频应自动运行且静音。我使用 iframe 来实现此目的,但收到此错误“Youtube 拒绝连接”。冲浪后我知道对于 iframe 你需要使用嵌入链接。下面是我的代码片段。希望有帮助。

<iframe src="https://www.youtube.com/embed/9bZkp7q19f0?autoplay=1&mute=1"></iframe>
    
© www.soinside.com 2019 - 2024. All rights reserved.