自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C++ Qt 开发藏经阁

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

原创 ffmpeg rtmp推流代码示例

rtmp推流,得有rtmp服务器,可以参考这篇博客搭建rtmp服务器 ===》》》ubuntu搭建rtmp服务器,如果自己有rtmp服务器,可以不用看。 rtmp推流需要用flv格式, 本篇博客demo是本地flv文件rtmp推流. 主要流程如下: 代码如下: #include...

2020-01-31 21:22:11 1189 1

原创 av_dump_format函数使用说明

FFmpeg API : av_dump_format, 打印关于输入或输出格式的详细信息, 代码声明如下 /** * Print detailed information about the input or output format, such as * duration, bitr...

2020-01-28 20:43:29 1586 1

原创 C++运算符重载

C++本身有加减乘除等运算法则,但是对于复杂数据的计算,则需要运算法重载,例如,二项式,负数,三维数据点等,这些需要自己实现运算法则。 本篇博客将用复数的运算来实现运算符重载,复数的形式 ai + b,分别重载“前++”,“后++”,相加运算。 运算符重载函数分成员函数形式和友元函...

2020-01-27 16:38:20 92 0

原创 C++ boost库教程(十八):boost log模块应用与分析

boost的日志库需要编译,如果经过第四篇的编译过程后,在lib目录会有如下库 boost的功能强大,包罗万象,有自己的log,可以不用第三方库,当然C++的第三方log库也很强大,例如衍生自java log4j的log4cxx、log4cpp、 log4cplus,谷歌google ...

2020-01-19 23:25:20 515 0

原创 C++ boost库教程(十七):boost并发编程之原子操作atomic

早期的C++中没有语言级别的并发支持,因为在C++诞生很久以后线程等用于并发操作的概念才出现(POSIX线程标准制定于1995年)。随着近年来多CPU、多内核计算机的大量出现,并发操作(不仅是多线程)已经成为了软件开发的基本需求,新的C++标准提供了〈atomic〉、〈thread〉等库,对并发编...

2020-01-14 01:07:55 424 0

原创 C++ boost库教程(十六):boost线程timed_mutex

上篇博客介绍了boost库的mutex, 这次介绍timed_mutex的使用。 timed_mutex比mutex多增加了两个功能,尝试加锁,持续加锁。 try_lock_for 如果timed_mutex为上锁,则将它上锁,并返回1,如果已经上锁,则阻塞rel_time时...

2020-01-12 20:13:30 147 0

原创 C++ boost库教程(十五):boost线程同步之mutex

卖火车票应该是最经典的多线程demo, 多窗口,票不重复,不能出现负数票,本篇博客用卖火车票来模拟多线程同步。 互斥量(mutex)是一种用于线程同步的手段,它可以在多线程环境里防止多个线程同时操作共享资源.一旦一个线程锁住了互斥量,那么其他钱程必须等待它解锁互斥量后才能再访问共享资源. ...

2020-01-12 19:18:38 198 0

原创 C++ boost库教程(十四):boost多线程

关于多线程,各个系统,框架都有自己的实现,例如 windows: CreateThread MFC: AfxBeginThread Qt : QThread boost库是跨平台的,如果使用boost的多线程,在不同平台之间就无需修改代码,这一点还...

2020-01-07 23:34:24 329 0

原创 C++ boost库教程(十三):boost解析json数据

什么是json格式 json是JavaScript Object Notation的简写,一种轻量级数据交换格式,经常用于web项目,前后台数据交换,数据格式比较简单,格式是压缩的,占用带宽小 ,便于服务器解析。 JSON 语法规则 (1)数据在名称值对中 (2)数据由逗...

2020-01-07 23:06:45 728 0

原创 C++ boost库教程(十二):boost解析xml文件

xml文件,作为应用程序的配置文件很常见,功能也比ini文件丰富,对于xml文件的读写,有很多方法,之前我主要使用libxml, tinyxml这两个库,操作方法稍微有点复杂,对比使用boost的xml操作,boost相对简单。 boost库的property_tree保存了多个属性值得树...

2020-01-06 22:00:57 457 0

原创 C++ boost库教程(十一):boost库读写ini

假设有如下配置文件 Net.ini [netinfo] ip=192.168.1.2 port=1234 boost库提供了读写ini的方法, namespace ini_parser { template<class Ptree> void read_in...

2020-01-06 21:10:41 409 0

原创 ubuntu怎么设置root用户

以下方法,Ubuntu和deepin通用。 如何成为root用户? 输入su root后发现无法切换 需要做如下操作: sudo passwd root, 设置新的密码,可以和开机密码一样,设置成功后,再次输入 su root, 即可成为root用户。以后进入root权限,也...

2020-01-05 21:39:01 97 0

原创 ubuntu搭建nginx-rtmp服务器

rtmp的服务器有很多,本篇博客介绍如何安装配置nginx-rtmp服务器。 系统ubuntu, deepin或者其它linux版本。 先安装以下依赖 sudo apt-get install libssl-dev sudo apt-get install libpcre3 l...

2020-01-05 21:25:33 294 0

原创 UOS安装腾讯视频客户端

腾讯视频现在有linux版了!!!!! 下面介绍在UOS上安装腾讯视频客户端。 (1)先进入官网https://v.qq.com/download.html#linux,下载deb格式安装包 (2)下载完毕后在 “计算机” 找到 '下载',就会看到安装...

2020-01-04 01:00:48 1381 0

原创 UOS使用体验

统一操作系统,UOS, 这可能是未来我们中国的操作系统的大势所趋,虽然都是基于linux改的UI,这证明了linux的无穷魅力与强大,站在巨人的肩膀上是很有必要的。 刚刚在虚拟机安装了UOS beta版,界面很优雅,图标渲染和ios很像,可以说UOS就是deepin换了壳而已,deepin...

2020-01-04 00:44:54 11584 1

原创 Qt开发实现多语言国际化

新建一个Qt GUI程序,界面如下 在工程文件.pro添加如下语句 TRANSLATIONS = TestLang_01.ts 例如我的 先运行一把程序,然后在开始菜单栏找到 打开后,cd到项目.pro工程文件所在的目录,输入如下语句 lupdate TestLan...

2020-01-03 00:32:39 367 0

原创 FFmpeg视频播放器开发(七):FFmpeg拉rtmp流

在菜单栏输入rtmp流地址后,关闭窗口,在closeEvent方法中发送信号,主线程接收到该信号后,调用网络流线程解码,同时视频显示窗口刷新解码后的img, 这样网络流就可以播放了。 void NetStreamDlg::closeEvent(QCloseEvent * e) { QStri...

2020-01-01 04:04:02 1373 0

原创 FFmpeg视频播放器开发(六):FFmpeg视频音量调节

在声音物理学中,音量的变化是对数关系,在代码里,暂时我没有这样处理,简单的用线性关系表示,在主进程进行设置,解码时设置进pcm数据,再用声卡播放。 这段代码的实现也是参考了别人的,代码如下: /* * @Func : SetVolume * @brief : 音量调节 * @au...

2020-01-01 03:51:30 868 0

原创 FFmpeg视频播放器开发(五):界面优化

最近又把这项目整了整,做了一些优化,增加了一些功能。例如: (1)界面用qss做了优化,实现暗黑效果; (2)添加了菜单,按钮添加了图标,窗口大小自适应大小等; (3)最大化按钮 (4)增加了音量调整功能 (5)增加了网络拉流功能 ...

2020-01-01 03:16:10 1499 0

原创 Qt设置按钮背景图片

用qss可以修改按钮的样式,但是一些复杂的图形用图片来做显示效果更好,下面给出Qt按钮添加图片的方法,直接用setIcon的方法,图片会被缩放,下面的方法正常显示 //设置按钮图标,按钮的默认大小是 30*30,可以自己指定 void setButtonImage(QPushButton *b...

2020-01-01 02:32:34 1446 0

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