2017-08-21 13 views
12

My Unityアプリケーションは、そのアプリケーションが使用する複数のシステムにカメラフィードを使用します。 Vuforia、ARKit、およびちょうど一般的なカメラフィード入力などがあります。iOS;サポートされていないピクセル形式

問題は、これらのそれぞれが別のピクセル形式を要求し、ARKitの問題を引き起こすように見えることです。これにはYUVが必要です。カメラのピクセル形式を元に戻す方法はわかりません。だから、私は他の人の後にARKitを起動しようとするとこのエラーが出る。

2017-08-21 08:51:38.749452+0100 ar_app[399:105849] [Sensor] Unsupported pixel format: 875704438

2017-08-21 08:51:38.749876+0100 ar_app[399:105849] [Session] Session did fail with error: Error Domain=com.apple.arkit.error Code=104 "Unsupported capture session configuration."

UserInfo={ NSLocalizedRecoverySuggestion=Make sure that the correct device and format are being used for capture.,

NSLocalizedDescription=Unsupported capture session configuration.,

NSLocalizedFailureReason=Input device and/or format of the provided capture session are not supported for the given configuration. }

少なくとも、問題は私が思うところです。それはYUVでフォーマットを取得していないということです。どんな助けでも大歓迎です。 。おかげさまで

答えて

2

YUVは複数のフォーマットがあります。

ar_app[399:105849] [Sensor] Unsupported pixel format: 875704438

875704438420vNV12)またはkCVPixelFormatType_420YpCbCr8BiPlanarVideoRangeに変換:

kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange = '420v' 

ですから、実際にYUVピクセルフォーマット、ビデオ範囲と特異的に二平面を持っています。ユニティARKitプラグインはdidUpdateFramekCVPixelFormatType_420YpCbCr8BiPlanarFullRangeのチェックを行いますが

The pixel buffer’s contents are encoded in a biplanar YCbCr (also called YUV) data format

if (CVPixelBufferGetPlaneCount(pixelBuffer) < 2 || CVPixelBufferGetPixelFormatType(pixelBuffer) != kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) { 
     return; 
    } 

だから、結論に

ARKit docsは二平面YUVフォーマットではなく、範囲の種類に言及しませんそれは完全な範囲ではないという事実を好まないかもしれませんが、私はそれをテストする簡単な方法がありません。たぶん、カメラと他のモジュールがそれをサポートしていれば、フルレンジを試すことができます。

+0

ご協力いただきありがとうございます。どのようにフルレンジを強制するのですか?私はネイティブのxcode開発者ではありません。 –

+0

@OliverJones申し訳ありませんが、私も。この設定はARKitでは公開されていないようです。 Vuforiaでは[YUV](https://library.vuforia.com/articles/Solution/Working-with-the-Camera#How-To-Access-the-Camera-Image-in-Unity)を設定できますが、それがどんな種類のYUVフォーマットを使用しているかを言う。これは、ARKitが実際に報告するもので、何か他のものの副作用ではないという根本的な問題があると仮定しています(カメラデバイスがリリースされていない、その他のバグ)。 – aergistal

0

.jpg画像はもう使用しないでください。 iOSでは.png画像を使用する必要があります。 Swift 4とXCode 9 Betaで同じ警告/エラーが発生しました。

+0

どうすればいいですか?そのネイティブARKitを呼び出す。 –

関連する問題