自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 TS切片的相关知识

在MPEG-2 Transport Stream (TS)容器格式中,PTS (Presentation Time Stamp)、DTS (Decoding Time Stamp) 和 PCR (Program Clock Reference) 都是用来同步音视频数据的关键时间戳信息。总结来说,PTS和DTS用于音视频内容的解码和显示同步,而PCR则负责整个TS流的整体时间同步,确保解码器的系统时钟与编码器的系统时钟保持一致,进而确保整个节目的流畅播放。

2024-04-19 16:34:58 619

原创 arm64位系统中编译ffmpeg

arch=arm:指定ARM平台–target-os=linux:指定Linux系统–enable-cross-compile :指定交叉编译=arm-linux-gnueabihf-:参数后面跟着的是交叉编译器的路径。

2024-04-08 17:18:23 405

原创 C++实践中的写法技巧之:枚举变量、数据结构体

一些大型企业自研的一些引擎或者框架都有自己的一套命名规则或者代码标识,而这些信息又需要转化为市面或者页面通用的信息,例如:自研模块中向上返回了一个代码001,而中间链路需要把001转换为业界通用的代码标识xxx,这时候我们就需要自建一个字典来解决该问题。其实就是一个STL中的map类型,只不过我们需要自己实现,以便我们需要在代码里可以直观的看到在这个字典里有哪些键值对。

2024-04-07 15:36:03 216

原创 C++共享内存相关的秘密

得到一个共享内存标识符或创建一个共享内存对象 ,也就是该即可创建一个共享内存,也可以获取一个共享内存,key是开发者定义的一个整数(标识符),如果该标识符在内存池已经存在,则是获取该段内存的地址,否则是开辟内存空间,创建共享内存。共享内存进行并发访问时使用,用于对信号量进行操作来实现进程之间的互斥和同步。该函数定义在头文件 sys/sem.h中操作一个或一组信号。:把共享内存区对象映射到调用进程的地址空间,一般在创建共享内存之后。:成功:附加好的共享内存地址,失败:-1,错误原因存于errno中。

2023-08-19 15:22:04 406 2

翻译 EasyLogging++ makedown笔记

这部分内容我会慢慢翻译和整理出来让大家快速了解和上手使用的东西出来。

2023-08-16 19:02:26 745

原创 /usr/bin/ld: 找不到 can‘t find -xxx++

ld是一个链接器文件,后面报错一般都是什么库找不到,so文件。一般都会在lib64下面找到,注意后面带版本号的是实际文件。

2023-08-07 11:24:00 2171

原创 c++ 杂食记

该文会一直更新,不断把遇到的一些问题进行详细分析

2023-06-27 20:44:37 272

原创 vs2019 VisualGDB编译报错:make: *** No rule to make target

vs2019 VisualGDB编译报错:make: *** No rule to make target

2023-06-26 10:25:54 2964

原创 音视频开发知识一:基础名词

本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作,它的优点就是播放流畅,功耗低,但是也存在着受视频格式限制、功耗大、画质没有软解码好的缺点。注意:I帧、P帧、B帧都是是实实在在的物理帧,他们的位置顺序由不同的算法所决定,一但首个I帧位置确定,那么后面的排列都会呈现一定的规律性。P帧的解码只依赖于前面的相关帧,而B帧的解码就需要拿到前后帧的解码才可以。

2023-06-23 15:17:24 267

原创 makefile 里面ProjectPath WorkspacePath分别是做什么的

在 Makefile 中,通常使用 $@ 变量来引用目标文件或可执行文件,而这些文件都位于工作区路径下。在 Makefile 中,通常使用 $ 变量来引用目标文件或可执行文件,而这些文件都位于项目路径下。因此,ProjectPath 可以用来指定源代码目录的位置,以便正确地定位目标文件。总之,ProjectPath 和 WorkspacePath 在 Makefile 中都是非常重要的变量,它们可以帮助开发者正确地定位源代码和目标文件,从而实现自动化编译和构建的任务。

2023-05-26 09:51:16 220

原创 将python工程打包成可执行文件的方式(防止源码被看到的方式)

它可以将 Python 应用程序打包成单个可执行文件,可以在没有 Python 环境的计算机上使用。使用 pyinstaller 可以对代码进行加密和混淆,保护您的 Python 代码,避免被反编译或篡改。使用 PyOxidizer 可以实现简单易用,不需要额外的依赖项并且可以加密和混淆您的 Python 代码。如果采用加密和混淆的措施,需要注意加密和混淆的强度和影响,否则可能会对程序性能产生影响。打包的可执行文件只是加壳的 Python 程序,仍然依赖于 Python 的安装环境。

2023-05-06 09:25:18 1476 1

原创 QT DLL库报错:file not recognized: File format not recognized

QT DLL库报错:file not recognized: File format not recognized

2023-03-13 18:38:05 2002 1

原创 痛定思痛!!!结合fidller抓包,简单介绍http请求报文和http响应报文

各类书上在介绍http请求报文和http响应报文时花的太过于专业,没有结合实际,当时读的时候可能是我太笨了,想象不出来到底是个什么样子,所以我自己简单的对其做了一下总结:

2022-11-17 15:56:08 754 1

原创 python自动化接口测试2 pandas 如何按每个单元格读取Excel内容

pandas 如何按每个单元格读取Excel内容

2022-09-29 15:47:24 453

原创 Python接口自动化测试:利用的是requests库,Fiddler抓包配合、以及鉴权的流程

今天服务器那边还在改Bug,平台有些功能测不了,海哥突然让我写自动化脚本,受宠若惊,压根没干过,所以讲过程和知识点仔细记录下来。主要解决问题:接口自动化之Cookie,Session,Token鉴权解决方案

2022-09-28 16:27:40 1314

原创 MySQL数据库查找快速入门,校招面试五分钟救急

MySQL数据库查找快速入门,校招面试五分钟救急

2022-09-22 12:55:45 206

原创 Linux下vim的简单使用方式

Linux下vim的简单使用方式

2022-09-20 11:18:14 910

原创 Jira Bug管理工具的操作步骤 提Bug的流程

Jira Bug管理工具的操作步骤 提Bug的流程

2022-09-19 10:29:13 6444

原创 视频播放压缩的相关知识点:I帧、P帧、B帧、RTMP协议、RTSP协议、GB28181协议等学习记录

I帧、P帧、B帧、RTMP协议、RTSP协议、GB28181协议等学习记录

2022-09-14 17:38:04 2148 3

原创 Windows平台下安装与配置MySQL ,配置环境变量,详细图解,

下载之前要看一下Windows版本,如果是专业版我们在安装之前需要多一步检查操作

2022-06-16 15:31:07 168 1

原创 力扣:两数之和 三数之和 四数之和

两数之和:思想:我们用map来存储已经遍历过的数据,也就是边1.map底层结构是红黑树,所以容器中不会出现相同的元素,因此count()的结果只能为0和1,可以以此来判断键值元素是否存在(当然也可以使用find()方法判断键值是否存在)。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> p;

2022-04-26 16:15:54 93

原创 路径规划-Hybrid A*算法

一、算法简介: Hybrid A*算法任然是一种图搜索算法。在A*算法中通常把实际物体当作一个点,不考虑物体的运动方向和物理结构的实际运动。Hybrid A*是2010年由斯坦福大学基于A*改进的算法,Hybrid A*规划的路径考虑了车辆的运动学约束,即满足了车辆的最大曲率约束。

2022-03-23 10:39:51 2855

原创 由于找不到mfc110u.dll,无法执行此代码。

这个问题往往发生在我们新系统安装软件的时候的错误提示,主要就是系统安装不完全,缺少部分软件运行所需的库。解决方法也很简单:打开www.microsoft.com官方下载安装相关库即可:官网连接:官网下载...

2022-01-12 16:49:38 3150

原创 双系统:在ubuntu系统下想要移动文件到其他位置/计算机或者系统根目录下提示权限不够的解决方式

打开一个终端输入:sudo nautilus然后会跳出一个带有权限的文件管理器:然后再打开一个正常的文件夹进行拖拽就好了

2021-11-24 16:23:34 2980

原创 强化学习-Q_learnning 算法遇到得一些python函数问题

pd.DataFrame()函数:直观理解就是创建一个表格,默认参数:def __init__(self, data: Any = None, index: Optional[Collection] = None, columns: Optional[Collection] = None, dtype: Union[ExtensionDtype, str, dtype, dtype, Typ..

2021-11-23 09:02:18 194

原创 ROS plugins 路径规划修改步骤

第一步:创建功能包 以及导入相关依赖catkin_create_pkg relaxed_astar nav_core roscpp rospy std_msgs第二步:在新建的功能包src里创建cpp头文件和cpp文件hzh@hzh:~/UGV_ws/src$ cd relaxed_astar/srchzh@hzh:~/UGV_ws/src/relaxed_astar/src$ touch RAstar_ros.hhzh@hzh:~/UGV_ws/src/relaxed_astar

2021-11-08 20:25:07 1122

原创 4.6 STL中容器、算法、迭代器

4.6 STL中容器、算法、迭代器容器:置物之所也,STL容器就是将运用最广泛的—些数据结构实现出来常用的教据结构:数组,链表,树,戈,队列,集合,映射表等。这些容器分为序列式容器和关联式容器两种:序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系4.6.1 Vector:STL最常用的容器,可以理解为数组...

2021-11-04 20:25:31 570

原创 4.5 C++ 多态、动态多态、虚函数virtual

4.5.1多态是C++面向对象三大特性之一多态分为两类静态多态:函数重载和运算符重载属于静态多态、复用函数名动态多态:派生类和虚函数实现运行时多态静态多态和动态多态区别:静态多态的函数地址早绑定:编译阶段确定函数地址 动态多态的函数地址晚绑定:运行阶段确定函数地址 动态多态满足的条件:1.有继承关系 2.子类重写父类虚函数 动态多态使用:父类的指针或者引用子类对象...

2021-11-01 10:23:29 92

原创 ROS 的多机位通信

主要部分:export ROS_IP=`hostname -I | awk '{print $1}'`export ROS_MASTER_URI=http://192.168.1.102:11311 (实体小车网址)在运行的时候需要保持在同一个局域网下面,ifconfig查看自己主机的网段,需要和小车的保持一致。...

2021-10-30 10:55:47 106

原创 4.4 CPP 继承

4.4.1 语法继承的最大好处就是减少重复性工作,使代码看起来更加简洁、语法:class A pubilc B{ }A类称为子类或者派生类 (特性),B类称为父类或者基类(共性)#include<iostream>#include<algorithm>using namespace std;class MyClass{public: void school() { cout << "清华大学" << endl; } v

2021-10-25 21:19:06 239

原创 4.3 初始化操作与静态成员

目录4.3.1初始化列表4.3.2 类对象作为类成员4.3.3 静态成员4.3.3.1静态成员变量4.3.3.2静态成员函数4.3.1初始化列表C++提供了初始化列表语法,用来初始化属性语法:构造函数():属性1(值1),属性2(值2)... {}实例化一个对象的时候给他初始值。#include<iostream>#include<algorithm>using namespace std;class MyClass{publ

2021-10-19 20:48:26 97

原创 虚拟机 ubuntu 无法和共享主机网络 no wifi adapter found 解决方案

虚拟机 ubuntu 无法和共享主机网络 no wifi adapter found 解决方案如果你虚拟机用的是VMware的话或许解决方案很简单在虚拟机设置里面 设置网络适配器 设置成NAT模式

2021-10-16 16:10:52 1969

原创 4.2 c++构造函数(构造函数、析构函数、拷贝构造函数)

一:函数作用对象的初始化和清理是程序中非常重要的安全问题:一个对象或者变量没有初始状态,对其使用后果是未知,同样的使用完一个对象或变量,没有及时清理,也会造成—定的安全问题。C++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译嚣强制要我们做的事情,因此如果我们不提供构造和析构,编译器会提供的构造函数和析构函数是空实现。一般我们在写一个类的时候,编译器会帮我们自动生成构造函数和析构函数,但是是空的class MyCl

2021-10-14 10:46:00 127

原创 !!!如何在ROS中使用自己的功能包,如何修改ROS的功能包

可能大家在学习ROS之后已经知道ROS的大致框架了,可是ROS只是一个工具,我现在正处于研究生阶段,所以在学习之后需要修改算法应用在ROS里发篇论文,所以最近一直要搞懂需要阅读ROS功能包源码,如何可以修改并加一应用。现在弄懂的第一步就是:在github上下载功能包并编译查看源码(注意是在自己的工作空间下)。这样才可以修改ROS功能包并应用。 一 原理:以我将要研究的navigation功能包为例,我把它下载到自己的工作空间里并编译,这样source之后,在编译的时候ros是首先寻找...

2021-10-11 20:54:38 2478

原创 4. 1类与对象

面相对象的三大特征:封装、继承、多态1.封装的意义:1. 将属性和行为作为一个整体,体现事物2.将属性和行为加以权限控制C++中认为万物皆对象,对象有其特有的属性和行为,类中的属性和行为统称为成员,属性(成员属性、成员变量)、行为(成员函数、成员方法)。class student{ //访问权限public: //类的属性 string name; int number; //类的行为 void show() { cout << name <

2021-09-26 20:44:22 75

原创 ROS中CMakelists.txt中各个字段的说明

cmake_minimum_required() :指定catkin最低版本project() :指定功能包的名称,与CMakeLists.txt中的需要保持一致find_package():指定编译此功能包时需要的依赖的其他功能包,例如如果需要opencv处理图像, 则需要添加cv_bridge功能包catkin_python_setup() :打开catkin的Python Module的支持add_message_files() :如果功能包中用户有自定义消息,则添加自定义Message文件add_s

2021-09-26 11:15:09 367

原创 PDF在线解密网址(免费)

PDF在线解密网址http://freemypdf.com/

2021-09-25 21:11:11 7076

原创 3. C++ 函数的默认参数、占位参数、函数重载

默认参数:函数在定义形参的时候可以有默认值 语法: 返回值类型 函数名 (形参 =默认值){}#include<iostream>using namespace std;void eg1(int a = 0, int b = 0) { cout << "a= " << a << " b = " << b << endl;}int main() { eg1(); // 输出 ...

2021-09-25 14:47:30 134

原创 2 .c++ 引用的使用和值传递、地址传递、引用传递的区别

目录1.c++中引用的基础使用和注意事项2.引用做函数参数2.1函数传递的三种方式:值传递、地址传递、引用传递3.引用做函数参数4.常量的引用1.c++中引用的基础使用和注意事项作用:给变量起别名基本语法: 数据类型 &别名 = 原名引用的本质就是一个指针常量注意: 引用一定要初始化 ,初始化过后不可更改,否则相当于给原名进行赋值操作#include<iostream>using namespace std;int main(){.

2021-09-16 17:27:45 531

原创 利用new操作符在堆区开辟数据

堆区开辟的数据由程序员手动开辟手动释放#include<iostream>using namespace std;//1.new的基本语法int* func() { //在堆区创建整型数据 // new 返回是该数据类型的指针 int * p = new int(10); return p;}void test() { int* p = func(); cout << *p << endl; // 关键字可delete释放空间 delet

2021-09-11 11:44:31 575

Speech_contest.rar

这是一个C++的比赛管理系统。比较适合初学者、项目较小还简单,可以当作课堂作业或者期末作业。 环境是Windows,软件为VSCODE 2019版本。

2021-08-04

空空如也

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

TA关注的人

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