一、前言

海康sdk显示实时视频流除了支持句柄方式以外,也支持回调的方式拿到每一张图片自己绘制处理,当然回调除了拿到视频数据,其实音频数据也一块拿到了,自行调用音频设备播放就行,关于海康sdk回调这块,还着实折腾了一阵子才搞定,可能最开始没有参照提供的demo以及没有彻底的搜索吧,只是单单看sdk的文档折腾来折腾去的,搞了一星期居然没搞定,后面找到了正确的办法才发现,原来就差一点点一丢丢呢,这又让我联想到很多事情,包括生活中的事情,不都是如此么?当你铆足了劲,试验搞了各种办法,快要精疲力尽放弃的时候,其实此时离成功就差一步了,真的就差那么一丢丢,处理生活中的很多事情也是如此,所以很多时候如果方向对了,坚持过努力过,还不行的话,再努力一把估计就ok了。

折腾了很久总结失败在哪里,调用NET_DVR_RealPlay_V40设置回调函数也是对的,回调函数里面也进去了,调用PlayM4_SetDecCallBackMend设置解码回调函数也是对的(这地方也着实折腾了一阵子,没想到还要用播放MP4的形式来处理),最后发现问题出在解码后的数据,数据也都是拿到了,默认是yv12的数据,如果需要转成image的话就需要做个转换,这个转换网上找了一堆的函数来测试,都失败了,后面找到一个yv12转rgb888格式的,终于可以了,我勒个去。

海康sdk回调流程:

  1. 调用NET_DVR_RealPlay_V40设置回调处理函数。
  2. 在回调处理函数RealDataCallBack中依次处理打开、播放、解码。

Qt音视频开发18-海康sdk回调相关推荐

  1. Qt音视频开发06-海康sdk内核linux客户端

    一.前言 海康sdk的示例在官方是提供了的,但是无论UI还是交互简直是宇宙无敌的垃圾,猜测应该是初学者编写的,估计练手用的,所以老早就想把这个linux支持集成到自己的示例中,既然已经支持了windo ...

  2. Qt音视频开发02-海康sdk解码(支持句柄/回调/GPU模式/支持win/linux)

    一.前言 为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设备还有很 ...

  3. Qt音视频开发01-共享解码线程(耗时一年/性能凶残/至臻完美)

    一.前言 大概在8年前就开始用ffmpeg做视频解码的显示,第一个版本就100行代码左右,功能极其简单,就是开个线程解码视频流转成图片发给主界面绘制.时间过得真快,从当初的一胎到现在二胎都上学了三胎计 ...

  4. Qt音视频开发44-实时人脸框

    一.前言 在人脸识别到以后,需要在实时视频上将所有人脸框绘制出来,一把来说识别人脸会有多种选择,一个是识别最大人脸,这种场景主要用于刷脸门禁,还有一种是识别所有人脸,这种场景主要用于人脸识别摄像机,就 ...

  5. Qt音视频开发27-Onvif设备搜索

    一.前言 最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成.做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大 ...

  6. Qt音视频开发49-通用截图截屏

    一.前言 采用了回调方式的视频通道,截图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_ta ...

  7. Qt音视频开发21-通用硬解码

    一.前言 硬件解码是图形芯片厂家提出的用GPU资源解码视频流的方案,与之相对的是软解,也就是传统的用CPU承担解码工作的方案:优点是效率高,功耗低.热功耗低,缺点是缺乏有力的支持(包括滤镜.字幕等), ...

  8. QT 音视频开发 基于gstreamer框架

    在音视频领域接触最多实现的方案通常是通过ffmpeg(PC和sever端居多)或者硬件厂家的的SDK实现特定硬件的编解码功能(机顶盒,电视等嵌入式设备).国内不太常用的解决方案gstreamer gs ...

  9. Qt音视频开发26-ffmpeg播放器

    一.前言 用ffmpeg来实现自己的播放器,这是一直以来的一个目标,之前的难点卡在音视频同步以及如何播放声音这两点(尽管之前已经进行过不少的尝试和探索,但是问题还是挺多,比如音视频同步不完美,有些文件 ...

最新文章

  1. [转]如果我有jQuery背景,我应该如何切换到AngularJS的思维模式?
  2. python语言标号_Python 编码为什么那么蛋疼?
  3. 经典日剧、电影、动漫
  4. oracle tabs作用,Oracle 中 table 函数的应用浅析
  5. Android Studio导入别人的module提示错误Plugin with id ‘com.jfrog.bintray‘ not found.
  6. Spark入门(三)Idea构建spark项目
  7. 具有CompletableFuture的异步超时
  8. 子类怎么继承父类方法中的变量_JavaOOP_04 封装 继承
  9. CF1109D Sasha and Interesting Fact from Graph Theory
  10. python导入data-Python通过load data导入MySQL数据
  11. 【power designer】使用power designer编辑pdm物理模型图时,为字段添加中文备注
  12. SAP BTP 简介以及演化历史
  13. NESSUS简介与安装
  14. Pillow 库简介
  15. python软件安装链接电视_Python爬虫程序:电视剧琅琊榜全集的自动化处理
  16. 如何将电脑的无线网通过有线分享给其他设备
  17. CloudSim Plus任务调度策略对比
  18. excel 文件工作表保护密码破解
  19. 禁止文件夹 icloud_如何更改Windows iCloud照片文件夹位置
  20. 你看到的好片子,原来藏着这么多黑科技……

热门文章

  1. 理解23种设计模式(php)
  2. 王争数据结构域算法之美实战题整理
  3. 尚学堂shopping的经验
  4. java solarsystem,桌面小游戏二:模拟太阳系solarSystem
  5. springboot + mybatis 简单实现
  6. wps分析工具库如何加载_亚马逊卖家如何通过库存加载工具表格删除SKU(一)
  7. setTimeout 导致的浏览器假死
  8. 亚马逊html添加特殊符号,亚马逊SES中的特殊字符
  9. 桂林理工计算机与科学转专业,2021年桂林理工大学大一新生转专业及入学考试相关规定...
  10. 南大通用安全数据库管理系统GBase 8s特性简介(一)