随笔分类 -  Qt/C++音视频作品

摘要:一、前言 海康sdk的示例在官方是提供了的,但是无论UI还是交互简直是宇宙无敌的垃圾,猜测应该是初学者编写的,估计练手用的,所以老早就想把这个linux支持集成到自己的示例中,既然已经支持了windows的版本,对于linux版本只需要引入linux上的sdk的库即可。官方的sdk开发库也是不断更新 阅读全文
posted @ 2022-12-19 11:12 飞扬青云 阅读(343) 评论(0) 推荐(1) 编辑
摘要:一、前言 花了一年多的时间,终于把这个超级播放器做成了自己想要的架构,用户的需求是一方面,自己架构方面的提升也是一方面,最主要是将界面和解码解耦了,这样才能动态的挂载不同的解码内核到不同的视频监控窗体,多对多关系,而且解耦和才能方便的实现共享解码,整个设计参照了Qt的设计思路,将各种功能做成不同的类 阅读全文
posted @ 2022-12-08 13:46 飞扬青云 阅读(840) 评论(0) 推荐(0) 编辑
摘要:一、前言 和音频存储类似,视频的存储也对应三种格式,视频最原始的数据是yuv(音频对应pcm),视频压缩后的数据是h264(音频对应aac),由于很多播放器或者早期的播放器不支持直接播放h264文件,所以需要用编码器编码成mp4格式,这块就需要用到ffmpeg里面一整套的编码流程,对yuv数据进行编 阅读全文
posted @ 2022-12-06 09:27 飞扬青云 阅读(1394) 评论(0) 推荐(0) 编辑
摘要:一、前言 音频的保存相对来说比视频的要简单,具有通用性,不需要经过ffmpeg的编码,ffmpeg解码出来后一般会转换成pcm原始的数据用来播放,所以对数据直接写文件即可,但是这种格式是无法用播放器直接播放的,因为采样率、通道等参数未知,除非手动指定,所以就多出来一个wav格式,这个格式就是在pcm 阅读全文
posted @ 2022-12-04 15:27 飞扬青云 阅读(1007) 评论(2) 推荐(0) 编辑
摘要:一、功能特点 广播搜索设备,支持IPC和NVR,依次返回。 可选择不同的网卡IP进行对应网段设备的搜索。 依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。 可对指定的Profile获取视频流Rtsp地址,比如主码流地址、子码流地址。 可对每个设备设置Onvif用户信息,用于 阅读全文
posted @ 2022-11-20 13:51 飞扬青云 阅读(439) 评论(0) 推荐(0) 编辑
摘要:一、前言 用ffmpeg做倍速播放,是好多年都一直没有实现的功能,有个做法是根据倍速参数,不断切换播放位置,实现效果不是很好,ffplay中的倍速就做得很好,而且声音无论倍速多少还非常柔和,有特别的降噪处理啥的,ffplay中的倍速使用的滤镜去实现,并动态调整pts/dts的值,整个处理过程看起来比 阅读全文
posted @ 2022-11-17 15:03 飞扬青云 阅读(1104) 评论(0) 推荐(0) 编辑
摘要:一、前言 为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设备还有很多特殊的处理,这些处理和视频播放无关的,基本上不同的厂家设备都不同的处理,都是私有协议去处理,比如雨 阅读全文
posted @ 2022-11-15 09:51 飞扬青云 阅读(849) 评论(0) 推荐(0) 编辑
摘要:一、前言 在经过多种内核的洗礼以后,逐渐对不同内核的不同音视频文件和视频流进行大量的对比测试,比如测试对各种格式的支持性,对各种网络流的支持程度,在同一个地址下占用的CPU/GPU资源比对,最终发现播放器这块mpv优于vlc(可能vlc的插件太过于庞大臃肿),尤其是对8K视频的支持,Qt自身的QMe 阅读全文
posted @ 2022-11-13 11:13 飞扬青云 阅读(597) 评论(0) 推荐(0) 编辑
摘要:一、前言 在windows上的视频流播放器有很多,而且各个监控厂家无论大厂还是小厂,基本上都提供了客户端,甚至很多第三方的监控平台软件厂商,也都提供了windows的版本,基本的都没有提供linux版本和mac系统版本,在当下国产操作系统(以linux内核为主)强势推进的大环境下,越来越多的需求是需 阅读全文
posted @ 2022-11-11 10:58 飞扬青云 阅读(599) 评论(0) 推荐(0) 编辑
摘要:一、前言 内核ffmpeg除了支持本地文件、网络文件、各种视频流播放以外,还支持打开本地摄像头,和正常的解析流程一致,唯一的区别就是在avformat_open_input第三个参数传入个AVInputFormat参数,这个参数用于指定输入设备的格式,不同系统对应不同的格式名称,windows上是d 阅读全文
posted @ 2022-11-10 09:11 飞扬青云 阅读(1026) 评论(0) 推荐(0) 编辑
摘要:一、前言 很早以前就做过这款播放器的入门版本,最开始用的ffmpeg去解析,后面陆续用vlc播放器、mpv播放器来做,毕竟播放器提供的接口使用也很方便,而且功能强大,后面发现播放器主要的应用场景是播放视频文件,一般一个电脑不会超过8路视频文件同时播放器,一般就是1路,所有如果需要打开超过16路这种的 阅读全文
posted @ 2022-11-08 13:42 飞扬青云 阅读(1277) 评论(0) 推荐(0) 编辑
摘要:一、前言 之前就对代码的兼容性做了很好的处理,所以只要开发环境正常,基本的在其他系统比如手机端或者嵌入式linux上重新编译代码即可,最大的难点变成了如何交叉编译对应系统的ffmpeg库,这个在网上有很多的文章专门写这个,编译安卓版本也是需要借助谷歌提供的安卓编译器先把ffmpeg的安卓版本编译好, 阅读全文
posted @ 2022-11-07 09:24 飞扬青云 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、前言 大概在8年前就开始用ffmpeg做视频解码的显示,第一个版本就100行代码左右,功能极其简单,就是开个线程解码视频流转成图片发给主界面绘制。时间过得真快,从当初的一胎到现在二胎都上学了三胎计划中。经过了数十年的不断迭代,客户需求的不断变更,中间经历过三五个大版本的迭代,形成现在的版本,本次 阅读全文
posted @ 2022-11-06 14:44 飞扬青云 阅读(267) 评论(0) 推荐(0) 编辑
摘要:一、功能特点 自动计算音频振幅,绘制音频振幅曲线和音频数据曲线。 支持音频录制,可选音频输入设备、采样频率、通道等参数,Qt5默认保存wav格式,Qt6默认保存mp3格式,Qt6可选wma、aac等格式。 提供音频发送示例,将采集到的音频数据通过TCP或UDP发出去。 提供音频接收示例,将网络TCP 阅读全文
posted @ 2022-11-03 13:12 飞扬青云 阅读(292) 评论(0) 推荐(0) 编辑
摘要:一、功能特点 同时支持 qcamera、ffmpeg、v4l2 三种内核解析本地摄像头。 提供函数 findCamera 自动搜索环境中的所有本地摄像头设备,搜索结果信号发出。 支持自动搜索和指定设备两种模式,自动搜索模式下会将搜索到的第一个设备作为当前设备打开。 支持同时打开多路设备,亲测4路,受 阅读全文
posted @ 2022-11-01 12:54 飞扬青云 阅读(559) 评论(0) 推荐(0) 编辑
摘要:一、功能特点 1.1 基础功能 支持各种音频视频文件格式,比如mp3、wav、mp4、asf、rm、rmvb、mkv等。 支持本地摄像头设备,可指定分辨率、帧率。 支持各种视频流格式,比如rtp、rtsp、rtmp、http等。 本地音视频文件和网络音视频文件,自动识别文件长度、播放进度、音量大小、 阅读全文
posted @ 2022-10-27 21:07 飞扬青云 阅读(970) 评论(0) 推荐(0) 编辑

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