折腾了一个多月,终于调出来了。。。。。首先吐槽一下海康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. 倔强的网站数据抓取,关键时刻还需Webbrowser显身手

    由于最近台风挺多,公司网站上需要挂上台风预报信息,就整了个抓取台风数据(至于抓数据的概念和实践手册我以前写的一篇博客里面有介绍:分享一套抓数据小程序,客户资料.实时新闻.股票数据…随心抓)的服务,做调 ...

  2. 根据配置文件加载js依赖模块(JavaScript面试题)

    面试题目 根据下面的配置文件 module=[ {'name':'jquery','src':'/js/lib/jquery-1.8.3.js'}, {'name':'swfobject','src' ...

  3. nodeJs开发app.js解析

    在 node.js 中模块分为核心模块和文件模块两种,核心模块是通过 require('xxxx') 导入的,文件模块是以 require('/xxxx') 或 require('./xxxx').r ...

  4. PHP读取大文件的几种方法介绍

    读取大文件一直是一个头痛的问题,我们像使用php开发读取小文件可以直接使用各种函数实现,但一到大文章就会发现常用的方法是无法正常使用或时间太长太卡了,下面我们就一起来看看关于php读取大文件问题解决办 ...

  5. avalon实现一个简单的带增删改查的成绩单

    自从angular问世,一直就有去了解学习angular,一直想用angular去做一个项目,但无奈,大ng是国外产物,ng1.2版本就只兼容到IE8,1.3后的几个版本提升到IE9,据说NG2.0更 ...

  6. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. C#中的串口通信

    关于串行接口 串行接口(Serial port)又称“串口”,主要用于串行式逐位数据传输.常见的有一般电脑应用的RS-232(使用 25 针或 9 针连接器)和工业电脑应用的半双工RS-485与全双工 ...

  8. Language

    TODO Java(jdk8),Scala,Spring,Spark,Python,Linux,C,Netty,HttpClient,Hadoop YARN,RaspberryPi Jetty,Tom ...

  9. When cloning on with git bash on Windows, getting Fatal: UriFormatException encountered

    I am using git bash $ git --version git version .windows. on Windows 7. When I clone a repo, I see: ...

  10. 迅美VPS安装和配置MySQL数据库教程

    MySQL相关教程与知识:    迅美VPS安装和配置MySQL数据库教程    navicat8管理MySQL教程-创建数据库和导入数据    navicat8管理MySQL教程-管理建立用户和分配 ...