2013-04-24 51 views
1

在我的iPhone应用程序中,我想将录制格式(HD)的视频转换为较低分辨率(320x240),但我希望保持30fps的帧速率。在iOS中将视频转换为320x240 @ 30fps

我目前使用转换,但AVAssetExportPreset唯一可用的值是:

AVAssetExportPresetLowQuality 
AVAssetExportPresetMediumQuality 
AVAssetExportPresetHighestQuality 

AVAssetExportPreset640x480 
AVAssetExportPreset960x540 
AVAssetExportPreset1280x720 
AVAssetExportPreset1920x1080 

这些似乎都不符合我的要求。 Low越来越近,但比特率非常低,并且强制帧频为15fps,这是不好的。

如果可能我想用硬件加速库来实现这个功能。

任何想法如何解决这个问题?

回答

0

如果您持有缓冲区 太长时间,相机可能会停止传送帧。因此,样本缓冲区委托的回调必须快速。

设置alwaysDiscardsLateVideoFrames属性为YES (默认值)早,晚视频的高效丢帧

如果在处理过程中使用CoreGraphics中和/或OpenGL它们都与“BGRA'.You工作井可设置videoSettings属性以指定自定义输出格式。