解决安卓UVCCamera YUY2格式花屏,MTK无法出视频等问题

博客介绍了在维护UVCCamera项目时遇到的兼容性问题,包括摄像头识别、YUY2格式花屏以及MTK平台上的视频问题。通过逐步排查,作者解决了YUY2格式的逻辑缺失、通道参数设置不当导致的绿屏问题,并调整参数以适应MTK设备。项目源码已开源,可供参考。
摘要由CSDN通过智能技术生成

我基于uvccamera项目做了些改动,由于原作者不维护了,原项目暴露了很多问题,所以我基于作者的项目,做了修改并重建项目开源发布. 地址为:https://github.com/tsinglink/uvccamera

在维护过程中,我们小心翼翼地进行测试,但是也还是会遇到用户反馈的问题, 摄像头打不开,花屏,绿屏,摄像头不识别,没有视频帧… 这也从侧面说明这个东西的兼容性是比较难以搞定的.需要进行大量测试和适配.

问题1

摄像头A非常稳定,在小米,基于MTK的执法仪,三星三款设备上测试都没有啥问题(测试了一款华为手机不识别,估计是这个手机配置较低端,根本就不支持OTG);但是另一款摄像头B,在这些设备上都无法识别… 而用shenyao的程序却可以完美运行.

虽然很失落,但起码证明了跟摄像头没有关系,B摄像头理论上也是可以的. 于是跟进再跟进,发现B摄像头的格式为YUY2格式,之前我们为了适配A摄像头,删减了一部分看不懂的代码,把YUY2格式的逻辑给去掉了! 加回来果然可以识别了,出画面了.

问题2

问题1解决后,兴高采烈地试了试,发现MJPEG没有任何问题,但是YUY2的视频画面居然是不是搞个半边绿屏,如图所示:
在这里插入图片描述
再继续查,a thousand years later ,发现有个通路参数改小了,不一定严谨:可能是由于uvc多个通道进行传输,这个通道数过低后,就会导致数据丢失.现象就是半边绿屏, OK改大试试?

果然,改大后,在高通上面OK了.

问题3

远没有想象中那么简单, 问题2解决后,mtk平台一试,发现不仅YUY2的没有画面,而且MJPEG也不行了,也没有画面了.所以,这个值也不可以改的太大? 估计有些低端的设备,尤其是MTK的设备,把这个值设大

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值