折腾了一个多月,终于调出来了。。。。。首先吐槽一下海康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下海康实时视频解码的更多相关文章

  1. Android海康监控视频调用demo

    一. 开发环境 1. 操作系统:windows7(X64) 2. 开发工具:eclipse adt Build: v22.2.1-833290 JDK7 android SDK 3. 客户端设备版本: ...

  2. android 移动网络实时抓包

    2G.3G环境,那就必须root进去tcpdump 方式抓. 准备: 一.root CF-auto-root: http://autoroot.chainfire.eu/ 需要清理全部数据,注意备份 ...

  3. 用ADB(Android Debug Bridge)实时监测Android程序的运行

      监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...

  4. Java实现Android,iOS设备实时监控

    Java实现Android设备实时监控 设计思路: 第一,启动一个实时截图线程,负责实时截取Android设备屏幕,保存到本地路径. 第二,在JSP页面,定义一个img对象,实时更换img对象的src ...

  5. 基于Socket的Android手机视频实时传输

    首先,简单介绍一下原理.主要是在手机客户端 (Android)通过实现Camera.PreviewCallback接口,在其onPreviewFrame重载函数里面获取摄像头当前图像数据, 然后通过S ...

  6. Android平台Camera实时滤镜实现方法探讨(三)--通过Shader实现YUV转换RBG

    http://blog.csdn.net/oshunz/article/details/50055057 文章例如该链接通过将YUV分成三个纹理,在shader中取出并且经过公式变换,转换成RGB.我 ...

  7. 在Android中使用实时调度(real-time)

    Linux的线程调度策略中有FIFO和RT的实时调度方法,但是在Android中做了限制,普通用户不能修改线程的调度算法为FIFO和RT,必须ROOT用户才能更改.但问题是程序是以普通用户启动和运行的 ...

  8. android studio学习---实时布局(Live Layout)

    Android Studio中的实时布局功能允许大家在无需将应用程序运行在设备或者模拟器中的前提下,直接预览应用的用户界面.实时布局是一款极为强大的工具,能够帮助开发者节约大量时间.在实时布局的帮助下 ...

  9. android 入门-Service实时向Activity通过BroadcastReceiver传递数据

    引文: http://www.cnblogs.com/linjiqin/p/3147764.html <RelativeLayout xmlns:android="http://sch ...

随机推荐

  1. Mac下安装zshell

    Mac 下安装zshell 什么是shell 大多数命令行用户接触最多的是Bash,因为Bash是各个版本操作系统(Linux&Mac)的默认shell. 查看当前使用的shell $ ech ...

  2. centos网卡错误Device eth0 does not seem to be present

    在使用vmware及VirtualBox迁移linux系统过程中,发现部署后的linux系统无法启动网卡 报错为 Bringing up interface eth0: Device eth0 doe ...

  3. paip.操作符重载的缺失 Java 的一个大缺点

    paip.操作符重载的缺失 Java 的一个大缺点 #----操作符重载的作用 1.提升用户体验 操作符重载..可以让代码更加自然.... 2.轻松实现代码代码移植 例如   java代码会直接移植到 ...

  4. PHP常用函数封装

    //二分查找function bin_sch($array, $low, $high, $k){    if ($low <= $high) {        $mid = intval(($l ...

  5. untiy数据包的输出、加载和卸载

    1:untiy数据包的输出: BuildPipeline.BuildAssetBundle将任意类型的资源打包成AssetsBundle文件. BuildPipeline.BuildAssetBund ...

  6. Tomcat日志输出在linux和windows差异

    tomca日志保存在${catalina}/logs目录下: 主要包括五类文件,开发测试常使用的日志主要保存在catalina.localhost日志中,且每天生成独立日志文件,结尾以日期命名,方便查 ...

  7. Ninx虚拟主机的配置

    1.配置ip ifconfig eth0 192.168.1.7 netmask 255.255.255.0 ifconfig eth0 192.168.1.17 netmak 255.255.255 ...

  8. JNI开发示例

    安装:eclipse(http://www.eclipse.org/).CDT(C/C++ Development Tooling).ADT(Android Development Tools) ht ...

  9. HTML解析组件HtmlAgilityPack使用

    HtmlAgilityPack是一个开源的解析HTML元素的类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手.目前 ...

  10. git在分支上创建目录和文件

    创建一个空目录,在其中初始化git git init 创建一个新文件,此时默认在master分支上 touch file1.txt add到staging area git add file1.txt ...