1

私の iPhone アプリで、動画を録画形式 (HD) から低解像度 (320x240) に変換したいのですが、30fps のフレーム レートを維持したいと考えています。

現在、AVAssetExportPreset を使用して変換していますが、使用できる値は次のとおりです。

AVAssetExportPresetLowQuality
AVAssetExportPresetMediumQuality
AVAssetExportPresetHighestQuality

AVAssetExportPreset640x480
AVAssetExportPreset960x540
AVAssetExportPreset1280x720
AVAssetExportPreset1920x1080

これらのどれも私の要件に一致していないようです。低に近づいていますが、ビットレートが非常に低く、フレーム レートが 15 fps に強制されますが、これは良くありません。

可能であれば、ハードウェア アクセラレーション ライブラリを使用してこれを実現したいと考えています。

これを解決する方法はありますか?

4

2 に答える 2

0

ビデオを目的のサイズおよび目的の品質に変換するには、GPUImageを使用します。

于 2013-04-24T05:18:18.773 に答える
0

バッファを長時間保持しすぎると、カメラがフレームの配信を停止する場合があります。したがって、サンプル バッファ デリゲートのコールバックは高速でなければなりません。

遅いビデオ フレームを早期に効率的に削除するには、alwaysDiscardsLateVideoFrames プロパティを YES (デフォルト) に設定します。

処理中に CoreGraphics や OpenGL を使用している場合、どちらも 'BGRA' でうまく機能します。videoSettings プロパティを設定して、カスタム出力形式を指定できます。

于 2013-04-26T17:27:02.127 に答える