
android 摄像头出来的格式怎么会是yuv420p 而不是yuv420sp(nv21)呢? 20
如题:网上都说手机出来的是yuv420sp格式,我看了getSupportPreviewFormats也是支持yuv420sp的(代码是17,也就是imageFormat...
如题: 网上都说手机出来的是yuv420sp格式,我看了getSupportPreviewFormats也是支持yuv420sp的(代码是17,也就是imageFormat的nv21)...
问题来了,今天用了一下中兴u880手机,用ffmpeg转码preview出来的数据,用nv21解码死活不正确,后来我把preview的数据保存成本地文件,用Elecard YUV Viewer看了下,发现全都是yuv420p格式的。。。
也就是说虽然u880手机虽然支持yuv420sp(看getSupportPreviewFormats有他),而且我也设置了setPreviewFormat(ImageFormat.NV21),但是。。。出来的图像仍然是yuv420p格式的
各位大侠,你们碰到过这种类似情况吗?就是手机出来的图像不是设置的yuv420sp,而是yuv420p!这个是手机的bug还是操作系统的bug..
如果出现了上面那种情况。。。如何判断到手的数据到底是什么格式的啊。。。。 展开
问题来了,今天用了一下中兴u880手机,用ffmpeg转码preview出来的数据,用nv21解码死活不正确,后来我把preview的数据保存成本地文件,用Elecard YUV Viewer看了下,发现全都是yuv420p格式的。。。
也就是说虽然u880手机虽然支持yuv420sp(看getSupportPreviewFormats有他),而且我也设置了setPreviewFormat(ImageFormat.NV21),但是。。。出来的图像仍然是yuv420p格式的
各位大侠,你们碰到过这种类似情况吗?就是手机出来的图像不是设置的yuv420sp,而是yuv420p!这个是手机的bug还是操作系统的bug..
如果出现了上面那种情况。。。如何判断到手的数据到底是什么格式的啊。。。。 展开
4个回答
展开全部
那是因为你在相机参数初始化的时候未设置,加上这个就可以了
List<Integer> formatsList = parameters.getSupportedPreviewFormats(); //获取设备支持的预览format
if(formatsList.contains(ImageFormat.NV21))
parameters.setPreviewFormat(ImageFormat.NV21); //设置预览格式为NV21,默认为NV21
if(formatsList.contains(ImageFormat.JPEG))
parameters.setPictureFormat(ImageFormat.JPEG); //设置照片储存格式
List<Integer> formatsList = parameters.getSupportedPreviewFormats(); //获取设备支持的预览format
if(formatsList.contains(ImageFormat.NV21))
parameters.setPreviewFormat(ImageFormat.NV21); //设置预览格式为NV21,默认为NV21
if(formatsList.contains(ImageFormat.JPEG))
parameters.setPictureFormat(ImageFormat.JPEG); //设置照片储存格式
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
展开全部
将摄像头采集的YUV格式的数据,通过libjpeg库转换为jpg格式的图片,出...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相机模组只支持420P输出,即时配置了420Sp也没用 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
高深哦 不懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询