自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 资源 (14)
  • 收藏
  • 关注

原创 c++多线程安全同步释放示例

1:最大限度减少锁2:保证多线程安全3: 保证释放同步

2024-04-16 19:54:19 751

原创 ffmpeg命令行

【代码】ffmpeg命令行。

2024-03-27 16:50:54 533

原创 如何在CMakeLists.txt设置多线程编译加速

在windows cmake-gui 编译时候,没有像linux 一样有make -j 实现多线程编译。但是没有多线程编译速度会很慢,为了windows 编译程序时候实现多线程加速可以在。cmakelists.txt 添加下面两句就可以实现多线程编译。

2024-01-07 22:08:27 580 1

原创 安卓adb网络调试

8:adb -s 192.168.60.67:5555 push C:\Users\Administrator\Desktop\2023年度总结草稿\libVideoNetOptimization.so /sdcard/T30/3: setprop service.adb.tcp.port 5555 设置端口。2:ip addr 可以看ip。1:adb shell 进入。

2024-01-03 16:38:28 417

原创 c++ 写一个TaskQueue类

2:当没有数据时候,获取数据会卡住,当有数据时候自动唤醒。1:list 封装,采用c++11 条件变量。

2023-10-26 20:16:54 178

原创 CMakeLists.txt同时生成多个测试工程

【代码】CMakeLists.txt同时生成多个测试工程。

2023-06-26 18:18:53 302

原创 c++11 sleep_for 的设计缺陷

std::this_thread::sleep_for 的设计缺陷在于,依赖系统时间,系统时间修改后,就不准确了。

2023-06-15 16:07:09 917

原创 Java 返回一个数组

【代码】Java 返回一个数组。

2023-04-04 16:58:32 455 1

原创 c++ 读写文件调试

由于每次调试视频音频时候经常需要写文件的操作,感觉累的慌,内部实现一个map , 文件名和FILE * 对应起来。所以写一个类,不用每次都打开文件。

2023-03-29 14:38:50 93

原创 c++11 写一个定时器模型

WorkerThread.cpp 文件。1:单个线程可以添加多个定时器。3:添加删除定时器是同步的。2:完全依赖c++11。

2023-03-24 19:41:56 237

原创 c++11 任务队列

用c++11 写一个任务队列,支持模板的输入。

2023-03-24 19:30:03 121

原创 用脚手架创建express工程

express 工程创建

2022-06-18 15:35:35 285

原创 写一个脚本记录运行程序的top

#保存文件名字LOGNAME=111.logEXE=python#排除python3EXE1=python3for((i=0;;i++));doTIME=`date`RET=`top -b -n 1 | grep $EXE| grep -v $EXE1 | awk '{print systime(), $0}'`echo $RET $TIME $i >> $(pwd)/$LOGNAMEsleep 1done

2022-01-14 14:32:58 332

转载 Windows下模拟linux pipe

linux下的管道可以通过select来捕获事件,在某些场景下非常有用,但Windows下提供的管道就不具备这种特性,为了在Windows环境下也可以实现类似的功能特性,可以用socket模拟pipe实现。代码如下:from http://www.cppblog.com/isware/archive/2011/06/30/149807.htmlint pipe(int fildes[2]){int tcp1, tcp2;sockaddr_in name;memset(&name, 0,

2021-08-07 09:21:08 324

原创 cmakelists.txt 里去除ffmpeg 安全映像

在CMakeLists文件中的`add_executable`或`add_library`之前加set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SA

2021-04-07 15:06:34 198

原创 ffmpeg 命令行操作

从mp4 中提取YUV数据.\ffmpeg.exe -i D:\Home\baibai.avi -pix_fmt yuv420p ./note2.yuv播放yuv数据ffplay -f rawvideo -video_size720x480 .\note2.yuv

2020-12-30 22:58:13 149

原创 循环buffer的c++实现

实现一个循环buffer, 新数据会覆盖旧数据RingBuffer.h#pragma once#include <stdio.h>#include <string.h>class RingBuffer{public: RingBuffer() { size = 0; } ~RingBuffer() { if (buffer) { d...

2020-04-26 00:18:39 1114

原创 c++ 快速排序算法

#include <stdio.h>// 冒泡排序void sortMaoPao(int * array, int len){ for (int i = 0; i < len; i++) { for (int j = 0; j < len - i - 1; j++) { if (array[j] > array[j + 1]) { ...

2020-03-22 18:27:01 389

原创 c++11条件变量和互斥锁

1:写一个链表2:如果超过固定大小push阻塞3:如果链表为空,pop也会阻塞直接看代码,main.cpp#include <stdio.h>#include <list>#include <iostream>#include <thread>using namespace std;class listPack{publi...

2020-03-06 11:53:29 459

原创 nginx+rtmp 服务器搭建,以及ffmpeg 推流拉流

首先安装依赖zl@ubuntu:~$ sudo apt-get install libpcre3 libpcre3-devzl@ubuntu:~$sudo apt-get install zlib1g-devzl@ubuntu:~$sudo apt-get install opensslwget http://nginx.org/download/nginx-1.11.3.tar.gz,...

2020-02-12 12:48:08 760

原创 std::vector 中存储类

在cpp 中vector存储类的时候,什么时候调用构造函数,什么时候调用拷贝构造,什么时候调用等号,删除vector 中的一个类,这个问题值得测试了解一下首先写一个类 FaceInfo.h#pragma onceclass FaceInfo{public: FaceInfo(); ~FaceInfo(); FaceInfo & operator=(const FaceInf...

2020-02-02 11:41:37 1161

原创 Android studio 权限问题

android6.0 后权限比较严格,折腾很久需要两个步骤就可以1:在AndroidManifest.xml 中加入<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RE...

2020-01-10 11:20:55 1145

转载 cmake 编写

非常不错的一个学习cmake 的链接https://blog.csdn.net/afei__/article/details/81201039

2019-10-25 14:40:19 201

原创 vscode 如何编辑python 代码

1: 假设你已经安装了anaconda3然后安装了vscode , 怎么配置才可以在写代码时候可以自动补齐方法如下:1: ctrl + p 会弹搜索框, 输入json找到 launch.json 打开,修改成{ // Use IntelliSense to learn about possible attributes. // Hover to view descript...

2019-08-16 08:53:57 818

原创 cmake 添加opencv 动态库

CMakeLists.txtcmake_minimum_required (VERSION 2.8)# 项目信息project (server)SET(CMAKE_C_COMPILER g++)add_compile_options(-std=c++11)# 查找当前目录下的所有源文件# 并将名称保存到 DIR_SRCS 变量aux_source_directory(. DIR...

2019-08-13 10:36:37 4917

原创 Cmake 实践

Cmake实践

2019-08-12 14:49:53 149

翻译 ffmpeg 设置问题总结

1.设置rtsp超时AVDictionary* opts = NULL;av_dict_set(&opts, “rtsp_transport”, m_bTcp ? “tcp” : “udp”, 0); //设置tcp or udp,默认一般优先tcp再尝试udpav_dict_set(&opts, “stimeout”, “3000000”, 0);//设置超时3秒int ...

2019-07-23 14:58:33 3527

原创 c++ sleep 用法

#include #include int main(){std::chrono::milliseconds dura(40);std::this_thread::sleep_for(dura);}

2019-07-12 11:10:04 706

原创 protobuf 静态编译

一.protobuf 安装protobuf版本:2.6.1下载地址:https://github.com/google/protobuf/archive/v2.6.1.zip解压之后进入目录修改autogen.shecho "Google Test not present. Fetching gtest-1.5.0 from the web..."curl http://google...

2019-06-19 11:30:57 2082

原创 Makefile 如何调用opencv 的静态库

#include <stdio.h>#include "opencv2/opencv.hpp"int main(){ cv::Mat image = cv::imread("./testPic/jianhui.jpg"); //cv::imshow("xxx", image); //cv::waitKey(40); printf("ima...

2019-06-14 16:50:56 3731

转载 新安装的ubuntu16.04无法连接wifi

https://blog.csdn.net/weixin_41762173/article/details/79480609

2019-06-03 16:49:25 1432

原创 caffe 在window上的编译

1:下载源码 https://github.com/BVLC/caffe.git2: 切换到windows 分支 : git checkout windows, 如果是下载zip, 切换到windows 分支3: 参考网址 https://blog.csdn.net/qwfzpk/article/details/79112097注意事项:1:下载 Anaconda python 3.5(...

2019-05-10 15:36:26 446

原创 ffmpe3.4.1 YUV数据保存成Mp4 文件

简单封装了一下,只有三个文件 writemp4.h writemp4.cpp main.cpp采用ffmpeg3.4.1wirtemp4.h#pragma once#ifndef WRITEMP4_H#define WRITEMP4_Hextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avf...

2019-04-04 14:45:48 1515 1

原创 opencv 截取图像

// 放大原始框#define CLAMP(a, s, m) ((a) < (s)? (s) : ((a) > (m) ? (m) : (a)))// 输入矩形的两个点坐标,将坐标延申后输出void BigRect(int width, int height, int x0, int x1, int y0, int y1, int &x_left, int &...

2019-03-22 16:14:59 3552

原创 c++ 写一个log日志,类似google的glog,但更简单

功能:1:将log 日志保存到文件2:文件名字以时间戳命名3:可以自动删除老的日志文件4:可以设置每个日志文件的大小 5M或者其他源码提供,超级简单,可以非常简单的添加到工程中,终于不用配一些第三方库了共三个文件GetFileName.h myLog.h myLog.cpp测试文件为main.cppGetFileName.h // 获取文件夹中所有文件名#ifnde...

2019-03-20 19:58:54 1238 1

原创 FFmpeg 解码H264数据为BGR数据

封装成一个类ffmpeg 库是3.4.1FFmpegDecodeH264.h#pragma once// 此类设计输入H264码流,输出BGR buffer 数据#include &amp;amp;lt;stdio.h&amp;amp;gt;extern &amp;quot;C&amp;quot;{#include &amp;amp;lt;libavcodec/avcodec.h&amp;amp;gt;#include &a

2019-03-06 15:58:27 1909 3

原创 google glog 使用方法

只保留最新的5 个loglogprocessor.h#ifndef LOGPROCESSOR#define LOGPROCESSOR#include &amp;lt;stdio.h&amp;gt;#include &quot;glog/logging.h&quot;#include &quot;glog/raw_logging.h&quot;#define OutputLog_Info(format, ...) \{

2019-01-22 19:59:58 998

原创 jsoncpp 序列化和反序列化的demo

/*{ "width" : 640, "height": 480, "Base64": "hello world and this is a Base64 image ", "feature":[0.22, 0.38, 0.68, .......]}*/void testJson(){ // 将上面的结构数据,序列化为一个字符串 Json::FastWriter w...

2019-01-07 16:36:16 2752 2

原创 opencv的Mat数据和JPG数据的相互转化

Mat 一个图像数据转化为jpg图片buffer 压缩率可以变为原来的 1/ 15 - 1 / 10Mat2Img.h#ifndef MAT2IMG_H#define MAT2IMG_H#include "opencv2/opencv.hpp"#include &lt;vector&gt;namespace rr{ class Mat2Img { public: M...

2019-01-07 16:28:49 23292 2

原创 xshell 链接虚拟机ubuntu 失败

xshell6 可以ping 通虚拟机的ip 但是无法链接,原来虚拟机没有安装ssh-server 这个服务sudo apt-get updatesudo apt-get install openssh-serverps -e | grep ssh // 查看一下如下:表示启动3246 ? 00:00:00 sshd3321 ? 00:00:00 ssh...

2019-01-04 15:17:27 511 1

cmakelists 生成静态库,然后用静态库生成动态库,然后生成测试程序

1:模块化CMakeLists 的写法 2:每个模块先生成静态库 3:把各个静态库生成一个动态库 4:生成一个测试demo 验证动态库

2020-10-12

ffmpeg3.4.1 将YUV数据封装成Mp4文件

封装了ffmpeg api 只调用三个函数,初始化,反初始化,编码生成Mp4 , 方便工程嵌入

2019-04-04

c++ 打印log 日志到文件

1:可以删除旧的log日志 2:可以设置每个日志的大小 3:c++ 代码简单

2019-03-20

c++ log日志

将打印日志输出到文件中,方便查看bug , 类似于glog 一样,只是更简单

2019-01-24

jni c++ 返回一个类

本例子包含一个eclipse 工程和vs2015 工程, 可以实现c++ 返回一个java 的类

2018-12-20

C++连接activityMQ

c++ 连接activityMQ, 本代码创建两个线程,一个生产者线程,一个消费者线程。前提是先装好运行activityMQ这个服务

2018-09-26

Qt5多线程同步

用信号量实现两个线程间的交替执行,相对于条件变量更简单

2018-08-14

CJSON库的应用

如何把结构体数据存储为CJSON的格式,然后再从 字符串中解析出来用到的数据

2018-05-17

jni传参实例

主要帮助我们知道如何把android的参数传递到c++,然后让c++如何的使用,以及c++的返回值给android使用,如何在底层开辟安卓空间

2017-09-05

vs的属性配置文件

每一次都配置vs属性太麻烦,所以保存起来,里面配置了opencv的路径,下次直接改就好了

2017-07-11

Fast 算法C++代码

本人近来研究OpenCV的Fast 的源码,发现opencv 对Fast 的算法写的有优化,并不方便初学者来理解代码,本人根据Fast 算法的原理,写了一个相对非常好理解的Fast 算法,在速度上不如opencv, 但是在代码的理解和简洁上绝对是更胜一抽,希望能帮助更多学习Fast 算法的同学们,请大家相信,本程序Fast 的结果经过验证和opencv 结果一样,请大家放心使用。

2017-06-16

Linux 下实现的聊天系统,TCP实现

实现一个服务器程序和一个客户端程序,开启服务器后,客户端可以注册账号,然后登陆,可以实现多个客户端之间的相互聊天,代码简单易懂,主要用到TCP和多线程的知识,仅供初学者参考。

2017-04-25

安卓打开摄像头,通过jni将预览数据NV12传到底层,底层打印成图片

安卓打开摄像头,通过jni将预览数据NV12传到底层,底层打印成图片,也可以进行其他处理,将结果返回给安卓层

2017-04-18

android 点击图片通过jni在底层处理,然后在屏幕上显示

通过一个按钮,选择一张图片,通过jni 将图片信息传到底层,然后将处理后的数据传回安卓层,手写通用版的Android.mk ,让你迅速搭建一个工程测试你的底层代码,一个积分,绝对值得。

2017-03-02

空空如也

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

TA关注的人

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