- 博客(19)
- 资源 (19)
- 收藏
- 关注
原创 那些“认怂”的中年人,才是真强大
前段时间,陪我妈去菜市场买菜,碰到一个很多年没见过的学长。他可以说曾是学校最叛逆的一个男生,染黄发、打耳洞,穿着花哨张扬的衣服,总能一眼就从校园里认出。现在他在菜市场开了个档口,要不是我妈提醒,我差点认不出。30多岁的他也略微发福,有些显老,一脸讨好的面对顾客的挑挑拣拣,之前的叛逆、张扬、盛气凌人全都不见了,全然变成了一个普通、甚至有些怂的中年人。这让我想起韩寒,之前韩寒连发两篇长文,说自己当年退学是件很失败的事情,承认当时不应该退学。很多网友吐槽:这还是那个把应试教育抨击的一无是处的韩寒吗?韩
2021-09-13 18:32:22 164
原创 2021-06-24Windows编译 libyuv
0、编译libyuv下载源码:https://github.com/lemenkov/libyuv使用cmake编译生成vs工程,使用VS打开工程后,编译yuv项目即可生成lib文件。这里默认不支持jpg转换,如需要的话,需要在预处理器中设置 HAVE_JPEG1、编译libjpeg的方法如下https://blog.csdn.net/qq21497936/article/details/86155043cd C:\Users\Dell\Downloads\jpeg-9dnmake.
2021-06-24 10:35:06 482
原创 C++ 算法测试
1、在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。bool find_target_from_two_dimensional_array(const int target, const std::vector<std::vector<int>>& array){ size_t row{ array.size() }; /
2021-04-29 12:27:28 237
原创 C++ 基础整理
#include <iostream>class Test{public: Test() { } ~Test() { } void func(int a) { std::cout << "input:" << a << std::endl; m_a = a; std::cout << "set:" << m_a << std::endl; } virtual void fun.
2020-12-16 20:54:43 102
原创 ADTS结构
最近在使用ffmpeg进行AAC编码时,发现输出的aac数据写文件后不能播放,原因是因为每帧AAC没有添加7字节的adts,其数据结构如下:序号 结构名称 字段名称 位数 说明 1 adts_fixed_header 固定头信息 syncword 12 帧同步标识一个帧的开始,固定为0xFFF 2 id 1 MPEG 标示符。0表示MPEG-4,1表示MPEG-2 3 layer 2 固定为00...
2020-10-29 20:06:02 258
原创 c++11的几个新的强制转化:
static_cast:用于实数型与整型,字符型数据之间的相互转化。reinterpret_cast:用于不同类型的指针,不同类型的引用之间的相互转化const_cast:用来去除const属性,比方说const类型指针转化为非const类型指针dynamic_cast:专门用于将多态基类的指针或引用强制转化为派生类的指针或者引用。...
2020-10-26 15:50:37 102
原创 WAV文件格式
wav格式的音频文件,实际上存储的是PCM数据,只要添加上44字节的字符串,即可组装成wav文件.其中44字节的格式如下:数据区 字段名称 字节数 内容 说明 RIFF区 ID 4 RIFF 固定 Size 4 fileSize-8(小端) 文件字节数-8 Type 4 WAVE 固定 FORMAT区 ID 4 fmt 固定,最后一个字符是空格 Size 4 ...
2020-10-19 16:26:57 147
原创 C++ 11 单例模板及使用方式
#include <iostream>#include <string>#include <memory>template <typename T>class Singleton{public: template <typename... Args> static void createInstance(Args&&... args) { if (!m_sptrInstance) { m_spt.
2020-10-09 20:39:59 148
原创 C++ 使用std::make_unique、std::make_shared替换new
C++11中有std::make_shared,C++14中增加了std::make_unique,它们把任意集合的参数完美转发给动态分配对象的构造函数,然后返回一个指向那对象的智能指针。那么它们与new的区别是什么呢?auto upw1(std::make_unique<Widget>()); std::unique_ptr<Widget> upw2(new Widget); auto spw1(std::make_shared<Widget>()); st
2020-08-20 14:13:38 5203
原创 基于C++11 实现生产者消费者N:M方法
所谓生产者消费者模式,即N个线程进行生产,同时M个线程进行消费,两种角色通过内存缓冲区进行通信。1、内存缓存这里使用了一个模板类,实现list的同步读、写。因为模板类的定义和实现必须要在同一个文件中,通常是头文件,编译器要看到模板实现才能展开模板。故本段代码如下:SyncQueue.h#pragma once#include <list>#include <mutex>#include <thread>#include <conditi
2020-08-13 11:03:57 228
原创 C++ 继承
使用已经编写好的类来创建新类,新的类具有原有类的所有属性和操作,也可以在原有类的基础上作一些修改和增补。新类称为派生类或子类,原有类称为基类或父类。一、虚拟继承产生先看如下代码:class A{public: int a;};class B : public A{public: int b;};class C : public A{public : int c;};class D : public B, public C{public...
2020-06-22 11:01:24 101
原创 C++ 重载、覆盖和隐藏
#include <iostream>class Parent{public: Parent() { std::cout << __FUNCTION__ << std::endl; } virtual ~Parent() { std::cout << __FUNCTION__ << std::endl; } void f1() { ...
2020-06-18 10:52:17 211
原创 WIN10 系统无法启动YY开播
今天发现再部分win10计算机上无法启动YY开播,现将解决办法记录如下:1 创建批处理文件,内容如下@echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPol
2020-06-02 12:02:09 18465
原创 C# 调用 C++/C 接口方法
废话不多说,直接上代码:1、使用vs创建C++生成DLL的工程注意要手动添加 extern "C"#pragma once#ifdef LIBCAMBRIAN_EXPORTS#define LIBCAMBRIAN_API extern "C" __declspec(dllexport)#else#define LIBCAMBRIAN_API extern "C" __declspec(dllimport)#endiftypedef void(*recvData)(cons...
2020-05-16 11:42:07 3670
原创 windows查看使用摄像头进程的方法
1. 打开设备管理器。按下Win+R组合键,输入devmgmt.dsc,如下图所示。2. 找到摄像头后,点击右键,选择属性。3. 在属性窗口选择详细信息,在选择属性下拉菜单中的“物理设备对象名称”,复制下图所示的数据。4. 启动ProcessExplorer,选择Find菜单,如下图所示。注:本工具下载地址https://download.csdn...
2020-01-30 15:18:47 13545 2
转载 AMF编码
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412031720398/AMF协议是Action Message Format协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的xml不同在于AMF是二进制数据,而xml是文本数据,A...
2018-03-20 16:44:59 1925
原创 C++多线程记录1
本文主要记录C++中多线程程序的开发中调用windows API的CreateThread的使用方法。创建线程在Windows平台,Windows API提供了对多线程的支持。前面进程和线程的概念中我们提到,一个程序至少有一个线程,这个线程称为主线程(main thread),如果我们不显示地创建线程,那我们产的程序就是只有主线程的间线程程序。 下面,我们看看Windows
2016-06-07 10:40:07 1224
转载 AAC音频裸码流时间戳与时间长度的关系
采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。。正常人听觉的频率范围大约在20Hz~20kHz之间,根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质对采样率为44.
2016-04-27 18:18:21 8819
原创 X264编码
最近研究了x264 , 果然高效简单,不过还有很多概念有待研究。记录最简单的实现,直接上代码#include stdint.h>#include "x264.h"#include "x264_config.h"#include stdio.h>int main(){ int width = 480; int
2016-04-20 17:41:03 541
ProcessExplorer.rar
2020-01-30
windows 直播 Sdk
2017-07-12
windows rtmp推流器
2017-05-24
windows rtmp推流器
2017-05-23
gSOAP工具包
2015-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人