我正在尝试使用youtube视频作为webgl纹理,目前由于一些问题我无法使其工作。有没有人有这方面的经验,可以指出我正确的方向/告诉我它不可能?
我正在遵循此处详述的方法:https://developer.mozilla.org/en/webgl/animating_textures_in_webgl基本上你从html5视频元素制作纹理,并将帧读取到场景中使用的纹理中。这适用于普通视频,但youtube只会通过iframe提供(AFAIK)html5视频,这显然是在他们的域名而不是我的。这意味着很难查询iframe作为纹理使用的视频元素(我快速尝试代理这不起作用,因为iframe src使用相对网址,虽然我没有彻底尝试)。我也尝试使用mediaElement.js将元素包装为html5视频(像这样:http://mediaelementjs.com/examples/?name=youtube)虽然我很快意识到这只是一个外观,所以不能真正作为纹理的输入(至少我认为是问题!)。
我不想做任何涉及下载和重新编码YT视频或其他任何内容的事情,因为我需要一些可以以编程方式完成的事情,尽管客户端或服务器端都很好。
我很确定问题只是抓住包含youtube视频的视频元素,但我对webgl很新,对于webgl中的视频来说是全新的,所以对那里的任何想法都开放!感谢所有的帮助 - 谢谢!
答案 0 :(得分:1)
好的,我最终模仿YT嵌入iframe的内容,从iframe检索的URL创建一个视频元素,然后通过画布抛出它来绕过NPOT纹理问题。它有效,但不快/理想,所以如果其他人有任何更好的想法,我很乐意听到它们。