首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS应用程序中将帧从FFmpeg渲染到屏幕上?

如何在iOS应用程序中将帧从FFmpeg渲染到屏幕上?
EN

Stack Overflow用户
提问于 2011-12-19 22:49:28
回答 1查看 1.4K关注 0票数 1

我是iOS的新手,但是我已经在Android上实现了一个基于FFmpeg的播放例程。我计划在iOS上再做一次。

似乎我可以使用OpenGL ES 1.1 / 2.0从FFmpeg视频中绘制帧到屏幕上。然而,OpenGL ES似乎很困难。此外,由于视频纹理的宽度,我遇到了一些限制。我不得不将视频帧分割成许多图像,并将它们绘制到屏幕上以组成帧。

有没有更简单的方法在iOS上使用OpenGL ES渲染这个视频?在iOS中,有没有其他方法可以将2-D视频帧快速绘制到屏幕上?

EN

回答 1

Stack Overflow用户

发布于 2011-12-20 21:33:16

阿。所以你想渲染一个非POT源。这可以在不拆分到多个纹理的情况下完成-通过创建最接近的罐子大小的纹理,渲染到该纹理,并仅对实际包含图像的部分进行by。看看here中的一个例子(C++)。相关部分:

代码语言:javascript
复制
//Calculating the texture size
double exp = ceil(log((double)max(Texture.HardwareHeight, Texture.HardwareWidth))/log(2.0));
texsize = min(pow(2, exp), (double)maxSize);

然后

代码语言:javascript
复制
//draw the original frame 1:1 into the (larger) texture
float ymax = min(2.0f*((float)Texture.HardwareHeight/(float)texsize) - 1.0f, 1.0f);     //clamping is for cards with
float xmax = min(2.0f*((float)Texture.HardwareWidth/(float)texsize) - 1.0f, 1.0f);      //smaller max hardware texture than the current frame size

在渲染时使用这些最大值,而不是1.0作为纹理坐标。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8563012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档