自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 mac搭建cmake+Qt+ffmpeg开发环境

一.前提环境1.Mac: M1 11.4 arm642.Qt: Qt5.12.7.3.FFmpeg:4.2.2二.遇到的问题1.ld: symbol(s) not found for architecture x86_64Mac m1默认编译出来的ffmpeg架构是arm64的,而Qt5.12.7编的程序是macx86_64位的,直接在Qt中引入会报错ld: symbol(s) not found for architecture x86_64,所以这里编译ffmpeg版本的时候需要指定arch

2021-10-30 21:27:52 1679

原创 OpenGL的学习之路之入门

  作为一名PC音视频客户端开发人员,想更加深层的掌握音视频底层的知识,所以决定学习一下OpenGL库。  OpenGL是跨语言跨平台的API,在OpenGL中,我们使用OpenGL上下文来进行渲染,渲染要指定窗口,但是,在不同的操作系统上实现都是不一样的。不过有一些库提供了我们所需要的功能,提供了我们一个窗口以及上下文用来渲染。比如GLUT、SDL、SFML和GLFW,本文的代码例子使用的就是GLFW。GLFW可以从官方下载,用cmake进行构建。代码中还使用到了GLAD,由于OpenGL驱动版本众多,

2021-02-06 17:01:56 189

原创 网络IO模型之多路复用

一.select函数Linux中可以用select函数统一监视多个文件描述符。#include <sys/select.h>#include <sys/time.h>int select(int maxfd, fd_set* readset, fd_set* writeset, fd_set* exceptset, const struct timeval* timeout);参数:

2020-10-16 11:21:24 477

原创 动态规划总结以及状态转移方程的推导(一)

动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。动态规划算法题如今很常见,通常用在求最优解问题上。DP作为求最优化的算法为什么会快?我们可以这样思考 ,无论是DP还是暴力,我们的算法都是在可能解空间内,寻找最优解。DP是枚举有希望成为答案的解。从而我们可以得到DP的核心思想:尽量缩小可能解空间。在暴力算法中,可能解空间往往是指数级的大小;如果我们采用DP,那么有可能把解空间的大小降到多项式级。一般来说,解空间越小,寻找解就越快。这样就完成了优化。.

2020-10-15 11:17:48 3519

原创 CentOS 安装ffmpeg

#!/bin/bashyum install -y vimyum install -y epel-releaserpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7yum repolistrpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.rorpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-relea

2020-09-25 17:18:53 72

原创 QTreeWidget自定义样式

项目中用到通讯录,用到了QTreeWidget,记录一下样式。/**********QTreeView**********/QTreeView { border:none; outline:0px; background: #FFFFFF; show-decoration-selected: 1;}QTreeView::item { height: 46px; border: none; color: #333333;}QTreeView::it

2020-08-12 17:40:04 1249

原创 OBS源码解析一之obs_data

同事提了个小需求,要求更改OBS的默认配置,并且每次修改完之后都不用保存用户的配置,就是定制化配置了,唯一默认配置。开始探索OBS源码,看了一下需要修改的配置文件,主要是两个,一个basic.ini,一个推流配置的json文件。根据这两个文件以及log日志去分析源码。(一) .obs_data分析官网文档原话如下:Settings (see libobs/obs-data.h) are u...

2020-04-09 17:59:46 1191

原创 自定义字符串排序

字符串S和 T 只包含小写字符。在S中,所有字符只会出现一次。S 已经根据某种规则进行了排序。我们要根据S中的字符顺序对T进行排序。更具体地说,如果S中x在y之前出现,那么返回的字符串中x也应出现在y之前。返回任意一种符合条件的字符串T。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/custom-sort-string著作权归领扣网...

2020-02-28 17:52:11 284

原创 Leetcode682.棒球比赛

你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. “C”(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应该被移除...

2019-11-30 10:51:29 137

原创 c++ stack

The std::stack class is a container adapter that gives the programmer the functionality of a stack - specifically, a LIFO (last-in, first-out) data structure.栈是一种具有先进后出特性的数据结构。(1).top() //返回栈顶元素(最后p...

2019-11-30 10:34:42 72

原创 vector相关基础知识

vector是表现为可变长数组的序列容器,vector使用连续的存储位置来存储元素。在vector内部,使用一个动态分配内存的数组来保存其元素。当插入新元素的时候,这个数组可能需要重新分配,以增加大小,这意味着分配一个新的数组,并且将原有的元素从旧的位置移到新的数组中。这个操作在时间方面是个开销极大的操作,因此,vector相比于数组,vector消耗更多的内存,以换取管理存储和动态增长的能力。...

2019-11-28 11:28:52 197

原创 删除子文件夹

你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任意顺序 返回剩下的文件夹。我们这样定义「子文件夹」:如果文件夹 folder[i] 位于另一个文件夹 folder[j] 下,那么 folder[i] 就是 folder[j] 的子文件夹。文件夹的「路径」是由一个或多个按以下格式串联形成的字符串:/ 后跟一个或者多个小写英文字母。例...

2019-11-28 10:35:23 493

原创 访问所有点的最小时间

平面上有 n 个点,点的位置用整数坐标表示 points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。你可以按照下面的规则在平面上移动:每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序来访问这些点。来源:力扣(LeetCode)链接:https://leetcode...

2019-11-28 09:38:31 105

原创 JavaWeb 基础知识学习

JavaWeb是web程序,包含web 服务端和web客户端,web客户端向服务端请求网页,服务端根据请求返回资源。资源又分为静态web资源,动态web资源。静态web无论在什么时候访问返回的结果都是一样的,动态web因人因时而变,动态web 具有交互性。(1) 理解HTTPHTTP是基于TCP协议的应用层协议,TCP负责数据传输,而HTTP只是规范了TCP传输的数据的格式。Java相关小...

2019-11-27 11:20:26 114

原创 QT下拉框combox样式

ui->comboBoxPix->setStyleSheet("QComboBox{background:transparent;\color: transparent; border-radius: 10px; \border-style: outset;}""QComboBox:drop-down{background: transparent; color: transp...

2019-11-09 12:17:27 1492

原创 2019-6-06-06 VLC QTAV视频播放器

VLC QTAV 两个视频播放器对比了一下优化了缓冲参数 以及帧率QTAV的播放延时比VLC小帧率设置为25

2019-06-06 17:44:58 427

原创 2019-4-25 QT程序关闭窗口但程序没有退出

QT关闭程序窗口 但是从任务管理器看该进程还是存在。是因为程序中存在死循环或者程序为多线程程序,且在窗体关闭后,仍有线程在工作。修改:将whle(1)改成 while (this.Visible)。这样窗口关闭程序就不会一直在循环中跑了。修改地方:主窗口闪烁以及线程中事件循环处都要修改...

2019-04-25 10:34:16 2451

原创 2019-4-23 QT独占应用程序

Windows 下使用CreateMutex接口HANDLE CreateMutex(LPSECURITY_ATTRIBUTESlpMutexAttributes, // 指向安全属性的指针BOOLbInitialOwner, // 初始化互斥对象的所有者LPCTSTRlpName // 指向互斥对象名的指针);创建一个互斥体(MUTEX)返回值Long,如执行成功,就返回互斥体对象...

2019-04-23 17:38:03 322

原创 2019-4-20 qDebug重定向以及线程的暂停问题

1.qDebug重定向void outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg){static QMutex mutex;mutex.lock();QString text;switch((int)type){case QtDebugMsg: ...

2019-04-20 17:53:47 506

原创 2019-4-19 QT布局

1.QT combox的使用"QComboBox:drop-down{background: transparent;}按钮是QComboBox的一个子组件,用::drop-down指代。drop-arrow:按钮上的箭头图标。2.QT 窗口析构重新登录问题关闭客户端要在登录界面把之前的客户端delete掉。...

2019-04-19 18:47:29 108

原创 2019-4-18 设置程序与主游戏程序联调

1.设置程序中六个牌设置完成之后 弹出提示窗口提示设置成功将对应扫描枪剪裁路径以及牌数保存到xml文件中。2.主程序中读牌通过读取XML文件中的裁剪路径,HID获取链表之后进行反向匹配,将原始打开顺序的路径按照XML文件中路径顺序排序。3.程序中指针注意判空问题,扫描枪句柄等等。4.主程序要判断扫描XML文件是否存在,以及扫描枪是否错误。...

2019-04-18 17:56:39 80

原创 2019-4-17 QT打包程序以及清空扫描枪缓冲区问题

今日问题1.设置与客户端程序已打包(windeployqt)使用VLC库 要将库中的plugins放在程序执行目录下以及程序中发布时可加QMessagebox进行调试2.扫描枪缓冲区清空问题 正式读之前要将其他缓冲区清空3.游戏流程出现问题双击输入结果...

2019-04-17 17:23:37 197

空空如也

空空如也

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

TA关注的人

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