使用 YouTube 视频制作 webgl 纹理?

use*_*116 5 html youtube video webgl html5-video

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

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

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

我很确定问题只是获取包含 youtube 视频的视频元素,但我对 webgl 还很陌生,而且对 webgl 中的视频完全陌生,所以对任何想法持开放态度!衷心感谢所有帮助 - 谢谢!

use*_*116 2

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

  • 嗨@RobotCaleb - 如果可能的话,我想与更多的人分享这个,所以写了一篇文章。您可以在这里阅读:http://dontglobalmebro.ruhoh.com/webgl/displaying-youtube-video-in-webgl/。如果您有任何问题或反馈,请告诉我,我的推特账号也在那里。抱歉迟到了,我到现在为止还没有博客! (3认同)