随笔分类 -  Qt/C++音视频开发

摘要:一、前言 音频的保存相对来说比视频的要简单,具有通用性,不需要经过ffmpeg的编码,ffmpeg解码出来后一般会转换成pcm原始的数据用来播放,所以对数据直接写文件即可,但是这种格式是无法用播放器直接播放的,因为采样率、通道等参数未知,除非手动指定,所以就多出来一个wav格式,这个格式就是在pcm 阅读全文
posted @ 2022-12-04 15:27 飞扬青云 阅读(1007) 评论(2) 推荐(0) 编辑
摘要:文章 链接 1-vlc解码播放 https://qtchina.blog.csdn.net/article/details/107742836 2-vlc回调处理 https://qtchina.blog.csdn.net/article/details/107778390 3-vlc录像存储 ht 阅读全文
posted @ 2021-11-15 16:18 飞扬青云 阅读(220) 评论(0) 推荐(0) 编辑
摘要:一、前言 采用了回调方式的视频通道,截图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_take_snapshot传入保存路径即可,mpv的内核执行screenshot-to-file命令传入 阅读全文
posted @ 2020-11-24 08:55 飞扬青云 阅读(766) 评论(0) 推荐(0) 编辑
摘要:一、前言 把通用的视频控件搞定以后,后期增加新的内核方便多了,不需要在好多个文件复制粘贴之类的,接下来就是需要一个统一的类来管理视频监控系统中的16个通道或者32个通道,甚至64个通道也有可能,当然,通用通道管理也兼容各种监控内核,以前通道管理类,是每个内核写一个,也是很繁琐,大量的重复性代码,所以 阅读全文
posted @ 2020-11-20 12:45 飞扬青云 阅读(422) 评论(0) 推荐(0) 编辑
摘要:一、前言 自从视频监控系统的内核不断增加,从最初的vlc到ffmpeg然后到mpv,后面还陆续增加了海康sdk等,每次增加一个内核,整个视频监控系统就有三五个代码文件需要修改,而且大部分是重复的代码,通过define来区分不同的内核,所以重新整理了一个视频类,里面就define处理好了,提供了个公共 阅读全文
posted @ 2020-11-18 18:23 飞扬青云 阅读(708) 评论(0) 推荐(0) 编辑
摘要:一、前言 上篇文章写道采用的TCP传输视频,优缺点很明显,优点就是不丢包,缺点就是速度慢,后面换成UDP通信,速度快了很多,少了3次握手,而且在局域网中基本上不丢包,就算偶尔丢包,对于一秒钟25-30张图片来说,偶尔一张图片丢失,基本上看不出来,所以忽略,但是放到广域网或者互联网比如阿里云平台上测试 阅读全文
posted @ 2020-11-04 09:50 飞扬青云 阅读(1079) 评论(1) 推荐(0) 编辑
摘要:一、前言 做音视频开发,会遇到将音视频重新转发出去的需求,当然终极大法是推流转发,还有一些简单的场景是直接自定义协议将视频传出去就行,局域网的话速度还是不错的。很多年前就做过类似的项目,无非就是将本地的图片上传到服务器,就这么简单,其实用http的post上传比较简单容易,无需自定义协议,直接设置好 阅读全文
posted @ 2020-11-03 09:13 飞扬青云 阅读(748) 评论(0) 推荐(0) 编辑
摘要:一、前言 在人脸识别到以后,需要在实时视频上将所有人脸框绘制出来,一把来说识别人脸会有多种选择,一个是识别最大人脸,这种场景主要用于刷脸门禁,还有一种是识别所有人脸,这种场景主要用于人脸识别摄像机,就是将画面中的所有人脸识别出来发给服务器,人脸框的数据主要是四个参数,左上角和右下角的位置,也可以说是 阅读全文
posted @ 2020-11-01 16:23 飞扬青云 阅读(505) 评论(0) 推荐(0) 编辑
摘要:一、前言 上一篇文章写道人脸识别客户端程序,当然要对应一个服务端程序,客户端才能正常运行,毕竟客户端程序需要与服务端程序进行交互他才能正常工作。通常人脸识别服务端程序需要和人脸识别的相关处理库在一起,这样他接收到相关的处理需求以后比如人脸识别的处理请求,需要调用本地的人脸识别库来处理,处理完成以后拿 阅读全文
posted @ 2020-10-30 13:41 飞扬青云 阅读(351) 评论(0) 推荐(0) 编辑
摘要:一、前言 人脸识别客户端程序,不需要和人脸识别相关的库在一起,而是通过协议通信来和人脸识别服务端通信交互,人脸识别客户端和服务端程序框架,主要是为了提供一套通用的框架,按照定好的协议,实现人脸识别的相关处理,很多厂家都会有也都会做类似的机制,以便第三方厂家或者自家的其他设备按照这个通信协议来处理,比 阅读全文
posted @ 2020-10-29 09:08 飞扬青云 阅读(392) 评论(1) 推荐(0) 编辑
摘要:一、前言 大概几年前搞过一套嵌入式linux上的人脸识别程序,当然人脸识别的核心算法并不是自己开发的,关于人脸识别算法这一块,虽然有众多的开源库可以用,甚至还可以用opencv搞算法训练深度学习之类的,个人认为始终达不到准确度的要求,尤其是人脸比对的准确度,这个需要专业的人脸训练模型才行。目前市面上 阅读全文
posted @ 2020-10-28 08:57 飞扬青云 阅读(424) 评论(0) 推荐(0) 编辑
摘要:一、前言 上一篇文章写了在线调用人脸识别api进行处理,其实很多的客户需求是要求离线使用的,尤其是一些事业单位,严禁这些刷脸数据外泄上传到服务器,尽管各个厂家号称严格保密这些数据,但要阻止这些担心,唯一的解决办法就是设备离线使用,连个屁的网,不联网看你怎么上传,于是离线的人脸识别应用应运而生,比如我 阅读全文
posted @ 2020-10-27 09:25 飞扬青云 阅读(376) 评论(1) 推荐(0) 编辑
摘要:一、前言 关于人脸识别这块,前些年不要太火,哪怕是到了今天依然火的一塌糊涂,什么玩意都要跟人脸识别搭个边,这东西应该只是人工智能的一个很小的部分,人脸识别光从字面上理解就是识别出人脸区域,其实背后真正的处理是拿到人脸区域图片,提取人脸特征值,再用这些特征值去做比对分析处理,识别出到底是谁,国内厂家也 阅读全文
posted @ 2020-10-26 09:20 飞扬青云 阅读(410) 评论(0) 推荐(0) 编辑
摘要:一、前言 做嵌入式linux上的开发很多年了,扳手指头算算,也起码9年了,陆陆续续做过很过诸如需要读取外接的USB摄像头或者CMOS摄像机的程序,实时采集视频,将图像传到前端,或者对图像进行人脸分析处理,最开始尝试的就是QCamera来处理,直接歇菜放弃,后面通过搜索发现都说要用v4l2视频框架来进 阅读全文
posted @ 2020-10-21 12:52 飞扬青云 阅读(482) 评论(0) 推荐(0) 编辑
摘要:一、前言 用ffmpeg来处理USB摄像头,是前段时间研究视频监控ffmpeg内核的时候搞定的,既然ffmpeg这么牛逼的库可以解析各种音视频,我想处理个本地USB摄像头应该也不是什么难事,果真搜索也是一大堆,当然主要也是因为有个项目的应用需要用到ffmpeg来处理本地USB摄像头,需要拿到每张图片 阅读全文
posted @ 2020-10-20 18:55 飞扬青云 阅读(1128) 评论(0) 推荐(0) 编辑
摘要:一、前言 除了监控专用的摄像头以外,有一些应用场景用的还是USB摄像头,甚至还有一些单片机或者开发板上用的CMOS摄像头,而Qt在嵌入式领域应用相当广,所以用Qt来读取加载显示USB摄像头和CMOS摄像头,也是非常多Qter做过的事情,qt本身就封装了qcamera类,专用于本地摄像头的读取显示,这 阅读全文
posted @ 2020-10-18 09:24 飞扬青云 阅读(826) 评论(0) 推荐(0) 编辑
摘要:一、前言 视频中的图片的配置参数一般有亮度、饱和度、对比度、锐度等,以前一直以为这些需要通过厂家的私有协议SDK来设置才行,后面通过研究Onvif Device Manager 和 Onvif Device Test Tool 这两个onvif开发的必备工具以后,发现onvif协议也具备了修改 亮度 阅读全文
posted @ 2020-10-16 13:17 飞扬青云 阅读(334) 评论(0) 推荐(0) 编辑
摘要:一、前言 对设备设置时间很有必要,这个是必备的功能,毕竟大部分的前端设备比如摄像机本身不带BIOS电池的,所以没法存储时间,要么设置了NTP地址来同步时间,要么其他设备主动对他进行设置时间,如果时间不正确了,意味着本地画面显示的时间字符串,本地存储的视频录像文件等,都可能是不正确的,所以一般的处理是 阅读全文
posted @ 2020-10-14 15:53 飞扬青云 阅读(631) 评论(0) 推荐(0) 编辑
摘要:一、前言 一直都想搞个安卓版本的视频监控程序,很早以前弄过一个,采用的是早期的ffmpeg2的lib文件,对于现在众多的网络流媒体格式,支持有限,而且新的Qt编写安卓程序,结构上也变动了,新的安卓系统权限要求也和以前处理不一样了,现在需要动态授权,以前是直接配置文件写好需要哪些权限就行,所以近期特意 阅读全文
posted @ 2020-10-13 09:53 飞扬青云 阅读(554) 评论(0) 推荐(0) 编辑
摘要:一、前言 用onvif协议来对设备的网络信息进行获取和设置,这个操作在众多的NVR产品中,用的很少,绝大部分用户都还是习惯直接通过摄像机的web页面进去配置,其实修改网络配置的功能在大部分的NVR中都是具备的,网络的参数主要包括IP地址、子网掩码、网关地址、DNS解析地址、NTP地址、网卡信息、网络 阅读全文
posted @ 2020-10-12 08:41 飞扬青云 阅读(586) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示