自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

藏经阁

寒江孤影,江湖故人,相逢何必曾相识

  • 博客(27)
  • 资源 (20)
  • 收藏
  • 关注

原创 C++ log4cplus完整示例与运行测试

在使用C++开发项目时,需要看程序的运行信息,可以自己写个log类,也可以用开源的,自己写的可能没有成熟的开源log功能好,本篇博客介绍log4cplus的在win10 VS2017上的编译与使用。 下面开始介绍log4cplus的编译与使用。1. 下载源码 log4cplus链接:https://sourceforge.net/projects/lo...

2019-12-29 22:14:54 1238

原创 VS Qt开发的软件给exe添加图标

新建一个.rc文件,随便取名字,例如“logo.rc”, 添加以下内容IDI_ICON1 ICON DISCARDABLE "./Resources/demo.ico" 我是把demo.ico文件放到了程序的Resources目录,所以这样写,把logo.rc放到程序目录,然后在VS中把rc,ico文件添加进来,在Resources Files上右键添加现有...

2019-12-28 18:11:55 542

原创 Qt开发的软件如何全屏显示

可以用以下API实现showFullScreen(); //全屏,窗口底部任务栏没有了showMaximized(); //最大化显示,有底部任务栏 注意:以上对顶级窗口有效果,对子窗口无效。...

2019-12-28 17:30:01 860 1

原创 CentOS各版本下载链接

CentOS 官网下载地址:http://vault.centos.org/ 比如下载7.6版本 打开后,找到isos 点开isos后会看到x86_64, 点击进入,即可看到下载链接了 现在的centos都是64位版本了,32位的要下载低版本的。 ...

2019-12-28 14:51:33 375

原创 Qt实现程序启动画面:QSplashScreen类

很多程序在启动的时候需要加载很多资源,为了避免用户的无聊,都使用启动画面,在程序加载结束后,启动画面消失。在Qt中使用QSplashScreen类可以实现,例如,创建一个基于QMainWindow的程序,代码如下:/*Qt实现程序启动画面*/#include "StartScreen.h"#include <QtWidgets/QApplication&g...

2019-12-26 23:10:49 589 3

原创 H.264标准简介

H.264/AVC是由国际电信联盟标准化组织(ITU-T)的视频图像专家组(VCEG)和国际标准化组织(ISO/IEC )的运动图像专家组(MPEG )共同组成的联合视频組(JVT)所开发的最新的视频编码标准,被称作ISO/IEC14496-10或MPEG-4/AVC.联合视频组JVT早期开发的MPEG -2/H. 262视频编码标准已经成为目前广泛使用的DVD数据编码技术;最...

2019-12-21 00:58:07 265 1

原创 常见的视频编解码标准

随着数字视频编解码业务迅猛发展,为了保证不同厂家视频编解码产品之间的相互操作性. 視频编解码技术的标准化问题显得日益重要,各大国际组织在数字视频编解码标准化方面展开了许多工作并制定了一系列视频编解码保准。其中,国际电信联盟ITU - T下的视頻编码专家组VCEG( Video Coding Expert Group)与国际标准化组织ISO/IEC下的运动图像专家组MPEG(Motio...

2019-12-21 00:55:19 1010

原创 什么是视频编解码

视频编解码技术是指对视频进行压缩、解压缩的技术。在日常生活中,视頻编解码技术应用非常广泛。例如十几年前在DVD(MPEG・2)、VCD(MPEG-1)、高清电视以及现在的互底网上都有大量的应用。 视频信号数字化之后会产生十分庞大的数据量,需要大量的磁盘空间。一帧没有压缩的PAL制电视画面包含442368个像素。转换成数字视频后,毎个像素必须由3字节即24位信息表示R...

2019-12-20 23:35:13 389

原创 数字视频技术简介

数字视频技术是指以数字形式捕捉、记录、处理、存储、传输、复现动态彩像的一系列相关技术。例如通过数字摄像机直接产生数字视频信号,压缩成MPEG-2格式存储在视频数据库。在被检索到后通过因特网传输到远端的PC,并在播放器上播放岀来。数字视频技术的发展与数字电視系统密不可分。这里以数字电视系統来讲解数字视频的特点。数字电视系統是将模拟的电视值号变换为数字形式的信号,然后进行处理、传输、播放...

2019-12-16 23:08:09 1260

原创 模拟视频技术简介

模拟视频技术是指用模拟技术对动态影像进行捕捉、记来、处理、存储、传输、复现的技术.模拟视频技术的发明、发展与模拟电视系统的发展密不可分.下面将通过模拟电视系统来介绍模拟视频技术中的基本概念. 首先,人的视觉系统的特征为电视等視稿系铳的发明、发展提供了理论依据.光线通过角膜、腫孔、晶状体的折射光线.透过玻璃体到达视网展.视网膜上分布着光感受器,光感受器在光线的剌激下...

2019-12-16 00:44:47 488

原创 视频技术与H264编码的诞生

视频技术是指将动态影像以电信号的方式加以捕捉、记录、处理、存储、传输、复现相关的一系列技术。视频技术最早出现在早期的模拟电视系统中。视频技术编年史 19世纪末,先驱者们开始研究传送图像的技术。 1904年,英国人贝尔威尔和德国人柯隆发明了一次电传一张照片的电视技术,每传一张照片需妾10 分钟. 1924年,英国和德国科學家几...

2019-12-15 23:29:07 202

原创 FFmpeg拉取rtmp流转udp输出播放

用ffmpeg可以拉取rtmp流,比如湖南卫视的:rtmp://58.200.131.2:1935/livetv/hunantv 在vlc播放器可以测试看看,网速不好的,会有延时, 媒体----打开网络串流,填入湖南卫视的rtmp地址。 播放如下 太卡了,没专业播放器爽。 下面开始本篇的主题,拉取rtmp流,用udp...

2019-12-14 17:27:31 2296 5

原创 VS如何快速去掉空行

ctrl h, 填写^\s*(?=\r?$)\n全部替换即可。

2019-12-12 21:10:48 1076 1

原创 ffmpeg mp4转yuv

1.mp4转yuv ffmpeg -i test.mp4 test.yuv播放yuv ffplay -f rawvideo -video_size 960x540-i test.yuv注意指定视频的宽高,不然会绿屏,花屏。

2019-12-08 22:59:56 521

原创 C++ SDL开发环境配置

SDL官网:http://www.libsdl.org/ 本文是在VS2017下使用SDL, 先进官网下载SDL库,我下的是SDL2, 项目配置和其它SDK类似,.h .lib .dll这些在属性中配置好后,就可以写代码了,注意 (1)main函数必须又有参数 (2)导入SDL2main.lib 虽然是C语言写的...

2019-12-08 19:36:30 478

原创 ffplay源码分析(十一):同步到外部时钟

前面我们分析了音视频同步中的两种策略:视频同步到音频,以及音频同步到视频。接下来要分析的是第三种,音频和视频都同步到外部时钟。回顾先回顾下前面两种同步策略。视频同步到音频主要由函数compute_target_delay计算出lastvp应显示时长,并通过frame_timer对比系统时间控制输出,最后在video_refresh中更新了video clock(v...

2019-12-08 15:39:55 201

原创 ffplay源码分析(十):音频同步视频

在“视频同步音频”的策略中,我们是通过丢帧或重复显示的方法来达到追赶或等待音频时钟的目的,但在“音频同步视频”时,却不能这样简单处理。 在音频输出时,最小单位是“样本”。音频一般以数字采样值保存,一般常用的采样频率有44.1K,48K等,也就是每秒钟有44100或48000个样本。视频输出中与“样本”概念最为接近的画面帧,如一个24fps(frame per seco...

2019-12-08 15:38:26 146

原创 ffplay源码分析(九):视频同步音频

ffplay默认也是采用的这种同步策略。主流程ffplay中将视频同步到音频的主要方案是,如果视频播放过快,则重复播放上一帧,以等待音频;如果视频播放过慢,则丢帧追赶音频。这一部分的逻辑实现在视频输出函数video_refresh中,分析代码前,我们先来回顾下这个函数的流程图:在这个流程中,“计算上一帧显示时长”这一步骤至关重要。先来看下代码:static v...

2019-12-08 15:36:52 180

原创 ffplay源码分析(八):音视频同步 -- 基础

由于音频和视频的输出不在同一个线程,而且,也不一定会同时解出同一个pts的音频帧和视频帧。更有甚者,编码或封装的时候可能pts还是不连续的,或有个别错误的。因此,在进行音频和视频的播放时,需要对音频和视频的播放速度、播放时刻进行控制,以实现音频和视频保持同步,即所谓的音视频同步。在ffplay中,音频(audio)和视频(video)有各自的输出线程,其中音频的输出线程是sdl的...

2019-12-08 15:34:57 154

原创 ffplay源码分析(七):ffplay subtitle显示线程分析

ffplay里subtitle的显示比较简单,它是将subtitle当作video的附属进行显示,所以subtitle实际上没有独立的显示线程,它是和video的显示线程(主线程)共用一个线程。看过ffplay video显示线程分析的应该会有印象,在video显示线程中有看到关于subtitle的显示处理。先从video_refresh函数看起:static void video_re...

2019-12-08 15:33:15 127

原创 ffplay源码分析(六):ffplay audio输出线程分析

ffplay的audio输出同样也是通过SDL实现的。同样地,本文主要介绍audio输出相关内容,且尽量不涉及音视频同步知识,音视频同步将在专门一篇分析。audio的输出在SDL下是被动输出,即在开启SDL会在需要输出时,回调通知,在回调函数中,SDL会告知要发送多少的数据。(关于SDL音频输出可以参考这篇:https://www.jianshu.com/p/b006e9e9caa6)...

2019-12-08 15:31:28 145

原创 ffplay源码分析(五):ffplay video显示线程分析

ffplay显示部分代码包括了video、audio、subtitle的显示(输出)。我们知道要显示画面或者输出声音,在windows、linux、macos等不同平台上的接口都不尽相同,对于这个问题,ffplay选择了sdl作为显示SDK,以实现跨平台支持。在阅读本文前,需要读者具备初步的sdl知识,可以参考这篇文章及其系列:SDL入门_慕课手记,写的很好。在分析显示流程的过程中,为...

2019-12-08 15:29:58 201

原创 ffplay源码分析(四): ffplay解码线程分析

ffplay的解码线程独立于读线程,并且每种类型的流(AVStream)都有其各自的解码线程,如video_thread用于解码video stream,audio_thread用于解码audio stream,subtitle_thread用于解码subtitle stream。为方便阅读,先列一张表格,梳理各个变量、函数名称。其中PacketQueue用于存放从read_...

2019-12-08 15:27:53 231

原创 ffplay源码分析(三):read_thread线程

ffplay中有一个线程专门处理数据读取,即read_thread。read_thread主要按以下步骤执行: 准备阶段:打开文件,检测Stream信息,打开解码器 主循环读数据,解封装:读取Packet,存入PacketQueue read_thread的函数比较长,这里不贴完整代码,直接根据其功能分步分析。准备阶段准备阶段,主要包括以下步骤: avf...

2019-12-08 15:25:12 192

原创 ffplay源码分析(二): 探讨自定义队列

MyAVPacketListffplay用PacketQueue保存解封装后的数据,即保存AVPacket。 第一个结构体是MyAVPacketList,如下:typedef struct MyAVPacketList { AVPacket pkt; struct MyAVPacketList *next; int serial;} MyAVPacketList...

2019-12-08 15:22:10 360 1

原创 ffplay源码分析(一):代码架构简述

ffplay是用ffmpeg代码实现的一个播放器,可以播放本地文件,也可以播放网络资源,与vlc播放器功能类似。把ffmpeg环境配好后,在资源所在的目录,打开控制台输入ffplay [资源名字]即可播放该媒体资源,ffplay源码只有3800多行,C工程,音视频显示渲染是用的SDL库。下载ffmpeg源码后,找到ffplay.c,这既是ffplay播放器的全部代码。我用的是ffm...

2019-12-08 15:14:35 929 1

原创 VS2013编译vlc源码

VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。官网地址:http://www.videolan.org/ 源码是linux下开发的,但是已经有人把它修改到VS下,github上有链接:https://github.com/sunqueen?tab=repositories ...

2019-12-07 02:03:49 356

C# Winform数值实时曲线(完整示例)

C#实现显示实时数据,并形成曲线,保存数据,完整的项目代码

2017-07-01

Qt进度条QProgressBar的使用(详细代码)

详细的工程代码与注释,讲解Qt进度条QProgressBar的使用方法,完整的代码。

2018-05-03

MusicPlayer.rar

该音乐播放器使用Qt开发,代码用QtCreator编写,下载即可使用,主要用QMediaPlayer的一些功能,可以看我的博客讲解。

2019-11-17

Qt子线程更新数据发到主线程显示.rar

Qt的子线程无法直接更新主UI,需要发送信号到主线程进行更新,我用的QTableWidget展示数据。

2019-08-18

中国象棋源码(C++/MFC)

用MFC写的中国象棋游戏,VS2015可以直接编译,有多重AI算法,有兴趣可以研究,全网最好的象棋代码。又不懂的可以看看我的博客,有讲解。

2018-12-24

ffmpeg3.2.4_Win32开发库文件

ffmpeg3.2.4_Win32开发库文件,包含头文件,静态库lib, 动态库dll.

2018-06-03

jsoncpp_sdk_x64.rar

vs2017编译的jsoncpp sdk, 包含Debug和Release版本dll, lib , include,可以和其它sdk一样直接包含到项目中使用,可以去我的博客C++专栏找使用方法。

2020-04-06

C++/OpenCV2.4.9 数字精确识别源码

利用OpenCV的图像处理技术,对图像进行灰度处理,二值分析,降噪,滤波等,识别照片中的数字,完美精确, C++ VS2015代码,有详细的代码注释,完整源码。

2017-11-02

华为C++/C/java代码规范(完整版)

最新的华为代码规范,适用于C++/C/java,高清带目录,格式标准的代码给自己和维护者都是一种享受,建议程序员多看看。

2018-03-14

侯捷:左手程序右手诗(电子书)PDF

侯捷的日常博客全部总结,关于C++开发,业余生活体验,程序员发展等,值得所有开发者看看,在你迷茫,找不到方向,不知道做什么时可以看看这本书。

2019-06-07

Halcon12与MFC数字识别详细教程

基于Halcon12的数字识别,识别精确,关于代码的解释,请关注的我的博客,在博客里我做了详细的解释。

2018-07-09

C# TCP网络通信示例:多人聊天发文件

该资源包含客户端,服务器, 用户注册到数据库(可自行裁剪该功能),通过TCP 实现聊天,发文件,可以多人同时聊天。代码有完整的注释,是完整的项目。

2018-04-02

Win10 Git Bash闪退的解决方案文件

当你的Win10系统出现Git Bash闪退时,需要该文件进行开启相关服务,可以参考我的博客进行解决。

2018-11-07

支持向量机通俗导论(理解SVM的三层境界)PDF

这应该是全网最全最清晰的SVM学习的资料了,我学了10天,终于了解了,大家可以学学看。PDF文档学会后,可以结合OpenCV的源码看看,相信你们一定有大的收获。

2018-04-13

很全的 Qt qss

这是一个Qt第三方样式表,下载后,可以直接加到项目中使用。不知道怎么用的,可以关注我的Qt专栏。使用链接:https://mingshiqiang.blog.csdn.net/article/details/108860180

2020-09-29

Qt 5.7串口助手发送接收源码

利用Qt的串口类开发的串口助手,可以收发16进制,字符的程序。完美的界面,可以实际运用,串口开发的朋友可以借鉴,绝对可靠。

2018-06-19

ffplay源码架构图.vsdx

我用visio2016画的,把ffplay源码中的各个模块都展现出来了,有兴趣的可以去看看我的博客。

2019-12-08

lua-5.3.4源码

lua5.3.4源码,导入VS2015可以直接编译,想学习分析Lua源码的可以下载,研究。

2019-01-10

FileDownlod.rar

Qt实现的网络文件下载,用QtCreator可以直接打开编译,运行,我的博客有讲解,可以去看看。

2019-08-05

(Programming in Lua)Lua程序设计Word版

Programming in Lua是Lua教程最经典的书籍,这是Word版,可以自由编辑,Lua用户可以下载

2018-08-28

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除