Android下海康实时视频解码
折腾了一个多月,终于调出来了。。。。。首先吐槽一下海康SDK,同时也感谢之。。。
手头有个项目,需要实时抓取海康摄像头,我是在Android下实现的,海康官网上没有Android
SDK,这里友情提醒一下,大家在官网上给海康一个电话就搞定了的。。。我手头有,但既然海康不放网页上,要让自己索取,那我也就不乱上传了,尊重海康
吧。。。反正一个400 ,约2个小时就由到邮件了的。。。
收到SDK后,里面有个Demo,我直接运行Demo是没有问题的,可以在Android下实时预览摄像头,但我需要把实时画面抓取下来传给
OpenCV库,进行后期的图像分析,提供的SDK里面有抓取Bmp、JPEG函数,但是确实如网友说的有延迟,得用方法二(下面附了相关网址,大家详细
可以自己看,我也是参考了它的):http://blog.csdn.net/wanghuiqi2008/article/details/31404571;
思路是在RealPlayCallBack中设置DecodeCB解码回调函数,然后在DecodeCB解码回调函数中进行抓图处理,比如把图像数据保存
到二进制文件中,然后就可以播放了。。。这里Decode得到的图像是YV12数据,我的需求是把它转换成RGB,反正都好办了。。。。DecodeCB
函数的说明大家可以看看:
根据上面的说明,很简单了。。。。。但是、但是、但是……坑爹的事来了,我折腾了一个月,总以为自己的程序出错,反复检查DecodeCB回调的第
二个参数“byte[] data“这个图像数组有几十万个元素,但每个元素都是0……也就是说回调里面实际上是没有数据的。。。。
而同时,海康的SDK说明又太”简扼明要“,百度、Google也找不到相关说法,最后我只有给海康SDK发邮件咨询了(就是直接回复给发SDK给
我那个邮箱)。报着尝试的心理(因为有加了几个海康开发群,都说电话不接、邮件不回),居然很快就回复了,经过多次沟通,他给我发了两次SDK更新文件
(要替换so文件)。历经千辛万苦,终于有数据了,然后我无论是Save成YUV文件、转码成RGB都OK了。。。
所以一开始我说,吐槽海康,M的提供个SDK居然不测试么?但是SDK_Support这邮箱还是回复很神速的,所以我也很感谢之。。。
最后可能会有朋友想跟我要SDK开发包,我还是不传了,我也不知海康为何不直接在网站上提供Android的SDK,大家就麻烦一下,去个电话吧,只是会让你报一个单位名称,很简单的。
Android下海康实时视频解码的更多相关文章
- Android海康监控视频调用demo
一. 开发环境 1. 操作系统:windows7(X64) 2. 开发工具:eclipse adt Build: v22.2.1-833290 JDK7 android SDK 3. 客户端设备版本: ...
- android 移动网络实时抓包
2G.3G环境,那就必须root进去tcpdump 方式抓. 准备: 一.root CF-auto-root: http://autoroot.chainfire.eu/ 需要清理全部数据,注意备份 ...
- 用ADB(Android Debug Bridge)实时监测Android程序的运行
监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...
- Java实现Android,iOS设备实时监控
Java实现Android设备实时监控 设计思路: 第一,启动一个实时截图线程,负责实时截取Android设备屏幕,保存到本地路径. 第二,在JSP页面,定义一个img对象,实时更换img对象的src ...
- 基于Socket的Android手机视频实时传输
首先,简单介绍一下原理.主要是在手机客户端 (Android)通过实现Camera.PreviewCallback接口,在其onPreviewFrame重载函数里面获取摄像头当前图像数据, 然后通过S ...
- Android平台Camera实时滤镜实现方法探讨(三)--通过Shader实现YUV转换RBG
http://blog.csdn.net/oshunz/article/details/50055057 文章例如该链接通过将YUV分成三个纹理,在shader中取出并且经过公式变换,转换成RGB.我 ...
- 在Android中使用实时调度(real-time)
Linux的线程调度策略中有FIFO和RT的实时调度方法,但是在Android中做了限制,普通用户不能修改线程的调度算法为FIFO和RT,必须ROOT用户才能更改.但问题是程序是以普通用户启动和运行的 ...
- android studio学习---实时布局(Live Layout)
Android Studio中的实时布局功能允许大家在无需将应用程序运行在设备或者模拟器中的前提下,直接预览应用的用户界面.实时布局是一款极为强大的工具,能够帮助开发者节约大量时间.在实时布局的帮助下 ...
- android 入门-Service实时向Activity通过BroadcastReceiver传递数据
引文: http://www.cnblogs.com/linjiqin/p/3147764.html <RelativeLayout xmlns:android="http://sch ...
随机推荐
- jenkins插件 查看job修改历史
文章来自:http://www.ciandcd.com文中的代码来自可以从github下载: https://github.com/ciandcd 插件jobConfigHistory(https:/ ...
- Web开发者的六个代码调试平台
代码调试平台是Web开发者进行开发.测试.分享.协作和交流的网络应用,它们支持实时的编辑.预览HTML.CSS和JavaScript的客户端代码.这些代码调试平台最值得称道的地方在于,它们中的大多数都 ...
- paip.2013年技术趋势以及热点 v3.0 cao
paip.2013年技术趋势以及热点 v3.0 cao 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.cs ...
- 看大众点评V9新版如何为O2O止血 带领行业下半场回归理性
前不久,美团点评CEO王兴提出的“中国互联网进入下半场”观点一直在持续发酵,并引发了整个互联网圈对于进入下半场该如何改革,如何迎战的深刻反思.在互联网的上半场,大家依托的是人口红利,但是到了下半场,用 ...
- Leetcode 125 Valid Palindrome 字符串处理
题意:判断字符串是否是回文字符串 先将所有的字母和数字字符保留,并将大写字母转化成小写字母,然后将字符串倒置,比较前后两个字符串是否相同. 该题最好的解法可以模仿 Leetcode 345 Rever ...
- 在Windows Server 2012的Task Scheduler里面配置自动发送邮件
最近在一台server上配置了每个周末备份数据库的定时任务,想顺手配置发送备份完成的邮件提醒我去Double Check一下备份结果. 悲剧地发现Send an email功能被新版的server给禁 ...
- 不能返回函数内部new分配的内存的引用
以前在开发电子秤接口动态库时,曾尝试在用于获取重量的函数外面定义一个字符串指针,然后作为参数传入函数内部,然后在函数内部new,用来输出函数执行过程中发生的错误.但是总是出错,没有找到原因,后来无意中 ...
- 微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package
开篇介绍 在做 ETL 项目的时候,往往很多 Package 的开发都是基于相同的模型和流程.比如在 Package 开始运行时需要向 Process Log 表中插入记录,在 Package 运行结 ...
- Unity 5.4 测试版本新特性---因吹丝停
原文:http://blogs.unity3d.com/2016/03/15/enhanced-visuals-better-performance-and-more-the-unity-5-4-pu ...
- Installing Oracle and ArcSDE on separate servers
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002n0000000q000000