在我的应用程序中,我应该以不同寻常的方式播放视频。 像特殊用途的互动播放器。这里iOS视频播放
主要问题:
- 视频分辨率可以从200 * 200像素高达1024 * 1024像素
- 我应该从-60 FPS改变速度,以60 PFS(在这种情况下,视频的能力应该根据选定的速度播放更慢或更快,负面意味着视频应向后播放)
- 我应该在视频上绘制线条和对象,并使用图像进行缩放。
- 我应该有能力放大图像,如果平移它的内容超过屏幕大小
- 我应该改变这种视频
现在我正在做下一件事的亮度,对比度和反转颜色的能力:
- 我splited我的视频帧JPG
- 为每秒N次(播放速度控制)
- 每个计时器滴答IM d创建计时器用OpenGL rawing新的纹理(下一JPG帧)
- 的缩放和平移IM使用OpenGL ES变换(平移,缩放)打
一切看起来很正常,直到我用320 * 240像素,但如果我使用512 * 512px我的播放速度正在下降。也许定时器行为问题,可能是OpenGL。有时候,如果我试图以高播放速度(超过10-15 FPS)打开大纹理,应用程序会因为内存警告而崩溃。
解决此问题的最佳做法是什么?我应该挖掘什么方向?也许cocos2d或其他游戏引擎对我有帮助? Mb JPG不是纹理的最佳解决方案,我应该使用PNG或PVR或者其他的?
为什么要转换为任何类型的图像?为什么不把原始帧作为纹理上传?将帧压缩为JPG或PNG图像对于视频而言将非常昂贵。 – 2012-08-06 16:30:30
我在播放视频前准备这些JPG帧。我的意思是,我只是使用已经创建的JPG文件。或者你说,我可以为我的纹理使用另一种(最有效的)格式? – 2012-08-07 09:52:22