- 博客(65)
- 资源 (19)
- 收藏
- 关注
原创 CMake命令详解
假设五个源文件需要反复使用,每次直接将他们的名字写出来很麻烦,需要定义一个变量,将文件名对应的字符串存储起来,在cmake中使用set。# SET 指令的语法# [] 中的参数为可选项,如果不需要可以不写VAR:变量名VALUE:变量值# 方式1 各个源文件使用空格间隔# 方式2 各个源文件使用;间隔div.c;main.c;sub.c)# ${} 取变量的值add_definitions(-D宏名称 [<-D宏名称>...])
2025-01-09 14:13:14
1130
原创 VSCode GDB远程嵌入开发板调试
VSCode 安装在windows上,windows上虚拟机有源代码,使用VSCode 远程虚拟机的需要安装 Remote-Develop相关插件,在虚拟机上编译,在板子上启动gdb server,通过VSCode 启动虚拟机里面的gdb 挂在到板子上进行远程调试。
2024-12-06 15:48:32
1690
原创 unique_ptr
unique_ptr是独占型智能指针,不允许其他指针共享内部指针,不允许赋值unique_ptr 可以通过函数返回给其他的unique_ptr,还可以通过std::move来转移unique_ptr,这样它本身不再拥有原来指针的所有权。如果不是数组,直接创建unique_ptr。如果是数组,先派单是否是定长数组,如果是定长数组编译不通过,如果是非定长数组,则获取数组中的元素类型,根据size创建动态数组。==
2024-12-01 22:16:20
593
1
原创 weak_ptr
这是因为std::weak_ptr并不是一种独立的智能指针,而是std::shared_ptr的一种扩充。std::weak_ptr一般是通过std::shared_ptr来创建的。当使用std::shared_ptr完成初始化std::weak_ptr的时刻,两者就指涉到了相同位置,但std::weak_ptr并不影响所指涉到的对象的引用计数。std::weak_ptr的空悬(dangle),也被称作失效(expired)。
2024-12-01 22:11:50
434
原创 unique_ptr
unique_ptr是独占型智能指针,不允许其他指针共享内部指针,不允许赋值unique_ptr 可以通过函数返回给其他的unique_ptr,还可以通过std::move来转移unique_ptr,这样它本身不再拥有原来指针的所有权。如果不是数组,直接创建unique_ptr。如果是数组,先派单是否是定长数组,如果是定长数组编译不通过,如果是非定长数组,则获取数组中的元素类型,根据size创建动态数组。==
2024-12-01 22:10:52
882
原创 shared_ptr
通常用auto定义一个对象来保存make_shared的结果。当进行拷贝或赋值操作时,每个shared_ptr都会记录有多少个其它shared_ptr指向相同的对象。可以认为每个shared_ptr都有一个关联的计数器,通常称其为引用计数(reference count)。无论何时拷贝一个shared_ptr,计数器都会递增。例如,当用一个shared_ptr初始化另一个shared_ptr,或将它作为参数传递给一个函数以及作为函数的返回值时,它所关联的计数器就会递增。==当给shared_ptr赋予一个新
2024-12-01 22:09:50
798
转载 MPEG-2 文件结构解析
代码实现:mpeg-2文件分析器代码实现ide一个完整的MPEG-2文件就是一个PS流文件。spaMPEG-2文件的构造格式以下图:.net 本身找个mpg文件打开,能够看到文件以0x0000 01B9结束(有些文件不标准没有),即MPEG_Program_end_code,以前有不少个0x0000 00BA字段,即为program pack的开始标志,program pack包的构造以下:rest能够看出program pack由3部分组成:pack_head...
2022-04-01 11:16:27
766
原创 SIP协议详解
SIP协议基本介绍背景介绍Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)-有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本。SIP(会话初始协议)和这些协议一样,同样允许使用Internet端点(用户代理)来寻找参与者并且允许
2022-04-01 11:07:59
49645
2
原创 VSCode + CMake 编译调试
一、要进行VSCode的调试首先需要先安装CMake和VSCode,在这就不在进行描述了,可以自行百度安装,一般都是傻瓜式的安装linux和windows类似,我的是在Ubuntu下,安装效果如下图:二、安装VSCode的插件,可以自行按照我提供的截图的方式安装三、开始第一个工程。创建目录,并将CMakeLists.txt和main.cpp放到该目录下,如图:创建CStart目录,并将CMakeLists.txt和main.cpp放到该目录下。CMakeList.txt 内容,具
2020-09-28 16:21:19
12659
1
转载 虚拟机中ubuntu不能联网问题的解决——NAT方式
设置虚拟机不能联网是很痛苦的,这里我就ubuntu的NAT上网问题就个人经验讲一下,其他的桥连接等没有使用就没有经验了。1.查看/设置下NAT的网络打开VMware Workstation,点击编辑——虚拟网络编辑器,查看NAT模式的网络。如下图示,如果你对自动分配的子网IP不喜欢的可以点击还原默认设置,不过还是会自动分配的,不能自己设置的。点击NAT设置,查看子网IP...
2020-03-11 11:40:06
328
转载 视频压缩编码的基本原理
1.预测编码1.1.预测编码基本概念预测法是最简单和实用的视频压缩编码方法,这时压缩编码后传输的并不是像素本身的取样幅值,而是该取样的预测值和实际值之差。大量统计表明,同一副图像的临近像素之间有着相关性,或者说这些像素值相似。而且同帧图像中邻近行之间对应位置的像素之间也有较强的相关性。人们可以利用这些性质进行视频压缩编码。如图,同一帧内的临近像素中与 X 之间的距离近的像素,如...
2020-02-26 13:20:32
836
原创 H264解码过滤花屏视频帧
众所周知视频在各个领域占有极为重要的地位,安防领域,互联网,医药,教育等等等等。扯淡我就尽量不多扯了,现主要扯安防领域吧,安防领域尤其是视频分析领域,视频质量要求比较苛刻。下面介绍一下场景比较苛刻的图片情况:1.这种2.这种花屏现象,在视频接入解码过程中尤为常见,(比如28181接入,rtsp等等),解码大家都考虑使用ffmpeg进行解码,首先考虑的可能是解码错误直接从解码过程...
2019-11-22 11:38:37
3819
2
原创 针对ffmpeg 解码h264优化
ffmpeg解码花屏,拖影,等等问题相信大家都遇见过,对于一些知识简单看视频的花点一瞬间过去可能影响不太,但对于做机器视觉的行业安防行业做视频分析,可能一张图花了造成误检测,没办法只能硬着头皮去解决,一开始无从下手,一开始的方案是看到的一片博客,地址https://blog.youkuaiyun.com/u013354805/article/details/51611391但是我找了半天如何增加全局变量,...
2019-07-25 15:23:05
5294
原创 ffmpeg qsv 编译
ffmpeg 的编译一直困扰很长时间,平时一直是直接用官网的ffmpeg builds库,但是设计到ffmpeg的qsv硬解没办法只能自己编译,感激参考博客https://blog.youkuaiyun.com/ww506772362/article/details/84643969看完该博客之后相信qsv的64位编译已经编译好了,重点说不同之处32位编译,(重点)注意在编译32位和64位时注意切换工具链...
2019-04-11 09:44:10
1947
2
转载 ffmpeg configure配置选项
帮助选项Help options 标准选项Standard options 许可证选项Licensing options 配置选项Configuration options 程序选项Program options 文档选项Documentation options 组件选项Compone...
2019-04-09 16:41:22
1210
原创 GB28181 ps流解析出h264
PS流格式可以自行网上搜索很多资料,参考网址:https://blog.youkuaiyun.com/u012519333/article/details/53208767#ifndef __ACTIVE_PS_PARSER_H_ #define __ACTIVE_PS_PARSER_H_ typedef void APSPARSER_H; //ACTIVE_PS_PARSER_HANDLE ...
2019-03-24 10:58:21
2466
4
转载 GB28181开流SDP各个字段汇总整理
附录F中,对SDP各字段并没有全部说明详细,笔者根据第9章各相关小节,对SDP的字段做一下整理。理解不到位之处,还请读者朋友不吝斧正!回话描述字段:v=0 --sdp协议版本o=64010000002020000001 0 0 IN IP4 172.18.16.3 --<用户名><会话id><版本><网络类型><地址类型>&...
2019-03-18 09:41:51
2925
转载 流媒体常见资源
流媒体常见资源By ahuner http://www.cnblogs.com/aHuner/p/3629709.html 1.视频源下载MPEG-2 Transport Stream Test Patterns and Tools:http://www.w6rz.net/HEVC/H.265, AVC/H.264, MPEG-4, MPEG-2 video:http://w...
2019-02-22 11:59:05
1024
转载 (搬运工)推荐!国外程序员整理的 C++ 资源大全
http://www.cppblog.com/ming81/archive/2014/10/27/208684.aspx 标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library:标准模板库 C POSIX...
2019-02-22 11:57:03
489
原创 英伟达N卡硬解码ffmpeg取流
随着祖国的伟大复兴,科技的发展,客户的需求,终于项目上需要硬解了,因为相机的发展低分辨率的视频已经满足不了客户越来越膨胀的欲望了,没办法只能搞一搞硬解了。首先说一说在调研中遇到的一些弯路:1.想到硬解首先考虑到能运用自己所学知识最好,当然首先考虑到的就是FFmpeg,于是就下载了最新的ffmpeg库,找到了HWDecode.c改吧了改吧,本以为奏这么简简单单奏搞定了,但是皇天不负有心人最终...
2019-01-08 18:08:52
3914
10
转载 QT mouseMoveEvent事件(qmainwindow内追踪鼠标事件事件)
最近用Qt软件界面,需要用到mouseMoveEvent,研究了下,发现些问题,分享一下。在Qt中要捕捉鼠标移动事件需要重写MouseMoveEvent,但是MouseMoveEvent为了不太耗资源在默认状态下是要鼠标按下才能捕捉到。要想鼠标不按下时的移动也能捕捉到,需要setMouseTracking(true)。bool mouseTracking这个属性保存的是窗口部件跟踪鼠标...
2018-11-19 18:09:37
1819
1
转载 H.265/HEVC —— 帧内预测
在H.265/HEVC中,35种预测模式是在PU的基础上定义的,而具体帧内预测过程的实现则是以TU为单位的。编撰规定PU可以以四叉树的形式划分TU,且一个PU内所有TU共享同一种预测模式的形式划分TU,且一个PU内的所有TU共享同一种预测模式。H.265/HEVC帧内预测可分为以下3个步骤:**1.判断当前TU相邻参考像素是否可用并做相应的处理2.对参考像素进行滤波3.根据滤波后的参考像素...
2018-11-19 14:31:13
2972
转载 Qt 的样式QTableWidget和QListWidget
QListWidget和QTableWidget的使用和属性,QTableWidget和QListWidget样式表的设置,滚动条的样式设置一、QListWidget的使用//一、QListWidgetlist_widget = new QListWidget();//list_widget->resize(200,300);list_widget-...
2018-05-22 16:57:36
1343
原创 Qt实现app界面程序出现卡着不动的解决
最近在Qt项目中遇见一个问题比较奇怪,就在程序最小化之后,再点击显示发现界面会出现卡着不动的现象。出现这个问题开始考虑是可能是样式导致的问题,但是让样式不起作用之后仍然出现该现象,在一番搜索之后发现有人已经解决该问题。问题的原因:widgets freezing after minimise window(点击图标,app不刷新,设置setWindowFlags(Qt::FramelessWind...
2018-05-04 14:02:52
3068
转载 Ubuntu mysql 安装使用(必须安装开发包否则无法找到开发库)
ubuntu上安装mysql非常简单只需要几条命令就可以完成。 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-dev 安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成
2018-02-05 11:21:26
653
原创 Linux mysql 问题undefined reference to `uncompress'
出现该问题的主要原因的缺少zlib库,我用的是ubuntu系统,介绍ubuntu安装zlib。zlib的官网打不开,apt-get insatll zlib也找不到软件包,貌似不在软件源里?解决方法是打开ubuntu software center,搜索zlib,找到zlib1g-dev这个包,安装成功。命令行方式:sudo apt-get install zl
2018-02-05 11:19:27
2072
转载 ubuntu 16.04 搜狗输入法安装:
版权声明:本文为博主原创文章,未经博主允许不得转载。 1.下载搜狗输入法的安装包 下载地址为:http://pinyin.sogou.com/linux/ ,如下图,要选择与自己系统位数一致的安装包,我的系统是64位,所以我下载64位的安装包 2.按键Ctr+Alt+T打开终端,输入以下命令切换到下载文件夹:[
2018-02-05 11:15:41
1897
原创 Windows API WaitForSingleObject 移植到Linux替换
最近在搞Windows项目往Linux移植,遇到个问题是windows 的WaitForSingleObject 如何使用Linux的方式替换,先贴一下代码:#ifndef _OSA_SEM_H_#define _OSA_SEM_H_#include "globalDefine.h"#include #include #include #include #include #inc
2018-01-31 12:07:32
2730
转载 ubuntu 16.04 安装中文输入法
最近刚给笔记本装了Ubuntu+win10双系统,但是ubuntu16.04没有自带中文输入法,所以经过网上的一些经验搜索整合,分享一下安装中文输入法的心得。本文主要介绍了谷歌拼音跟ibus中文输入法的安装,由于ibus输入法问题较多,所以目前我用的是谷歌输入法。一.google pinyin的安装1.安装汉语语言包[html] view plain copy
2018-01-30 18:41:00
940
原创 windows 问题 LoadLibrary失败,GetLastError= 193
LoadLibrary A.DLL失败,GetLastError返回193 ,%1 不是有效的 Win32 应用程序。可能A.DLL关联的B.DLL未更新,比如应用中使用了新的DLL有新增接口(GetVersion),而当前使用的B.DLL未更新,会出现193错误。(其实就是你动态加载的库,而动态加载的库又依赖别的动态库,而你只是替换里动态加载的库,而那个动态库依赖的库没有更新)还
2017-11-27 14:20:48
11562
原创 Makefile 中使用的函数
最近要搞Windows产品进行Linux移植,搞视频监控相信大家都知道海康这个龙头老大,最近看海康linux64 consoleDemo,无界面编程需要留了解他的Makefile文件了,在网上查了查这些函数的使用及方法作用,记录一下备忘。Foreach:foreach 函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Uni
2017-11-16 16:32:32
285
原创 I/O复用的场景
1.当客户端处理多个描述符(通常是交互式输入和网络套接字)时,必须使用I/O复用。2.一个TCP服务器既要处理监听套接字,又要处理已经连接套接字,一般要用I/O复用。3.一个服务器既要处理TCP又要处理UDP,一般用I/O复用。4.一个服务器要处理多个服务或者多个协议如:inetd守护进程,一般要使用I/O复用。
2017-11-14 18:26:40
266
转载 vim 打造超强IDE集成开发环境
ubuntu 下vim安装、配置和插件的添加使用(2012-11-07 17:13:45)转载▼标签:杂谈多个大写效果字符分类:Linux的学习***********************************************作者:Caesar日期:2012-11-07修改历史:2013-0
2017-11-14 14:13:10
4007
1
原创 ffmpeg VS2013 编译调试
ffmpeg编译在windows编译调试一直使自己头疼,用的比较多的方法一直是使用mingw什么东西的,也没弄太清楚,最近发现有一个叫 Oliver的家伙搞了个shiftpoject ffmpeg,参考网址:https://github.com/ShiftMediaProject现在说说我的编译经历:我首先下载的他的工程ffmpeg,根据他的讲解,找了个傻瓜编译方式,按照他的方式,先安装了
2017-08-25 15:44:29
3371
5
原创 简单实现工厂模式
C++理解面向对象的思想:封装,继承,多态在工厂模式中体现,以计算器为例:加减乘除继承自接口类getResult接口实现获取预算结果首先创建类似于接口类实现Opera.h:#pragma onceclass COperator{public: COperator(void); virtual ~COperator(void);protected: double numbera
2017-08-13 23:55:46
282
原创 ffmpeg 播放rtsp流认证问题
最近研究使用ffmpeg播放rtsp url问题,播放海康rtsp流例如接入onvif的url:rtsp://10.10.129.188:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1如果相机没有进行rtsp相关的rtsp认证,可以直接使用ffplay播放,可以如果相机开启了rtsp认证该怎么办?查了查ffm
2017-08-09 17:58:58
8153
3
转载 vs2013 vs2015 集成环境yasm 配置
环境: Windows 7 64位 VS2013 windows 10 / VS2015目标: 在vs2013(VS2015)中集成yasm编译环境,使用asm和c++相互调用。地址: yasm 下载 http://yasm.tortall.net/Download.html1。下载vsyasmWin32 VS2010 .zi
2017-07-20 16:04:44
1876
vlc vs2010 编译源码
2016-10-28
android ffmpeg x264 aac 一键编译脚本包含readme使用方法
2015-09-02
编译好的android版ffmpeg库libffmpeg.so
2015-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人