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

开源软件收集

摘要

开源软件收集

livego视频服务

使用soundtouch为音频加点料

rustdesk多端远程协助开源软件

mpv命令行播放器

ffmpeg官网

OBS官网

即时通讯开源

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

Excalidraw开源白板



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 部门获取正确的证书配置。

















Top