自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(192)
  • 资源 (5)
  • 收藏
  • 关注

原创 centos 7 常用命令记录

centos 常用命令

2023-03-29 16:25:14 840

原创 .net 知识拾遗

.net知识点拾遗,长期更新

2022-10-25 14:43:08 207

原创 微软语音使用小计

使用微软语音可以实现语音转文字和文字转语音。测试了下,使用还是挺方便的。使用微软语音有两种方式。一种是使用命令行的形式,另一种是调用SDK的方式。想在极少设置且无需编写代码的情况下试验语音服务功能。对使用语音服务的生产应用程序的要求相对简单。需要在特定语言或平台(如 C#、Python 或 C++)中集成语音服务功能。你有可能需要高级服务请求的复杂需求。你要开发自定义行为,包括响应流。

2024-05-24 18:08:56 872

原创 C# 正则表达式使用小计

此文档用于记录平时使用正则表达式的心得,不定期更新。

2024-05-24 11:36:59 290

原创 ASCII, UNICODE,ANSI,UTF8之间的关系

GBK,又称GBK大字符集,简而言之就是将所有亚洲文字的双字节字符,包括简体中文,繁体中文,日语,韩语等,都使用一种格式编码,兼容所有平台的上的语言。的形式进行定义,该形式采用两个字节来存储一个字符,两个字节一共可以存储2^16=65536,65536个字符,可以涵盖大多数语言,也是常用的存储方式(这就是现在绝大多数系统采用16位长度宽wchar数组来对unicode字符串进行存储)。当字符流中,字节的最高位为0的时候,可以代表这个字节中存储了一个码点,后边剩余的7位存储这这个码点对应的码值。

2024-05-18 09:57:53 591

原创 Nuget小结

使用packages.config配置文件可以使用nuget restore进行包还原,对于.net8.0框架,包将默认还原到全局packages目录。路径:%userprofile%\.nuget\packages。注意:使用nuget进行还原时,请保证packages.config在执行目录中。如果需要生成到指定路径,可添加参数-OutputDirectory。nuget.exe 下载地址。

2024-04-08 19:12:56 200

原创 .Net 知识杂记

首次创建项目时,建议创建 .NET Standard 类库,因为它提供了与最广泛使用项目的兼容性。使用 .NET Standard 可以默认向 .NET 库添加跨平台支持。但是,在某些情况下,可能还需要包含针对特定框架的代码。我们创建C#应用程序时,在项目的工程文件(*.csproj)中都有targetFramework标签,以表示项目使用的目标框架。对于 SDK 样式的项目,可以在项目文件中配置对多个目标框架(TFM)的支持,然后使用。如果你有任何仅在一个 TFM 中工作的代码,则可以使用。

2024-03-29 19:33:46 1280

原创 LINQ学习记录

如果源序列中存在元素通过了指定谓词中的测试,则为。如果源序列中的每个元素都通过指定谓词中的测试,如果源序列包含任何元素,则为。

2024-03-27 20:12:06 218

原创 .net 8 使用学习小记

这个实现使用了双重检查锁定(double-checked locking),以确保在多线程环境下也能高效安全地创建单例。是为了避免在单例已经被创建后的每次调用中都进行锁定,而内部的检查则确保了即使在多线程情况下只有一个实例被创建。使用代码优化(复合分配)

2024-03-20 19:57:08 402

原创 C# 中的接口

在C#中使用interface关键字来定义接口,例如。

2024-01-26 14:43:29 611

原创 关于C#中的HashSet<T>与List<T>

表示可通过索引访问的对象的强类型列表。元素可重复,是有序列表,根据调用add的时间先后进行排序。例如有100个元素,删除掉下标99的元素后,无法再通过下标99访问数据。HashSet存储数据时将数据通过散列函数直接映射到地址,所有取值时可以直接取到,时间复杂度为O(1)。List检索时需要一个个的进行值比较,最多需要比较到数组末尾,时间复杂度为O(n),n为元素个数。这个集合的元素是无须列表,同时元素不能重复。当数据量较小时,list的增加删除性能有优势,当数据量较大,则hashset的性能有巨大优势。

2024-01-23 18:28:48 690

原创 关于C#中的Select与SelectMany方法

这里的a就是petOwner集合本身,b就是a.Pets生成的新的集合。将序列中的每个元素投影到新表单。并将结果序列合并为一个序列。将序列的每个元素投影到。

2024-01-19 15:37:13 1402

原创 关于C#中的LINQ的延迟执行

Linq中的绝大多数查询运算符都有延迟执行的特性,查询并不是在查询创建的时候执行,而是在遍历的时候执行运行结果:可以看到,执行结果也验证上述的说明,查询创建后,并没有马上执行,而是在遍历对象时才执行,否则第二个遍历不会打印出40.如果在查询后面添加ToList等转换符,则会立即执行,如。

2024-01-19 12:21:23 606 2

原创 关于C#中Monitor的wait/pulse的理解

首先线程A通过wait方法释放锁,让线程B获取锁后成功开始执行,线程A进入等待队列,线程B执行过程中不再需要锁定对象后,则会调用pulse发送释放锁的信号,让收到信号的线程A从等待队列进入就绪队列,当线程B执行完成释放锁后,线程A重新获得锁,继续执行。可以看到在线程B中发出Pulse信号后,线程A收到信号,进入就绪队列,此时线程B还没有释放锁,直到线程完成3s等待后,线程A才重新获取锁,wait(object)才返回。说明1:这里我们在线程B中,并没有发出pulse信号,线程也没有无限期等待。

2024-01-16 15:46:53 580

原创 关于C#中的async/await的理解

在大多数情况下,异步操作并不会创建新的线程,而是通过利用I/O完成端口或其他异步机制来实现异步操作。这样可以避免创建额外的线程,提高程序的性能和资源利用率。1. 使用async标记的方法被认为是一个异步方法,如果不使用await关键字,调用跟普通方法没有区别。当被await的异步操作完成后,异步方法会恢复执行,并返回结果。3.使用task.result获取执行结果,会阻塞调用线程。异步方法会暂时挂起,让出当前线程的控制权,而不会阻塞线程。2.当使用await关键字时,

2024-01-16 11:26:54 535

原创 centos7 yum添加源或换源

EPEL是Extra Packages for Enterprise Linux的缩写,其为EL6或EL7提供重建的Fedora组件,并且不会替换base中的包。也提供较新版的内核,例如支持BBR算法的4.9+内核。Remi的safe仓库不会替代系统的基本组件,但remi-phpxx.repo中的软件包会替代系统默认的php。一般来说yum源是我们需要下载的软件的远程仓库地址(当然也可以配置本地源),centos系统带有几个官方源,默认启用的仅有base,updates和extras三个。

2024-01-09 16:53:10 1634

原创 在vue3项目中引入element组件小记

element-ui使用的vue2,如果是vue3项目则需要引入element-plus。例如容器布局组件<el-container>等。

2023-12-01 13:55:59 213

原创 uni-app项目细节记录

使用反引号``,内容使用${参数}

2023-11-22 18:18:28 119

原创 C# 使用HttpClient 上传文件

【代码】C# 使用HttpClient 上传文件。

2023-10-24 09:28:09 927

原创 FFMPEG 视频类过滤器学习整理

如果qoffset 的值设为-1/10,则表示这个区域的编码质量应该比其他区域的质量好十分之一。如果视频帧的编码QP为30,则这个区域的QP在24左右(-1/10 * (51--12) = -6.3)。这是为了与alphaextract过滤器一起使用,以允许以不支持alpha通道的格式传输或存储具有alpha的帧序列。参数范围:-1 ~ +1 , 0表示不做处理,负值表示更好的质量(较低的量化),正值表示较差的质量(更高的量化)将视频2的alpha通道叠加到视频1上生成新的视频。

2023-10-02 21:41:27 1662

原创 语音助手开发小记(2023.9.25)

在使用函数swr_alloc_set_opts给SwrContext传递输入输出的音频参数时,需要设置通道,这里通道为2,但是通道布局不能传递2.比如。如果要计算通道布局的通道数使用函数av_get_channel_layout_nb_channels。声道map定义在 libavutil/channel_layout.c文件中。

2023-09-25 19:44:54 460

原创 VUE3学习小记(2)- ref 与 reactive

1.ref 主要针对基础类型,复杂类型内部会使用reactive转为代理对象2.响应式可以针对某一个属性和对象进行页面更新(即局部数据更新)3.响应式更新也不是立即就更新,它会先缓存更新内容,等待nexttick的到来,要立即更新,可直接调用nexttick函数1. 官方建议使用ref()作为声明响应式状态的主要 API。reactive和ref有什么区别_ref和reactive的区别_LuoBoof的博客-CSDN博客。

2023-09-05 19:43:43 766

原创 VUE3 学习小记(1)

Vue (发音为 /vjuː/,类似view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

2023-09-01 17:45:43 367

原创 .net使用RabbitMQ小记

命名空间引用连接到RabbitMQ打开一个通道断开连接关闭连接后,通道也会自动释放掉connection 是一个长连接,底层协议针对长连接做了优化,这意味着打开一个新的连接将会有巨大的开销。channel 也是长连接,新建通道的开销会小很多,一般情况下,建议通道也复用,不要重复新建。设置客户端名称(方便识别多个客户端,强烈建议设置)定义交换机和队列,并绑定直接删除删除队列,如果为空删除队列,如果没有使用(没有任何消费者)删除队列并清除消息。

2023-08-21 11:23:22 578

原创 前端知识点杂记

查看npm全局默认存放位置。查看npm缓存默认存放位置。设置npm全局默认存放位置。设置npm缓存默认存放位置。

2023-08-19 18:37:29 66

原创 有关centos 系统杂记

由于centos Linux 是当前发布的RHEL内容的重建,新的次要版本会有大量的更新,次要版本之间提供较小的更新。具体来说,CentOS Stream 8 是 RHEL 8 下一个次要版本的上游,CentOS Stream 9 是 RHEL 9 下一个次要版本的上游,依此类推。CentOS-7-Everything版:对完整版安装盘的软件进行补充,集成所有软件。CentOS-7-Minimal版:最小安装盘,只有必要的软件,自带的软件最少。CentOS-7-GnomeLive版:GNOME桌面版。

2023-06-10 18:25:55 4132

原创 英文单词小记

annual 每年的;roughly 粗略地;purchase 购买;benefit 利益;disaster recovery 灾难恢复;migration 迁移;(计算机系统的)改变;introduction 介绍;correspond 相一致;involve 涉及;rigorous 严格缜密的;anticipate 预期的;deliver 传送;minor 次要的,少数的,轻微的 /ˈmaɪnər/lack 没有;distribution 分配;

2023-06-10 15:30:23 258

原创 git 常用命令

查看所有分支新建分支切换分支。

2023-06-09 17:19:18 1283

原创 如何查看docker下的mysql版本

可以看到配置文件的sock文件位置并不在/var/lib/mysql文件夹中。标红的位置可以是我们运行的别名,也可以为id。创建/var/lib/mysql文件夹。我们想连接mysql服务时报错了。进入运行的mysql的容器。这里我们创建一个软连接。

2023-06-09 11:08:42 1332

原创 双IP使用小记

场景:原先测试环境和设备都在192.168.1.1网段,先将设备和测试环境迁移到新环境后,网络段为192.168.124.1,这里我们需要在电脑和服务器上配置双IP,既保证正常外网访问,又可以与本地1网段的设备通过。

2023-06-07 15:30:34 217

原创 编译ZLMediaKit依赖库小记

每次在新服务器部署流媒体都要编译依赖库,这里做下小记。

2023-06-07 15:20:19 706

转载 AAC 格式简介

AAC(Advanced Audio Coding),被认为是MP3的继任者,相对MP3有更高的压缩效率。

2023-05-20 20:32:05 1099

原创 使用FFMPEG进行音频重采样

7.将输出的buffer拷贝到SDL2音频回调缓冲区中播放,或者直接写入文件,使用ffplay进行测试,也可以封装成Frame送到音频编码器中(如aac),进行编码后保存。4.创建一个输出buffer, 根据输出的音频参数(采样率,通道数,样本位深度)申请空间,填入默认数据,用于存储重采样后的数据。3.创建一个输入buffer, 根据输入的音频参数(采样率,通道数,样本位深度)申请空间,填入默认数据,用于存储输入音频数据。5.读取PCM数据,每次读取的大小等于输入buffer的大小。

2023-05-20 12:19:35 1504

原创 PPT制作小记---关闭拼写检查和智能图形添加分支

选中我们需要添加分支的节点,鼠标右键,点击添加形状,就可以添加我们想要的分支了。2.选择左侧的校对菜单,取消键入时检查拼写即可。1.点击工具栏的自定义工具栏按钮,选择其他命令。首先我们添加一个智能图形。

2023-05-17 10:51:09 340

原创 使用FFMPEG加载外挂或内封字幕小记

ffmpeg -i .\beautlWorld.mp4 -vf subtitles=filename="'D\:\\测试工程\\sound\\01.ass'" -y ass.mp4。加载字幕需要使用subtitles过滤器。注意我用了双引号和单引号。如果字幕文件就在当前目录,则使用如下命令即可。加载外挂字幕很简单,设置下过滤器参数中的filename即可。内嵌字幕,字幕与视频图像合二为一,成为视频帧的一部分。内封字幕,字幕封装在视频容器中,成为字幕流。外挂字幕,也就字幕文件,如ass,srt等。

2023-05-14 14:05:09 2105

原创 使用FFMPEG和SDL2实现音视频同步的简易视频播放器

这里我简单做了一个视频播放器,并简单做了音视频同步。1.如果当前视频帧与音频帧的播放时间差值小于或等于视频帧持续时间,则表示音视频同步,正常延时。2.如果视频帧比音频帧快,且大于视频帧一帧的时长,延时2倍的正常延时。3.如果视频帧比音频帧慢,且大于视频帧一帧的时长,则立即播放下一帧。4.创建解复用线程,音频解码播放线程,视频解码播放线程。6.根据音频帧和视频帧的差值计算延时。2.将取到的数据送至视频解码器中。5.计算视频帧的pts和持续时间。3.循环从解码器中取解码音频帧。3.循环从解码器中取解码视频帧。

2023-05-12 17:22:13 1680 4

原创 SDL2播放PCM数据的两种方案

那么 pcm_buffer_size 至少是 2 x 1024 x 4 = 8192 个字节,或其他整数倍。例如:通道数为2 ,每次样本数 1024, 样本深度 f32le(float 32 小端)每次读取的数据 是 ( 通道数 x 样本数 x 样本个数字节数) 整数倍。主动添加音频数据到播放数据队列中,push模式。使用回调的方式,也就是pull模式。

2023-05-06 17:43:11 378

原创 FFMPEG中的filter使用二

上一篇我们在使用滤镜时是手动创建各种滤镜,然后根据处理链路手动链接不同的过滤器,有助于我们理解滤镜的流程。这一篇我们使用参数形式,让ffmpeg自动帮我们创建和链接过滤器,这样可以减少代码量,同时我们可以先使用参数测试后,直接将参数复制到代码中使用。

2023-04-30 12:01:28 1122

原创 FFMPEG中的filter使用一

2.创建buffer和buffersink过滤器,buffer是过滤器的源头用来,buffersink作为过滤器的终结点。8.av_buffersink_get_frame从buffersink获取处理过的帧数据。4.avfilter_link根据处理流程连接过滤器,图中有两条处理线路,参考下图。7.av_buffersrc_add_frame发送一帧到buffer过滤器中。5.使用avfilter_graph_config检查过滤流程配置。3.创建我们需要使用的各类过滤器。9.文件读取完成后清理工作。

2023-04-30 11:11:41 329

原创 关于FFMPEG中的filter滤镜的简单介绍

滤镜的作用主要是对原始的音视频数据进行处理以实现各种各样的效果。比如叠加水印,翻转缩放视频等。下图表示的正常转码流程,滤镜在解码和编码中间,虚线表示可有可无。使用命令查看ffmpeg支持的滤镜查看某个滤镜的详细参数上图显示的pad滤镜的功能和需要的参数。除了source和sink filter,其他filter都至少有一个输入、至少一个输出。也可以简单的分为简单滤镜和复杂滤镜。简单滤镜:只有一个输入和输出,命令行中使用(视频滤镜),(音频滤镜)复杂滤镜:有多个输入和输出,命令行中使用或。

2023-04-29 19:43:49 2067

使用FFMPEG编码YUV420P成H264

ffmpeg版本4.4 依赖均已配置,可直接编译测试

2023-04-23

使用ffmpeg将PCM编码成aac

FFMPEG版本4.4 项目依赖,测试文件均已配置好,可直接编译运行测试

2023-04-21

C#在winform实现撒花特效

使用C#语言在winform下实现撒花特效的源码压缩包!图片可根据需要替换,有需要的可以下载!效果很好!

2020-08-06

简易聚光灯

可实现简单的聚光灯需求,有需要的小伙伴可以下载看看!

2019-03-13

OpcNetApi.Com+OpcNetApi

OpcNetApi.Com和OpcNetApi.Com开发的DLL,版本统一,供大家参考学习

2018-09-13

DX11创建3D直角坐标系

使用DX11创建的3D直角坐标系,支持旋转

2017-03-06

空空如也

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

TA关注的人

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