- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 window 各个版本的SDK下载地址
https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive/
2021-01-05 20:50:26
1499
原创 C++程序当前的运行目录
char path[256] = { 0 };int len = GetModuleFileNameW(NULL, dir, 256);
2019-12-26 10:26:33
510
原创 CMake 编写默认编译、链接选项小技巧
选项大全很好的博客:https://blog.youkuaiyun.com/icbm/article/details/52336497写法小记录:这个写法亮度是后面的${CMAKE_SHARED_LINKER_FLAGS_RELEASE}可以保留原本的配置set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMTD.lib ${CMAKE...
2019-12-05 15:09:06
2927
原创 VS调试信息
背景:非控制台项目和一些其他的输出 调试输出信息头文件:#include <Windows.h>代码:char cmd[128] = { 0 };sprintf(cmd, "block size %d\n", size + num + sizeof(MATROSKA_ID_SIMPLEBLOCK));OutputDebugStringA(cmd);...
2019-11-29 17:58:59
175
原创 SDP 控制丢包重传
丢包重传的SDP字段a=rtcp-fb:104 nack (RTP报文丢失重传)a=rtcp-fb:104 nack pli (PLI视频帧丢失重传)a=rtpmap:100 VP8/90000a=rtcp-fb:100 ccm fira=rtcp-fb:100 nacka=rtcp-fb:100 nack plia=rtcp-fb:100 goog-remba=rtcp-fb...
2019-11-28 15:06:23
480
转载 release版本调试
1.工程项目上右键 -> 属性2.c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi)3.c++ -> 优化 -〉优化 选 禁止(/Od)4.连接器 -〉调试 -〉生成调试信息 选 是 (/DEBUG)...
2019-11-19 15:22:09
202
原创 QComboBox
ui.comboBox->addItem(“内容”,“userData”)QString mic = ui.comboBox->itemData(index).toString();
2019-11-14 18:52:26
234
转载 RGB和YUV
表2.3 常见的RGB和YUV格式GUID 格式描述MEDIASUBTYPE_RGB1 2色,每个像素用1位表示,需要调色板MEDIASUBTYPE_RGB4 16色,每个像素用4位表示,需要调色板MEDIASUBTYPE_RGB8 256色,每个像素用8位表示,需要调色板MEDIASUBTYPE_RGB565 每个像素用16位表示,RGB分量...
2019-10-31 15:31:03
250
原创 YUY2 to RGB-32
MEDIASUBTYPE_YUY2 YUY2格式,以4:2:2方式打包MEDIASUBTYPE_RGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位不用)#include<Windows.h>void TransformImage_YUY2( BYTE* pDest, LONG lDestStr...
2019-10-31 15:15:08
564
原创 候选地址收集 OnIceGatheringChange
继承 PeerConnectionObserver下面将用到他的部分方法创建好SDP的时候开始收集候选地址:分为三个状态enum IceGatheringState {kIceGatheringNew,kIceGatheringGathering,kIceGatheringComplete};状态改变的时候回调函数:void RtcStream::OnIceGat...
2019-10-24 19:57:23
736
原创 git 更新子模块
git submodule update --init --recursive会更新子模块所有子模块按照提交的分支但是子分支需要编译的;
2019-10-18 16:48:43
841
转载 LATM格式
LATM格式LATM 的全称为“Low-overhead MPEG-4 Audio TransportMultiplex”(低开销音频传输复用),是MPEG-4 AAC制定的一种高效率的码流传输方式,MPEG-2 TS 流也采用LATM作为AAC 音频码流的封装格式之 LATM格式也以帧为单位,主要由AudioSpecificConfig(音频特定配置单元)与音频负载组成。AudioSp...
2019-10-18 16:09:38
753
转载 ADTS
ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AACES流前添加7个字节的ADTS header。也就是说你可以吧ADTS这个头看作是AAC的frameheader。ADTS 头中相对有用的信息采样率、声道数、帧长度。一般情况下ADTS的头信息都是7个...
2019-10-18 15:59:53
157
原创 QJsonObject的拆解[]里面的数组
今天解析的时候,第一次解析{"key":["value"]} 格式的QJsonObjectQJsonObject data;//假设是data;QString value = data["key"].toString(); //得到的是空;错误做法//正确做法如下QJsonArray urls =data["key"].toArray()QString *str = n...
2019-10-17 20:39:21
2385
原创 跨平台合作下载容易出现问题
背景描述: 昨天编译了FFmpeg 下载的时候将git的配置core.autocrlf=true改成了false ,因为我要在cygwin模拟的Linux系统上进行编译,但是忘记改回来了;导致在一起跨平台的项目下拉代码编译的时候出现错误;错误表现为:1)正常的函数 提示 未识别的标识符;2)还有未加“;”的错误解决方法:git config list ...
2019-10-11 20:50:33
141
转载 window下bat中@echo off 的含义
我们常常会在一些批处理文件中看到@echo off这个命令,那他究竟有什么作用,要想知道这个命令,我们首先得知道echo这个命令的作用,这个命令叫做“回显”,就是把这条命令后的内容显示到控制台上,接下来我们来看一下@echo off命令的作用。我们来新建一个文件,文件就命名为test_echooff.bat,然后在文件中编写如下内容:@echo offecho 这是测试内容的第1行...
2019-10-10 16:18:29
379
原创 QString和Int相互转换
1) int 转换成QSting指定进制QString QString::number ( long n, int base = 10 ) [static]n 十进制数字;base 可以指定转换成字符的进制;如:long a = 63; QString s = QString::number(a, 10); // s == "63" QString t =...
2019-10-09 14:42:50
2828
转载 ffmpeg 术语容器,流,帧,编解码器,复用解复用
什么是容器,流,帧,编解码器,复用解复用术语容器(Container)容器就是一种文件格式,比如flv,mkv等。包含下面5种流以及文件头信息。流(Stream)是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。帧(Frame)帧代表一幅静止的图像,分为I帧,P帧,B帧。编解码器(Codec)是对视频进行压缩或者解压缩,CODEC =COde ...
2019-10-08 16:33:21
309
原创 DES加密原理
DES的安全性依赖于虚假表象,从密码学的术语来讲就是依赖于“混乱和扩散”的原则。混乱的目的是为隐藏任何明文同密文、或者密钥之间的关系,而扩散的目的是使明文中的有效位和密钥一起组成尽可能多的密文。两者结合到一起就使得安全性变得相对较高。密钥构成:64位的密钥包括56+8奇偶校验位(第8,16,24,32,40,48,56,64),对64位为单位的块数据进行加解密。1)填充:DES还是一种...
2019-09-30 16:07:42
1498
原创 SSL/TLS
TLS(传输层安全)是更为安全的升级版 SSL。由于 SSL 这一术语更为常用,因此我们仍然将我们的安全证书称作 SSL。但当您从赛门铁克购买 SSL时,您真正购买的是最新的 TLS 证书,有ECC、RSA 或 DSA 三种加密方式可以选择。TLS是SSL的标准化后的产物有1.0 1.1 1.2三个版本默认使用1.0TLS1.0和SSL3.0几乎没有区别事实上我们现在用的都是TL...
2019-09-25 19:23:35
183
原创 加密密钥暴力破解所需时间
暴力攻击又称为穷举攻击,即依次穷举每一个可能的密钥进行解密运算,直至找出正确的密钥,成功破解密码算法平均需要遍历一半的密钥空间。下表给出了AES和DES算法基于不同长度密钥所对应的暴力攻击的平均时间[1]。随着密钥长度的增加,密钥空间的密钥个数相应增加,DES和AES抗暴力攻击的能力也随之增强。 ...
2019-09-25 19:09:19
9060
原创 http post muti form
主要使用的类:QNetworkRequest request;QNetworkAccessManager m_manager;QEventLoop m_loop;QNetworkReply *reply;函数作用及使用:QNetworkRequest :设置请求的地址(URL);QNetworkAccessManager :向管理器发送HTTP post请求;QNe...
2019-09-24 11:46:21
156
转载 三种常见的http content-type详解
content-type详解刚接触不太了解 找了一篇https://blog.youkuaiyun.com/u014209205/article/details/81147783这个写的更详细:https://www.cnblogs.com/softidea/p/5745369.html介绍http协议是建立在tcp/ip协议之上的应用层协议,主要包括三个部分,状态行,头部信息,消...
2019-09-24 11:26:45
1189
原创 typedef和define
typedef和define区别:#define 预处理指令,在预处理时进行简单而机械性的替换,不作正确性检查;typedef:是定义别名;typedef仅限于数据类型,而不是能是表达式或具体的值PS:在定义指针的时候会有很大差别;#define PTRCHAR char*;typedef char* DEFCHARPTR;PTRCHAR a,b;//a为char*,...
2019-09-19 21:05:46
155
转载 C++宏
C/C++中的宏定义,给程序员提供了更加简洁的表达方式,但是里面的也有一些需要注意的地方:# - 把当前的标识符转化成字符串## - 连接两个标识符,成为一个新的标识符,新的标识符必须是已经有变量名或者宏名称#@ - 把当前的一个字符的标识符转换成变量一个字符,多余多个字符则会提出警告,只取最后一个字符#pragma once#define MSUM(a, b, s){\ s ...
2019-09-19 20:22:51
261
原创 指纹 摘要
简介: 数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。数字摘要就是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。单向散列算法,又称hash函数,Hash函数(也称杂凑函数或杂凑算法)就是把...
2019-09-19 15:34:34
592
原创 TLS交换密钥中的数字证书
1.证书的必要性: 在进行密钥协商的时候,无法确定对方的身份,问题的根源就在于,大家都可以生成公钥、私钥对,无法确认密钥对到底是谁的。此时就需要比较权威的机构进行认证,这就是数字证书。2.证书的内容:一个证书包含下面的具体内容:证书的发布机构 证书的有效期 公钥 证书所有者(Subject) 签名所使用的算法 指纹以及指纹算法(指纹参考:https://...
2019-09-19 15:10:59
438
原创 AES几种加密模式
分组密码有五种工作体制:1.电码本模式(ElectronicCodebookBook(ECB));2.密码分组链接模式(CipherBlockChaining(CBC));3.计算器模式(Counter(CTR));4.密码反馈模式(CipherFeedBack(CFB));5.输出反馈模式(OutputFeedBack(OFB))。1.电码本模式(Electron...
2019-09-19 14:55:21
1690
转载 VS2015中添加依赖库文件的三种方式
本教程以VS2015作为开发工具作为讲解。方法一:直接在源代码中通过预编译指令添加,如:#pragma comment(lib, "user32.lib")方法二:通过references添加,具体操作步骤:展开项目——》右击references——》add references——》选择依赖的库文件项目即可。该方法有个限制就是,库文件必须是通过解决方案中现有工程生成。方法三:...
2019-07-16 18:41:47
1333
转载 VS工程中常用路径宏定义表示$(SolutionDir) $(ProjectDir) $(ProjectName) $(Configuration) (good解释的很清楚)
VS IDE中常用路径 表示$(SolutionDir) 即解决方案配置文件 xxx.sln所在的目录例如D:\WorkSpace\CPPWorkSpace\TestDLL\$(ProjectDir) 表示 xxx.vcxproj所在的目录例如:D:\WorkSpace\CPPWorkSpace\TestDLL\DLL2\$(ProjectName) 代表具体的projec...
2019-07-15 16:58:14
10571
1
转载 C++ using的用法
文章来源:http://blog.youkuaiyun.com/shift_wwx/article/details/78742459前言:今天在看vector.h的时候,碰到一个using的奇怪用法,才疏学浅之前没有碰到过,整理一下。来看下source code:template<class _Ty, class _Alloc = allocator<_Ty>>...
2019-07-13 17:19:29
110
原创 C++编程
C++ 中您可以通过指定不带索引的数组名来传递一个指向数组的指针。C++ 传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址。同样地,您也可以传递一个多维数组首地址作为形式参数。...
2019-06-26 11:57:59
80
转载 TCP 包头详解
转自:https://blog.51cto.com/13854765/2163296TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元...
2019-06-20 15:23:11
1115
转载 IPV4 数据报头部格式
IPV4 数据报头部格式摘自:《深入理解计算机网络》 王达著 机械工业出版社图解图片来自:http://blog.163.com/qhj4433210@126/blog/static/165975282201592251248584/图片来自:http://blog.163.com/qhj4433210@126/blog/static/16597528220...
2019-06-20 15:19:33
521
转载 C++ fill()和fill_n()函数用法(转)
https://www.cnblogs.com/Emilylice/p/7754700.htmlfill 和fill_n函数是C++ Primer第十二章泛型算法部分内容,并把它们称为生成和变异算法,也就是说这两个函数只能对输入范围内已存在的元素进行操作。如果试图对空容器进行fill_n操作,会导致严重的运行错误,所以在对元素进行写入操作时要检查目标的大小是否足以存储要写入的元素。fill...
2019-06-19 14:44:21
189
原创 使用FFmpeg进行不同步音视频调整
1.下载:ffmpeg -i url -vcodec copy -acodec copy out.mp4 //从url拷贝mp4到本地 ffmpeg -t 00:03:00 -i url -vcodec copy -acodec copy out.mp4 只拷贝3分钟-i 输入,后面是空格,紧跟着就是输入视频文件;-ss 00:03:00 //从第三分钟开始 ss: seek-vc...
2019-06-10 15:47:48
7880
1
原创 视频播放器的制作的错误记录;
每次播到最后总是出现堆栈溢出的情况,原来是在读包的时候 AVPacket pkt; memset(&pkt, 0, sizeof(AVPacket));// 没有这个会导致视频播到最后的时候出现内存堆栈溢出查过memset的作用之后就更懵比了,初始化内存;也没什么用处啊,怎么回事有大神知道吗?Qt和VS进行应用编写的时候需要,有时候会出现,Vs的程序中不能...
2019-03-06 15:22:42
196
DIP_pca+lda+kmeans人脸识别程序汇总
2018-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人