自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (7)
  • 收藏
  • 关注

原创 DSL语言基本语法

要使用这种查询表达式,只需将查询语句传递给 query 参数空查询语句:你可以使用 match 查询语句 来查询 tweet 字段中包含elasticsearch 的文档。

2024-04-06 21:58:20 550

原创 条件变量的使用(golang)

条件变量的使用场景是,当满足某个条件时,触发某个动作,类似于排队打饭或者挂号看病,当医生或者打饭员准备好后,就触发看病或者打饭的动作。con.Wait()该函数会将当前协程放入等待队列并阻塞,直到Signal或Broadcast方法将协程从等待队列中移除并唤醒。唤醒等待队列中的一个子协程,先唤醒最先阻塞的子协程,被唤醒之后,子协程继续执行。Broadcast功能类似Signal,不同的是signal只唤醒一个子协程,而broadcast是唤醒所有阻塞的子协程。

2024-04-06 21:57:43 602

原创 tritonserver学习之九:tritonserver grpc异步模式

gRPC的异步模式允许服务器同时处理多个客户端请求,而不会因等待某个请求的响应而阻塞其他请求的处理。这使得TritonServer能够充分利用系统资源,提高并发性能,从而能够更高效地处理大量的模型推理请求。:在异步模式下,服务器不会为每个请求创建单独的线程或进程,而是将请求放入队列中,并通过事件循环机制来处理这些请求。这减少了系统资源的开销,使得TritonServer能够在有限的资源下处理更多的请求。

2024-03-11 22:44:18 951

原创 tritonserver学习之八:redis_caches实践

triton redis_cache实践

2024-02-27 22:51:52 933 1

原创 tritonserver学习之七:cache管理器

triton中cache的设计,主要是用来提升推理性能,实现机制为缓存不同的推理请求,当相同的请求到达triton,则可以直接从缓存中获取结果,而不再经过推理,这样不仅降低了整个过程的耗时,同时也节省了算力。还是老样子,triton中每个类,都会设计一个静态的create函数,用于创建本类的对象,reids_cache也一样,create函数完成对象的创建并赋值给入参【cache】,同时建立与redis的链接。将缓存内容,从triton的缓存中拷贝到cache_manager类定义的缓存中。

2024-02-21 07:10:15 982 1

原创 tritonserver学习之六:自定义c++、python custom backend实践

tritonserver学习之五:backend实现机制////// PROFITS;.c_str());// success。

2024-01-30 23:00:28 1092

原创 tritonserver学习之五:backend实现机制

TRITONBACKEND_Initialize:创建ModelState对象。TRITONBACKEND_ModelInstanceInitialize:创建ModelInstanceState对象,可以通过这个对象调用LoadModel函数tritonserver学习之二:tritonserver编译-CSDN博客,博客中介绍的backend的类,主要还是一个proxy的作用,直接调用深度学习api的还是对应的backend,大家可以自己学习理解下,不清楚的,欢迎评论交流。

2024-01-24 21:39:24 1149

原创 tritonserver学习之三:tritonserver运行流程

完成,这些代码基本都分布在:core代码中,是tritonserver的核心代码,后面对triton的学习和探索,基本就按照这个流程图进行,有全局,有局部,这样思路会比较清晰。完成,命令行的设计、注册、解析等功能都在这个类里。

2024-01-16 06:57:11 524 1

原创 tritonserver学习之二:tritonserver编译

【代码】tritonserver学习之三:tritonserver源码编译。

2024-01-09 15:19:42 628 2

原创 tritonserver学习之一:triton使用流程

进入client镜像,测试tritonserver推理。

2023-12-27 11:22:41 787 1

原创 tritonserver学习之四:命令行解析

getopt用来解析命令行参数,但是只能解析短选项,例如:-b 100,不能解析长选项--prefix。选项a是可选参数,可以不带参数。

2023-08-23 06:59:19 376 2

原创 grpc使用总结(golang)

异步模式使用场景:当一个任务的处理时间比较长时,不能一直占用工作线程,需要异步启动另一个线程去做,完成之后通知回server的工作线程处理,总之,就是不能阻塞工作线程。grpc异步模式使用【ServerCompletionQueue】队列承载客户端的请求事件(事件类型需要提前注册),当客户端发来请求,从队列中取出请求,并对其进行处理。客户端向服务端发送流式请求。注册事件---等待请求---获取请求---入队列---出队获取任务---处理---返回---完成状态入队列---清理本次处理申请的资源。

2023-07-31 19:45:28 4253 1

原创 nginx内存池

1、内存池关键数据结构1.1 描述内存池的总数据结构// 内存池数据结构struct ngx_pool_s{ ngx_pool_data_t d; // 内存池的数据区域 size_t max; // 最大每次可分配内存 ngx_pool_t *current; // 指向当前的内存池指针地址。ngx_pool_t链表上最后一个缓存池结构 ngx_chain_t *chain; // 缓冲区链表 ngx_pool_large_t *larg

2022-01-13 21:11:02 1215

原创 注册ffmpeg滤镜过程

1.注册流程在libavfilter目录下,创建vf_lpscale.c文件,这个文件为具体的滤镜代码文件。 在libavfilter目目录下,修改allfilters.c文件中,增加:externAVFilterff_vf_arlpscale; 在libavfilter目录下,修改Makefile,增加一行:OBJS-$(CONFIG_ARLPSCALE_FILTER)+= vf_lpscale.o 重新配置,执行configure,生成config.mak/configh.h 编译ffm..

2020-07-30 21:41:32 495 1

原创 利用av_read_frame解码aac、mp4多媒体文件为pcm

1.解码流程本篇博客接上一篇,上一篇博客《利用av_parser_parser2函数,解码aac音频》,上一篇博客是使用av_parser_parser2函数进行音频的解码,这种方法只能解码aac,本篇博客使用av_read_frame函数,可以直接从mp4中解码出pcm音频数据。无论是从流程上还是代码上和上一篇类似。2.代码visualstudio环境代码:#pragma warning(disable : 4996);#include "DecodeAudio2.h"...

2020-07-18 10:36:04 627

原创 利用av_parser_parser2函数,解码aac音频

1、音频解码音频的编码格式很多,最常用的应该就是aac编码,acc+h264封装成mp4多媒体文件,最常用的音频属性大概为:双通道立体声、44100hz采样(截图中是48K,本例程的mp4是48k音频)。2、解码流程visual studio环境:https://github.com/liupengh3c/goffmpeg3、源码#pragma warning(disable : 4996);#include "DecodeAudio.h"extern "C"{#in.

2020-07-16 22:44:14 746

原创 利用av_read_frame解码h264、mp4多媒体文件为yuv

1、解码在上一篇博客《利用av_parser_parser2函数,解码h264文件》中,只能解码h264文件为yuv,不能直接从mp4、avi等多媒体文件中直接解码yuv,本文不仅可以解码h264文件到yuv,而且也支持直接从mp4中提取视频并解码为yuv,相比上一篇博客中的方法更通用一些。2、解码流程解码mp4文件比解码h264多了一个步骤:从视频流(stream)中复制参数到解码器上下文(AVCodecContext)中,这是一个必须的步骤,解码h264此步骤可以省略。3、代码v

2020-07-13 22:18:28 1114

原创 利用av_parser_parser2函数,解码h264文件

1、解码原始的图像数据是非常庞大的,本示例的视频20s,分辨率1280*720,原始的yuv420p数据大概在1.4G,如果是2个小时的电影、分辨率为1920*1080,原始的yuv数据可想而知会有多大,所以无论是音频还是视频数据都会经过编码,以降低多媒体mp4、mov等视频的容量。利用av_parser_parser2解码,输入必须是只包含视频编码数据“裸流”(例如H.264、HEVC码流文件),而不能是包含封装格式的媒体数据(例如AVI、MKV、MP4)。2、解码流程懒的画图了,直接手写

2020-07-12 19:23:06 1492

原创 mp4文件解封装为h264+aac(dts)两个文件

1、原理mp4的文件一般情况下是有video的编码文件+audio的编码文件封装而成,典型mp4文件,是有h264+aac组成(代码示例中的mp4音频是dts编码),如下图2、流程上面的流程图和代码的注释是一一对应的,可以结合代码理解一下。3、代码代码的运行环境是visualstudio2019,如果要运行在linux上,代码基本上差不多,需要在linux上编译ffmpeg的库,然后通过cmake编译运行。visual studio环境代码:/* 将mp4文件解封装.

2020-07-12 12:08:18 2175

原创 ffmpeg实现画中画

本篇博客相比上一篇《ffmpeg滤镜学习一,movie+overlay滤镜实现视频加水印、画中画》更深入一些,本次的实现,可以控制子画面出现的时间段、子画面播放时间等,这篇文章主要参考了大师兄悟空公众号下的文章《使用 FFmpeg 实现画中画效果(一)》,下面看一下具体实现:首先提出5个问题: 子画面展示位置? 子画面从主画面的哪个时间点开始播放? 子画面从子画面的...

2019-12-30 22:18:19 3637

原创 ffmpeg滤镜学习一,movie+overlay滤镜实现视频加水印、画中画

1.说明ffmpeg的滤镜上百种之多,其中ffmpeg4.2.1视频滤镜210+,音频滤镜110+,本博客主要记录学习使用ffmpeg api实现视频添加水印,画中画,使用到的滤镜为overlay。2.代码本篇代码主要参考了ffmpeg官方的示例,例子当中封装了一个lp_log的函数,用于将日志打印到文件中。/* * 实现对现有视频增加水印,可以是图片、也可以是视频,若为视频,...

2019-12-28 22:19:08 2370 1

原创 ffmpeg在visual studio2019上配置及验证

1.下载ffmpeg编译好的Windows版本https://ffmpeg.zeranoe.com/builds/,下载windows版本的static、share、dev三个文件,之后解压。2.配置visual studio2.1 创建控制台应用程序,c++的。2.2 配置visual studio将第一步下载的dev目录下的lib、include复制到项目目录...

2019-11-16 16:37:09 1009 3

原创 ffmpeg源码在centos上的编译

1.编译说明本次编译会在你的用户根目录下生成三个文件夹:ffmpeg_sources、ffmpeg_build、bin,其中ffmpeg_source为源代码目录,ffmpeg_build目录为项目编译目录,编译产出的库文件在这里,bin文件夹为编译产出的可执行文件存放目录。 本次编译产出的ffmpeg库为静态库,编译完成后,位于ffmpeg_build/lib目录下。2.编译环境阿里...

2019-10-27 19:56:51 1152 2

原创 ffmpeg常用命令

1. 视频文件准备测试用的视频文件,test.mp4文件。2. 常用命令1. 从视频中分离出h264编码数据ffmpeg -i test.mp4 -vcodec copy -an tt.h2642. 从视频分离mp3音频分离mp3数据比较特殊,不能直接从视频中分离,需要先分离到acc数据,之后进行转码。1. 分离acc数据ffmpeg -i test.mp4 -...

2019-09-24 16:39:30 184

原创 ffmpeg源码编译

1. 开发环境机器:阿里云ecs服务器系统:Ubuntu 18.04.2 LTS建议:c++开发的同学建议使用Ubuntu,我之前使用的centos,各种问题,所以就换了系统,当前阿里云提供的Ubuntu最新公共镜像是18.04,因此选择了最新的版本进行安装。root账户登录机器。2. 下载ffmpeg源码ffmpeg下载地址:http://www.ffmpeg.org/d...

2019-09-17 10:31:58 4823

原创 c++开发环境搭建

1.开发环境机器:阿里云ecs服务器系统:centos72. 安装gcc、g++2.1 gcc安装centos下可以使用yum工具,直接yum install gcc即可。下图(已提前安装成功):2.2 安装g++可能很多同学说,直接yum install g++,这个就比较特殊了,直接用这条命令安装会提示你没有这个软件包哪g++应该怎么安装呢?应该使用这条...

2019-09-12 06:19:32 452

CH375USB文件

CH375USB模块,51单片机例程,方便大家开发,我弄了好长时间才弄好的,这上面有例程。

2009-12-17

大家共同学习学习吧,都是关于AD采样的,挺好的

大家共同学习学习吧,都是关于AD采样的,挺好的

2009-05-13

大家共同学习学习吧,都是关于AD采样的,挺好的

大家共同学习学习吧,都是关于AD采样的,挺好的

2009-05-13

大家共同学习学习吧,都是关于AD采样的,挺好的

大家共同学习学习吧,都是关于AD采样的,挺好的

2009-05-13

大家共同学习学习吧,都是关于AD采样的,挺好的

大家共同学习学习吧,都是关于AD采样的,挺好的

2009-05-13

还有这些都可以看看,很有用大家共同学习学习吧

大家共同学习学习吧,都是关于AD采样的,挺好的

2009-05-13

C语言教程430的,关于AD采样的,大家可以看一下啊

这是一个很不错的C语言教程,大家可以学习一下

2009-05-13

空空如也

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

TA关注的人

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