微信公众号:Android部落格

个人网站:chengang.plus/

文章最初发布在CSDN

1、知识点

Android作为host端控制云台摄像头整个实现过程中涉及了Android kernel底层UVC部分,Android kernel代码的编译,USB协议,Android JNI方面的知识。

2、背景

刚开始项目提出这个需求的时候,想到的是通过Android原生的USB API 去控制外接的USB PTZ摄像头,因为大多数的云台摄像头支持pelco-d或是pelco-p协议,而Android提供的接口可以传递byte[]类型的参数过去,设想通过这种方式实现控制。现在回想起来这个方法真是too young to naive。因为Android kernel层是通过UVC(usb video class)协议取控制摄像头PTZ,需要走这一套逻辑才能实现。

3、思路

由此思路开始转到通过Android UVC来控制摄像头转动,但是google了大大小小的网站没有人做过这个东西,侧面也在一定程度上说明了需求足够操蛋。UVC在Android的kernel层,但是怎么去验证这个东西呢,就想到了有Ubuntu,而Ubuntu上面有一个工具uvcdyctrl 可以输入对应的参数控制摄像头,于是通过这个工具验证了在linux下控制云台转动的可能性。

紧接着要解决的是如何把这个可能性移植到Android上,从前期的实践看,是需要查看kernel层的实现,kernel层的参数是否实现了相对和绝对的控制;如果kernel层实现了,怎么把这个实现传递到app层面,让app可以输入参数控制转动。

现在思路很清晰了,就是打通从kernel到app的通道,实现控制,将app层的控制指令传递到kernel,由kernel将控制字节传递到硬件。

4、探索系列

接下来的文章是:

1、探索Android UVC协议;

2、研究UVC控制协议;

3、定制Android kernel UVC部分支持相对和绝对参数;

4、编写Android jni代码实现控制PTZ。

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[UVC系列1-Android盒子控制云台摄像头系列]http://www.zyiz.net/tech/detail-137412.html

Android盒子 摄像头,UVC系列1-Android盒子控制云台摄像头系列相关推荐

  1. android盒子 小米遥控,小米盒子遥控器手机版下载-小米盒子遥控器appv6.0.0 安卓版 - 极光下载站...

    小米盒子遥控器手机版介绍 小米盒子遥控是把手机变身家电遥控器的智能应用,摆脱遥控器限制,随时随地只要拿起手机就能轻松遥控.住酒店老板娘拿走空调遥控器?在机场遇到不喜欢看的电视节目?这都不是事儿,用小米 ...

  2. 小米盒子3增强版 android tv,小米盒子3增强版刷Android TV系统

    写在前面: 注意事项:1.一旦刷机完成,可能没有机会再刷回MIUI TV官方系统,且可能会失去保修,所以,请慎重决定! 请慎重决定! 请慎重决定! 2.有些图片我可能忘记拍摄,我会尽量补上 2019/ ...

  3. RK3399的Android系统驱动UVC摄像头

    Android studio版本 : 3.5.2 Android版本 :7.1 PC操作系统 :win10系统 摄像头: USB摄像头 参考项目:https://github.com/saki4510 ...

  4. Android 外接基于UVC协议的摄像头并实现预览

    先来一段从网上找到的理论知识,对UVC协议有初步的印象 UVC协议:USB Video Class,USB视频类,是一种为USB视频捕获设备定义的协议标准. Android 平台支持使用即插即用的 U ...

  5. android usb 投电视盒子,电脑还可以管理电视盒子?这样做就可以!

    使用智能电视的时间越长,电视盒子下载的软件就越来越多,这时怎样管理这些软件更方便呢?今天,小智就跟大家分享一个小妙招,利用电脑来轻松管理. 首先,我们可以将电视盒子连上电脑进行软件的管理.只需要准备一 ...

  6. android 盒子输入法不弹出来,Android EditText不弹出输入法焦点问题的总结

    看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属性:android:windowSoftInputMod ...

  7. Android音视频学习系列(九) — Android端实现rtmp推流

    系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...

  8. 小米8android系统版本,小米8系列获得Android P稳定版推送

    原标题:小米8系列获得Android P稳定版推送 集微网消息,今天有不少小米8系列用户收到了官方推送的基于Android P深度定制的MIUI10稳定版,让很多人感到惊喜,终于还是等来了,要知道早前 ...

  9. 做了一个系列的Android开发教程列表

    做了一个系列的Android开发教程列表.花了半天多的专题 里面包含了 4个系列的教程. 也包含了很多Android开发资料. 喜欢的人可以收藏哦:http://dev.apkbus.com/

最新文章

  1. bd9.1 MySQL 常见问题
  2. 控制车辆运行的19个神经元
  3. mysql 嵌入式_MySql移植到嵌入式Linux平台
  4. 操作系统实验报告1:ucore Lab 1
  5. redis常用集群方案汇总
  6. Python爬取“Python小屋”公众号所有文章生成独立Word文档
  7. 回收二手木料,是一个利润比较大的项目
  8. SQL Server 数据库身份认证以及包含数据库
  9. java textbox换行符_TextBox中的空格与换行问题
  10. 是几进制_10分钟带你了解什么是二进制
  11. 【Caffe安装】ImportError: No module named caffe 的解决方案
  12. iOS OC和Swift相互引用,测试在swift项目
  13. 用Python实现简单的人脸识别,10分钟搞定!(附源码)
  14. Isilon上数据是如何存放的?
  15. Java为什么不能写大型游戏?
  16. AUV运动控制仿真(PID控制)
  17. 配置thinkphp路由,隐藏index.php
  18. 力扣(647.516)补9.15
  19. 走进如心小镇,数智化变革连接“未来社区”
  20. 【转】中国正爆发聊天APP大战 未来或影响西方

热门文章

  1. buff系统 游戏中_游戏中的技能如何而来? 为ARPG设计一个好用的BUFF系统
  2. Nginx配置Linux服务器图片访问路径
  3. 仿SlidingMenu自定义QQ侧滑菜单
  4. 外勤人员管理的问题如何解决
  5. SQL注入漏洞提交报告(示例)
  6. SQL中drop table语句删除数据表
  7. 如何使用IntelliJ IDEA的Favorites来管理项目中的常用代码
  8. VMware Tools未更新导致vRA7自动化部署Windows虚拟机失败
  9. 第二波:HTML+CSS+JavaScript数据可视化大屏平台模板实例10大通用模板,面向各行各业
  10. 海驾学车过程全揭秘——第八篇:科目二集训及考试