ビデオストリームから画像を保存したいのですが、セッションプリセットをAVCaptureSessionPresetPhotoに設定しましたが、デバイスの解像度が非常に低くなっています。3GSでテストしていますが、このプリセットは512x384のバッファーを返します。写真のプリセットをビデオ出力に適用できないことをドキュメントで確認しました。
これはビデオ出力ではサポートされていません
カメラバッファからの生データにも有効ですか?
ありがとう、アンドレア
ビデオストリームから画像を保存したいのですが、セッションプリセットをAVCaptureSessionPresetPhotoに設定しましたが、デバイスの解像度が非常に低くなっています。3GSでテストしていますが、このプリセットは512x384のバッファーを返します。写真のプリセットをビデオ出力に適用できないことをドキュメントで確認しました。
これはビデオ出力ではサポートされていません
カメラバッファからの生データにも有効ですか?
ありがとう、アンドレア
カメラ入力のビデオプレビューが必要で、それでもそこから静止画をキャプチャする場合は、AVCaptureStillImageOutputとAVCaptureVideoDataOutputの両方をキャプチャセッションに追加できます。ビデオプレビューでは、上記のように奇妙なサイズの小さいフレームが表示さ-captureStillImageAsynchronouslyFromConnection:completionHandler:
れますが、AVCaptureStillImageOutputでトリガーすることで完全な写真を取得できます。
写真を撮ることができる間、ビデオプレビューのこのサポートはiOS 4.3で静かに追加されたので、古いOSバージョンを実行しているデバイスはこれを行うことができないことに注意してください。
私の現在のケースであるiPhone7plusの場合、プリセットをに設定し、AVCaptureSessionPresetPhoto
ビデオストリームを出力として使用すると、解像度は自動的に1440 * 1080にダウングレードされます。ただし、これは画像出力(4032 * 3024)には影響しません。フロントカメラの場合は3088*2320、バックカメラの場合は3088*2320。
これは3/4アスペクト比で最高のビデオ解像度であるため、これは時々悪くないことに注意してください。