hexo文章加密
使用hexo-blog-encrypt进行文章加密
安装npm install --save hexo-blog-encrypt
配置在hexo配置文件_config.yml里加入下面的字段
encrypt: enable: true wrong_pass_message: 密码错误,不会是忘记了吧
使用在文章Front-matter加入下面的标签,如果后续不想加密,可以把标签删除或者密码留空
password: 12345678message: password
vs-picgo使用GitHub图床
由于平时使用vscode编辑md文档,文档内添加图片在所难免,记录下vscode安装picgo插件以及使用github图床的说明。
安装picgo插件插件商店搜索picgo,安装:
配置picgo插件打开设置picgo设置界面,填写下面4项信息:
Picgo › Pic Bed › GitHub: Repo注意按照username/reponame,注意不是仓库链接
Picgo › Pic Bed › GitHub: Token:登录github网站后,生成Token
token选择classic,并且选中repo权限(注意token生成后,只会显示一次,记得保存)
使用picgo插件(Windows)
Ctrl+Alt+U: 从剪切板上传,上传成功后会自动添加链接
Ctrl+Alt+E: 从文件管理器上传,上传成功后会自动添加链接
Ctrl+Alt+O: 从提供的图片路径上传,上传成功后会自动添加链接
嵌入式Linux调整分区表
16MB Flash,新增功能的时候发现flash不够用了,查看分区表,备份分区占了三千多K,所以想研究一下能不能通过调整分区,将备份分区尽量变小以腾出空间添加新功能。由于之前没有做过此类尝试,故留下此文以便不时之需。
分区现状分区信息dev: size erasesize namemtd0: 00030000 00001000 "uboot"mtd1: 00510000 00001000 "boot"mtd2: 00530000 00001000 "system"mtd3: 00530000 00001000 "bk"mtd4: 00050000 00010000 "userdata"mtd5: 00010000 00001000 "productdata"
分区说明
分区
大小(KB)
name
mtd0
192
uboot
mtd1
5184
boot
mtd2
5312
system
mtd3
5312
bk
mtd4
3 ...
音视频扫盲
编解码音视频专业名词速查表视频相关
名词
解释
帧率,FPS
每秒显示的图像帧数,单位是 fps(Frames Per Second)
码率,bitRate
单位时间内视频或音频的数据量,通常以 kbps 或 Mbps 为单位
分辨率
图像或视频的像素尺寸,如 1920x1080(1080p)
GOP
图像组(Group of Pictures),两个 I 帧之间的帧序列
YUV
一种颜色编码系统,常用于视频处理与压缩
NV12
YUV 4:2:0 格式的一种,属于半平面(semi-planar)格式
H265
高效视频编码(HEVC),比 H264 压缩效率更高
H264
目前最常用的视频编码标准,兼容性好
MP4
常见的多媒体容器格式,可存储视频、音频、字幕等
I帧 / P帧 / B帧
视频压缩中的帧类型:I帧为关键帧,P帧为前向预测帧,B帧为双向预测帧
RGB
红绿蓝三原色色彩空间,常用于图像采集和显示
色度抽样
如 4:2:0、4:2:2,表示色度信息的采样方式
量化参数(QP)
控制编码质量和压缩率 ...
iperf3网络性能测试工具指南
工具简介iperf3 是一款专业的开源网络性能测试工具,用于主动测量IP网络所能达到的最大带宽。它支持调整时序、缓冲区和协议(TCP、UDP、SCTP)等多种参数,并能报告带宽、延迟抖动、丢包率等关键网络性能指标。
核心功能与特点
多协议支持:支持 TCP、UDP、SCTP(支持 IPv4 和 IPv6)
性能指标测量:
带宽 (Bandwidth):测量网络最大吞吐量
抖动 (Jitter):数据包延迟的变化,尤其适用于UDP测试
丢包率 (Packet Loss):适用于UDP测试,统计丢失的数据包比例
客户端/服务器模式:采用C/S架构,测试时需同时运行服务端和客户端程序
参数灵活调整:支持调整数据包大小、测试时长、并行流数量、TCP窗口大小等
结果输出多样:支持常规文本输出,也可使用 -J 参数以 JSON格式 输出,便于自动化处理
安装指南Linuxsudo apt-get install iperf3
交叉编译如果编译的版本是3.19.1,编译过程报错va_list参考iperf 3.19: missing header #1890解决
wget ...
C语言命令行传参
命令行传参命令行传参函数原型为int main(int argc, char *argv[])或者int main(int argc, char **argv),其中argv是参数个数,argv是实际传参。
#include <stdio.h>int main(int argc, char *argv[]){ for(int i = 0; i < argc; i++) printf("No.%d parm is %s\n", i, argv[i]); return 0;}
编译运行由运行结果可以看到,第一个参数为程序名称,在处理命令行参数的时候要注意从第二个参数开始才是真正需要处理的参数
$gcc -o test test.c $./test hello worldNo.0 parm is ./testNo.1 parm is helloNo.2 parm is world
命令行参数处理函数查询man手册,c语言提供了下面几个命令行参数处理函数,下面给出函数原型和所在头文件。
#include <unistd. ...
Ubuntu交叉编译Bluez
交叉编译均在Ubuntu 22.04环境操作
交叉编译前准备目录结构 由于bluez编译过程中依赖项比较多,所以创建一个文件夹,作为编译目录,文件目录结构如下
bluez-cross-complier/├── download #源码下载在此处操作└── output #编译产物输出到此目录└── source-code #源码存放目录
源码下载BlueZ Readline Ncurses D-Bus Expat Glib Zlib libffi gettext
cd bluez-cross-complier/download/wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.66.tar.xzwget ftp://ftp.cwru.edu/pub/bash/readline-8.2.tar.gzwget https://ftp.gnu.org/gnu/ncurses/ncurses-6.4.tar.gzwget https://dbus.freedesktop.org/releases/dbus/ ...
Linux性能分析-网络
资源受限Linux环境 iperf3 udp打流丢包解决方案
方案一:调整程序优先级nice -n 20 your_program &nice -n -20 iperfs -c your_ip -t 60 -u -b 100M -R
方案二:修改发送、接收缓冲区buffer缓冲区buffer调整到2MB# 2M# echo 2097152 > /proc/sys/net/core/rmem_default# echo 2097152 > /proc/sys/net/core/rmem_max# echo 2097152 > /proc/sys/net/core/wmem_default# echo 2097152 > /proc/sys/net/core/wmem_max