Oli*_*nes 11 format camera unity-game-engine ios arkit
我的Unity应用程序将相机Feed用于应用程序使用的多个系统; 例如Vuforia,ARKit和一般相机输入输入.
我遇到的问题是每个请求都有不同的像素格式,这似乎会导致ARKit出现问题.这需要YUV,我不知道如何原生地将相机像素格式切换回来.所以当我尝试在其他人之后启动ARKit时,我得到了这个错误;
2017-08-21 08:51:38.749452 + 0100 ar_app [399:105849] [传感器]不支持的像素格式:875704438
2017-08-21 08:51:38.749876 + 0100 ar_app [399:105849] [会话]会话失败并显示错误:错误Domain = com.apple.arkit.error Code = 104"不支持的捕获会话配置."
UserInfo = {NSLocalizedRecoverySuggestion =确保正在使用正确的设备和格式进行捕获.
NSLocalizedDescription =不支持的捕获会话配置.,
NSLocalizedFailureReason =给定配置不支持所提供捕获会话的输入设备和/或格式.}
至少,这就是我认为的问题; 它没有获得YUV中的格式.任何帮助将非常感激..谢谢.
YUV是一种色彩空间,有多种格式。
\n\n\n\n\nar_app[399:105849] [传感器] 不支持的像素格式:875704438
\n
875704438转换为420v(NV12)或kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange:
kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange = \'420v\'\nRun Code Online (Sandbox Code Playgroud)\n\n所以你实际上有一个 YUV 像素格式,特别是具有视频范围的双平面。
\n\nARKit文档确实提到了双平面 YUV 格式,但没有提到范围类型:
\n\n\n\n\n像素缓冲区\xe2\x80\x99s内容以双平面YCbCr(也称为YUV)数据格式编码
\n
然而,Unity ARKit 插件会在didUpdateFrame中检查kCVPixelFormatType_420YpCbCr8BiPlanarFullRange:
\n\n if (CVPixelBufferGetPlaneCount(pixelBuffer) < 2 || CVPixelBufferGetPixelFormatType(pixelBuffer) != kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) {\n return;\n }\nRun Code Online (Sandbox Code Playgroud)\n\n所以总而言之,它可能不喜欢它不是全范围的事实,但我没有简单的方法来测试它。如果相机和其他模块支持,也许您可以尝试强制全范围。
\n| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |