使用YouTube视频获取webgl纹理



我正在尝试使用youtube视频作为webgl纹理,但由于一些问题,目前我无法使其工作。有没有人有这样做的经验,可以给我指明正确的方向/告诉我这是不可能的?

我遵循这里详细介绍的方法:https://developer.mozilla.org/en/webgl/animating_textures_in_webgl基本上,您可以从html5视频元素中制作纹理,并不断将帧读取到场景中使用的纹理中。这对普通视频非常有效,但youtube只会通过iframe提供(AFAIK)html5视频,这显然在他们的领域而不是我的领域。这意味着很难查询视频元素的iframe以用作纹理(我快速尝试代理它不起作用,因为iframe-src使用相对url,尽管我没有彻底尝试)。我还尝试使用mediaElement.js将元素包装为html5视频(如下:http://mediaelementjs.com/examples/?name=youtube)尽管我很快意识到这只是一个门面,所以不能真正作为纹理的输入(至少我认为这是问题所在!)。

我不想做任何涉及下载和重新编码YT视频或类似的事情,因为我需要一些可以用程序完成的事情,尽管客户端或服务器端都可以。

我很确定问题只是掌握了一个包含youtube视频的视频元素,但我对webgl很陌生,对webgl的视频也完全陌生,所以对那里的任何想法都持开放态度!所有的帮助都得到了感激——谢谢!

好吧,我最终模拟了YT嵌入iframe的功能,从iframe检索的URL创建了一个视频元素,然后通过画布将其抛出,以解决NPOT纹理问题。它有效,但速度不快/不理想,所以如果其他人有更好的想法,我很乐意听到。

最新更新