我正在编写一个iPhone应用程序,它从相机中获取视频,通过一些OpenGL着色器代码运行它,然后使用输出将视频文件写入视频文件AVFoundation.该应用程序以lanscape方向运行(或者),因此所有录制的视频都应该是横向的.
我在开始录制之前使用的当前代码以正确的方式获取视频:
[[self videoWriterInput] setTransform:CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI), -1.0, 1.0)];
Run Code Online (Sandbox Code Playgroud)
其中videoWriterInput是一个实例,AVAssetWriterInput其目的是补偿OpenGL的横向模式和崇敬的方向.
这会生成在Quicktime播放器上下载和播放时正常播放的视频.但是,如果我将录制的视频添加到iPhone照片库中,缩略图会正确显示,但如果手机是横向拍摄的,则视频会旋转90度.如果手机处于纵向状态,则视频可以正常播放,但会水平裁剪以适合纵向尺寸.
根据Apple技术说明AVCaptureVideoDataOutput,我用于处理视频帧的捕获输出不支持设置视频方向.
有没有人成功录制了横向生成的视频,可以添加到iPhone库并在风景中正确播放,如果是这样的话?