您现在的位置是:网站首页> 开发积累

开源软件收集

摘要

开源软件收集


1.jpg


livego视频服务

使用soundtouch为音频加点料

rustdesk多端远程协助开源软件

mpv命令行播放器

ffmpeg官网

OBS官网

即时通讯开源

那些小众的开源项目养活了一大批人

Excalidraw开源白板

淘到了 4 个开源 GitHub 项目,太惊艳了

大模型实时翻译PDF排版不变PDFMathTranslate

个人优秀开源项目

电子礼单系统

IOE 进销存管理系统

开源在线白板工具 Drawnix




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多端远程协助开源软件

点击进入服务端源码地址

点击进入客户端源码地址

点击下载整合包

1.png

使用后发现重启电脑后,电脑客户端的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/中继服务器配置了,这样比较方便。


2.png

执行服务的皮处理如:

path C:\Program Files\RustDeskServer\bin

hbbs.exe

hbbr.exe


即时通讯开源

悟空IM

GGTalk,点击系列介绍GGTalk



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页面

1.jpg

找到这个下载按钮,下载到电脑上是一个gift-book-main.zip压缩包文件,解压后找到 index.html 这个文件,用浏览器打开就能直接用,不需要安装任何环境,也不需要网络,方便在无网络的环境下使用,简简单单。

打开后是这样的,先创建一个事项,可以单独为每场活动建立一个独立的“账本”,设置密码,开始结束时间、主题色、语音音色、封面图。

1.jpg


关于数据存储

这是我最引以为傲的设计。整个系统就是一个单网页应用,所有的逻辑都在你的浏览器里运行。

  • 数据存储在哪? 我用了浏览器的 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

保留公式、图表、目录和注释








上一篇:开源库收集

下一篇:开发积累目录结构

Top