iOS上录制的视频颠倒了

时间:2013-02-05 11:36:43

标签: ios opengl-es avassetwriter

在我工作期间,我通常使用CVOpenGLESTextureCacheCreateTextureFromImage从fob获取缓存纹理。然后我使用asssetwriter来编写一个mov文件,mov播放效果很好,但视频是颠倒的。

我确实搜索了互联网,发现我应该编码:

assetWriterInput.transform=CGAffineTransformMakeScale(1.0, -1.0);

它工作正常,但是当我在Windows XP上播放时,它仍然是颠倒的。我发现它在iOS或非Apple OS上的Quicktime视频播放器上播放效果很好。

那是什么原因?为什么不起作用?

1 个答案:

答案 0 :(得分:0)

CGAffineTransformMaskScale' merely sets some meta information in the mov`容器,用于在播放时将一些图像转换应用于视频图像。但是只有Quicktime播放器才会尊重此标志。

图像首先是颠倒的,是由于OpenGL假设图像来自左下角,而大多数视频图像格式将其放在左上角,如果这些假设发生碰撞,这当然会翻转图像。理智的解决方案是实际翻转图像,而不仅仅是设置元数据标志。

翻转图像非常简单,因为您只需在中间步骤中反转扫描线。