我在StackOverflow上看到了许多这样的问题,但是没有一个有有效的答案。我的问题是我无法嵌入YouTube视频,因为“此视频不可用”。出现:
这是到目前为止我所知道并尝试过的:
file:///C:/path/to/file.html
)中运行,也不能将嵌入式视频置于我的本地Django服务器(12.345.67.89:8080/page
)上。<iframe>
/embed/
和/watch?v=
作为URL。https://
更改为http://
或//
无效。删除www.
部分也不起作用。答案 0 :(得分:4)
这不是Youtube API错误。尝试使用“ python -m SimpleHTTPServer 8080
”在我的本地主机上运行它,并使其轻松运行。因此,我得出的结论是您没有适当的本地Web服务器。另外,“ file:///C:/path/to/file.html
”将永远无法工作,因为要使用任何Google API,您都必须能够访问互联网。
答案 1 :(得分:2)
Sergiy Shcherbina's answer帮助我解决了这个问题。我当时从虚拟机运行Web服务器,并通过本地IP地址访问它。
似乎您需要通过主机名而不是IP地址访问包含嵌入式youtube播放器的页面。
我如何针对我的开发环境解决此问题
在进行更改之前,我正在这样访问我的网页:full_join(df1, df2, by = "species") %>%
mutate(grade = ifelse(bin_per_species == 1, "A", "C")) %>%
select(1:3)
,对于许多可验证为“可嵌入”的视频,我会收到“视频不可用”错误。
哈克一词:我在主机文件中为虚拟机设置了主机名,并将IP地址别名为http://192.168.x.x:3000/video
。 How to edit your host file
现在,我访问具有以下嵌入式播放器的页面:dev-vm
,现在正在播放以前给我“视频不可用”错误的视频。
真是个奇怪的问题。希望这对遇到类似问题的人有所帮助。
答案 2 :(得分:1)
出于某些被遗忘的原因(仅YouTube的工程师知道),某些视频需要HTTP服务器才能播放。
如果您熟悉 npm 和 Node.js ,则可以按照here的说明进行操作,从而可以设置HTTP服务器并进行尝试自己动手。
但是,如果您有时间和意愿,请按照here的说明 发送关于此问题的错误报告 。绝对不应该发生这种问题。
祝你好运!
答案 3 :(得分:1)
它可以在具有域的站点上使用,而不能在IP地址到达的站点上使用。在“ localhost”上使用时有效,并且在使用“ 127.0.0.1”时导致“视频不可用”。这真的很奇怪...
答案 4 :(得分:0)
一些javascript注入修复程序可以解决那些只想直接从youtube.com/embed观看视频的人
document.body.innerHTML = '<iframe id="video" width="560" height="315" src="https://www.youtube.com/embed/_RrA-R5VHQs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><style>body{margin; 0; overflow: hidden;}#video{position:absolute;left:0px;width:100%;top:0px;height:100%;}</style>'