-
绿联NAS配置公网访问
最近趁618,入手了绿联的成品NAS玩玩。玩了几周发现,成品NAS是真的香。常规服务开箱即用,不用自己搭。公网访问如果要求不高的话,系统自带的UGreenLink远程访问服务也能满足需求。 不过还是有一点让我感觉不太很方便,我平时习惯用Obsidian记录文档,多设备间使用**Remotely Save插件**通过webdav同步到NAS里。当需要外出的时候,UGreenLink只提供了访问门户页的远程访问,并没有提供webdav服务的远程访问(至少我没找到,如果有的话麻烦赐教)。
8/16/2025
app NAS DDNS NPM PROXY -
玩NAS也要做存算分离
所谓存算分离,就是负责存储和负责计算的服务放到不同的机器上,NAS负责存储,家庭服务器负责计算。做好存算分离,可以省钱又省心。听上去有点反直觉,明明需要两台机器,成本double了,怎么能省钱省心呢?那么,我们就从下面三个角度来分析。 一台机器只做存储服务,对于硬件的需求是极低的。十年前的CPU都完全可以胜任这一工作,甚至都有点性能过剩。这意味着我们可复用老旧硬件,减少硬件成本,把剩下的预算投入高可用保障(硬盘整列、UPS电源等)上不香吗?
6/22/2025
app NAS -
使用 FFmpeg 实现 TS 流非文件输出
在视频处理领域,MPEG-2 传输流(TS 流)是一种广泛应用的标准格式,常用于广播电视和流媒体传输。FFmpeg 作为强大的开源音视频处理工具,提供了丰富的 API 来处理 TS 流。通常,我们会将处理后的 TS 流直接输出到文件,但在某些场景下,如实时流媒体传输,我们需要将 TS 流输出到网络或者自定义的缓冲区中,这需要实现自定义 I/O 操作。 FFmpeg 的 `AVIOContext` 是实现自定义 I/O 操作的关键。`AVIOContext` 提供了一个抽象的 I/O 层,允许用户自定义读写操作,从而将数据输出到非文件目标,如网络套接字、内存缓冲区等。我们可以通过 `avio_alloc_context` 函数创建一个自定义的 `AVIOContext`,并指定读写回调函数,在回调函数中实现自己的 I/O 逻辑。
5/21/2025
code AV -
服务端基于libMesa实现离屏渲染
OpenGL是一种跨平台的图形渲染API,主要用于2D和3D图形的渲染。OpenGL实现通常由GPU厂商提供,使得程序可以不关心硬件实现直接与GPU做交互。一般情况下图形渲染在客户端进行,因为大部分渲染目标都是屏幕窗口。而不同操作系统的图形窗口系统实现千差万别,所以又有了EGL(Embedded-System Graphics Library) 接口,用于管理图形上下文、Surface,作为OpenGL与原始窗口系统之间的桥梁。 服务端渲染是相对小众的需求,主要场景有云渲染、媒体处理等。服务端渲染有一个问题是我们的服务通常部署在ECS或K8s上,不会配置GPU,也没有GUI界面,软硬件环境都不具备。要解决这个问题,我们可以借助开源的图形库libMesa。
1/18/2025
code Linux AV -
IPv6+DDNS+域名实现公网访问
前置条件是我们需要将光猫改为桥接模式,这样可以方便使用我们的路由器配置IPv6。这里不赘述,有需要后面单独出一期教程。 第二步,需要在路由器上更改防火墙设置,允许IPv6公网访问。这里我以华硕路由器为例,其他路由器的设置也是大同小异。
1/3/2025
app NAS DDNS