您现在的位置是:网站首页> 开发积累
开源软件收集
- 开发积累
- 2025-10-14
- 1095人已阅读
开源软件收集
大模型实时翻译PDF排版不变PDFMathTranslate
个人优秀开源项目
livego视频服务
使用
1.启动服务:执行 livego 二进制文件启动 livego 服务;
2.访问 http://localhost:8090/control/get?room=movie 获取一个房间的 channelkey(channelkey用于推流,movie用于播放).
3.推流: 通过RTMP协议推送视频流到地址 rtmp://localhost:1935/{appname}/{channelkey} (appname默认是live), 例如: 使用 ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey} 推流(下载demo flv);
4.播放: 支持多种播放协议,播放地址如下:
RTMP:rtmp://localhost:1935/{appname}/movie
FLV:http://127.0.0.1:7001/{appname}/movie.flv
HLS:http://127.0.0.1:7002/{appname}/movie.m3u8
使用soundtouch为音频加点料
为音频加点料就是实现音频的特效,可以实现音频的倍数播放,以及音乐的升降调、响度增加等功能。很多音频的倍数播放功能,如喜马拉雅,就是通过这项技术实现的。
SoundTouch简介
SoundTouch是一个用C++编写的开源的音频处理库,可以改变音频文件或实时音频流的节拍(Tempo)、音调(Pitch)、回放率(Playback Rates),还支持估算音轨的稳定节拍率(BPM rate)。ST的3个效果互相独立,也可以一起使用。这些效果通过采样率转换、时间拉伸结合实现。
Tempo节拍:通过拉伸时间,改变声音的播放速率而不影响音调
Playback Rate回放率: 以不同的转率播放唱片(不是很懂),通过采样率转换实现
Pitch音调 :在保持节拍不变的前提下改变声音的音调,结合采样率转换+时间拉伸实现。如:增高音调的处理过程是:将原音频拉伸时长,再通过采样率转换,同时减少时长与增高音调变为原时长
注意:SoundTouch只能处理wav格式的文件,其它格式的文件需要结合lame(一个mp3和wav相互转换的工具)进行处理。
SoundTouch下载和安装使用
在官网的http://soundtouch.surina.net/download.html有windows、linux、mac os的下载链接,windows和mac os有现成的编译好的执行文件,直接下载zip格式文件解压使用就可以。
windows环境下载安装使用:
下载 SoundStretch 2.1.1 for Windows ,下载后是一个zip文件,然后解压该文件得到一个soundstretch.exe,把这个exe文件的路径加入path环境变量即可以使用。例如实现把 input.wav 音频文件的声调增加3个半音(semi-tones):
#Pitch raised by +3 semi-tones.command syntax:
soundstretch input.wav output.wav -pitch=+3
我要用 SoundTouch下载 SoundStretch 干嘛用?答:SoundTouch是音频处理库,而SoundStretch 是命令行工具,反正用 SoundStretch 就对了
SoundStretch命令的使用
#Tempo reduced by -50%.
soundstretch input.wav output.wav -tempo=-50
#Beats-Per-Second rate adjusted to 60 BPM (original is 73.9 BPM). Note: This is equivalent to decreasing tempo by -18.8 %.
soundstretch input.wav output.wav -bpm=60
#Beats-Per-Second rate adjusted to 100 BPM (original is 73.9 BPM). Note This is equivalent to increasing tempo by +35.3%
soundstretch input.wav output.wav -bpm=100
#Pitch lowered by -3 semi-tones.
soundstretch input.wav output.wav -pitch=-3
#Pitch raised by +3 semi-tones
soundstretch input.wav output.wav -pitch=+3
#Playback rate increased by +35%. Note: This would be equivalent to playing a 331/3RPM vinyl LP audio disc at 45 RPM...
soundstretch input.wav output.wav -rate=+35
结合lame处理MP3
lame是一个mp3和wav相互转换的工具,windows和linux下都可以使用。SoundTouch只能处理wav格式的文件,需要使用lame进行 .mp3 => .wav 和 .wav => .mp3 转换。当然你也可以使用大名鼎鼎的ffmpeg,但是没有lame简单。
rustdesk多端远程协助开源软件
使用后发现重启电脑后,电脑客户端的ID/中继服务器配置会消失。需手动重新填写一遍,比较麻烦。
可按如下步骤操作:
RustDesk windows客户端支持:把rustdesk.exe 修改为 rustdesk-host=<host-ip-or-name>,key=<public-key-string>.exe,
例如:rustdesk-host=192.168.10.14,key=XXX.exe
这样就不用填写ID/中继服务器配置了,这样比较方便。
执行服务的皮处理如:
path C:\Program Files\RustDeskServer\bin
hbbs.exe
hbbr.exe
即时通讯开源
Excalidraw开源白板
通过源码部署
1.安装 Node.js:Excalidraw 基于 Node.js 运行,需先安装 Node.js。前往 Node.js 官网下载适合 Windows 的安装包,按照安装向导提示完成安装。
2.安装 Git:Git 用于获取 Excalidraw 源码。从 Git 官网下载 Windows 版安装程序,安装过程中可保持默认设置,一路点击 “Next” 直至安装完成。
3.获取 Excalidraw 源码:点击 “Win+R” 键,输入 “cmd” 打开命令窗口,使用git clone命令克隆 Excalidraw 仓库,如git clone https://github.com/excalidraw/excalidraw.git。
4.安装依赖项:在命令窗口中,进入克隆后的 Excalidraw 目录,如cd excalidraw,然后运行npm install -g yarn安装 yarn,再使用yarn install命令安装项目所需依赖。
5.启动服务器:在 Excalidraw 目录下的命令窗口中,输入yarn start启动服务器。
6.本地链接测试:服务器启动后,打开浏览器,访问http://localhost:3000,即可使用 Excalidraw。
使用内网穿透实现公网访问
如果想在公网远程访问本地部署的 Excalidraw,可以使用 cpolar 内网穿透工具。
1.安装 cpolar:进入 cpolar 官网,注册账号后下载 Windows 版本并安装,安装时可保持默认设置。
2.配置 cpolar:安装完成后,在浏览器上访问http://localhost:9200,使用注册的 cpolar 账号登录,进入 web 配置界面。点击左侧仪表盘的 “隧道管理” - “创建隧道”,协议选择 “http”,创建一个 Excalidraw 的公网 http 地址隧道。
3.获取公网地址:隧道创建成功后,点击左侧的 “状态” - “在线隧道列表”,查看生成的公网访问地址。使用该地址,可在其他设备的浏览器中访问本地的 Excalidraw。若需固定公网地址,可在 cpolar 官网左侧点击 “预留”,选择保留二级子域名,设置好相关信息后,将其配置到隧道中即可。
当你在使用 npm 时遇到npm ERR! code CERT_HAS_EXPIRED错误,这通常是由于 SSL 证书过期导致的。以下是几种解决方法:
方法 1:清除 npm 缓存并重新安装依赖
bash
# 清除npm缓存
npm cache clean --force
# 重新安装依赖
npm install
方法 2:临时禁用 SSL 验证(不推荐用于生产环境)
bash
# 临时关闭SSL验证
npm config set strict-ssl false
# 完成操作后建议重新开启
npm config set strict-ssl true
方法 3:更新 npm 和 Node.js
证书过期可能是因为使用了较旧版本的 npm/Node.js,更新到最新版本通常能解决问题:
bash
# 更新npm
npm install -g npm@latest
# 如果需要更新Node.js,建议到官网下载最新版本安装
方法 4:手动更新根证书
bash
# 对于Windows系统,可以尝试更新npm的证书
npm config set cafile "<path-to-your-certificate-file>"
如果不知道证书文件位置,可以重新安装 Node.js,安装程序会自动配置正确的证书。
方法 5:检查系统时间
如果你的系统时间不正确(尤其是日期超前或滞后较多),也可能导致证书验证失败。请确保 Windows 系统时间和时区设置正确。
尝试以上方法后,通常能解决证书过期的问题。如果是企业网络环境,可能需要联系 IT 部门获取正确的证书配置。
电子礼单系统
本地礼账记录工具,开源免费,无任何限制,能记账、能导出电子礼单,pdf(生成带封面的 PDF 礼簿(真·像书一样))、Excel、能统计,能打印…
使用最直接的前端技术HTML + CSS + JavaScript来实现的,浏览器直接运行
打开上面的Github页面
找到这个下载按钮,下载到电脑上是一个gift-book-main.zip压缩包文件,解压后找到 index.html
这个文件,用浏览器打开就能直接用,不需要安装任何环境,也不需要网络,方便在无网络的环境下使用,简简单单。
打开后是这样的,先创建一个事项,可以单独为每场活动建立一个独立的“账本”,设置密码,开始结束时间、主题色、语音音色、封面图。

关于数据存储
这是我最引以为傲的设计。整个系统就是一个单网页应用,所有的逻辑都在你的浏览器里运行。
- 数据存储在哪? 我用了浏览器的 IndexedDB。你可以把它理解成一个在你电脑上的、只有你的浏览器能访问的小型数据库。你的所有礼金记录、创建的事项信息,都安安静-静地躺在里面,不会被发送到任何地方。
- 如何保证安全? 当你创建一个新的“事项”(比如“xxx升学宴”)时,系统会强制你设置一个管理密码。这个密码不仅仅是用来登录的,而是作为一把“密钥”。之后你录入的每一条礼金信息,都会用这个密钥通过 AES 加密 算法处理后,再存入 IndexedDB。这意味着,哪怕有人拷贝了你电脑里的数据库文件,没有你的密码,看到的也只是一堆乱码。
就跟传统的礼账金额要用笔画繁杂大写一样,使用aes加密就是防篡改。
强大的统计、打印与导出
IOE 进销存管理系统
IOE是一个基于Django开发的综合性库存管理系统,专为零售商店、小型仓库和商品销售场所设计。系统提供了完整的商品管理、库存跟踪、销售记录、会员管理和数据分析功能,帮助企业高效管理库存和销售流程
- 商品信息管理:添加、编辑和查看商品详细信息,包括名称、条码、价格等
- 商品分类管理:创建和管理商品分类,便于组织和查询
- 商品规格管理:设置商品的颜色、尺码、规格和制造商等属性
- 商品图片上传:上传和管理商品图片
- 实时库存跟踪:精确掌握每个商品的库存数量
- 智能库存预警:设置阈值,低库存自动提醒
- 入库/出库管理:系统自动更新库存数量
- 库存调整:支持手动调整和批量操作
- 全面交易记录:详细记录所有库存变动明细
- 盘点计划创建:周期性或临时库存盘点安排
- 高效盘点执行:记录实际与系统差异
- 盘点审核流程:确保盘点数据准确性
- 详细盘点报告:生成可视化盘点差异报告
- 自动库存调整:根据盘点结果一键调整
- 销售单创建:直观便捷的销售操作界面
- 多元支付方式:现金、微信、支付宝、银行卡和账户余额等
- 灵活销售折扣:支持多种折扣策略
- 销售记录查询:多维度筛选历史销售数据
- 无忧退货处理:简化销售退货流程
- 会员信息管理:全面记录会员基础资料
- 会员等级体系:自定义等级和专属优惠
- 积分奖励系统:消费自动累积积分
- 消费历史追踪:会员消费行为分析
- 账户余额管理:充值与消费一体化
- 贴心生日提醒:增强会员关怀
- 销售趋势图表:直观展示业务走向
- 商品表现分析:识别热销与滞销商品
- 库存健康评估:优化库存投资回报
- 利润精准计算:多维度利润分析
- 会员价值评估:深入了解会员贡献
- 系统使用审计:全面操作日志记录
开源在线白板工具 Drawnix
开发
npm install
npm run start
Docker
docker pull pubuzhixing/drawnix:latest
淘到了 4 个开源 GitHub 项目,太惊艳了
01、游戏串流服务
这是一个开源的游戏串流服务器,专为 Moonlight 客户端设计。
你在自己台式机上安装 Sunshine,就能在手机、平板、电视等设备上,通过 Moonlight 客户端流畅地远程玩主机上的游戏。
02、屏幕共享工具
Bananas 是一个简单易用的跨平台屏幕共享工具,支持 Windows、macOS 和 Linux 系统。
它基于点对点连接技术,不需要注册账号或依赖复杂的服务器架构,就能轻松分享屏幕内容,而且支持多个光标协作。
该项目使用 WebRTC 实现实时传输,仅需借助 STUN/TURN 和服务发现服务器建立初始连接,后续数据直接在双方之间传输。
03、终端图形界面工具
刚开源两周就获得 6K 的 Star。
这个叫 term.everything 的开源项目让你能在命令行终端里运行任何带有图形界面的软件。
打个比方, 游戏、浏览器、视频播放器一般是在你的电脑桌面上显示的。
而这个工具能捕捉到这些软件的图形界面,然后把它「翻译」成你的终端能够理解并显示出来的文字或图像。
04、抖音下载工具
Douyin-Downloader 是一个功能强大的抖音内容下载工具,支持批量获取视频、图集、合集和原声音频,并自动去除水印。
大模型实时翻译PDF排版不变PDFMathTranslate
基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero
保留公式、图表、目录和注释