Skip to content

QiuChenly/fkOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

fkOS - NAS 媒体管理系统

项目概述

一个专注于媒体管理的 NAS 系统,支持音乐元数据管理和视频内容下载存储。 名称未定,暂时叫 fkOS 罢。

初心使命

艺术这东西,本该是人人可得的。阿炳的《二泉映月》,曹雪芹的《红楼梦》,邓丽君的《月亮代表我的心》——这些作品,哪一部不是从人民中来,到人民中去的?可如今,听一首歌要钱,看一部电影要钱,读一本书也要钱。艺术成了商品,文化成了买卖。

我常想,那些大师们创作时,心里装的是什么呢?是钱吗?不是的。他们心里装的是人,是情,是理。阿炳拉二胡时,心里想的是无锡的月,是人生的苦;曹雪芹写《红楼梦》时,心里想的是世态炎凉,是人情冷暖;邓丽君唱歌时,心里想的是思乡之情,是儿女情长。

可如今,这些作品都被锁在了付费墙后面。你想听《二泉映月》?先交钱。你想看《人民万岁》?先开会员。你想读《红楼梦》?先买版权。这还是人民的艺术吗?这还是那些大师们想要的结果吗?

当然不是。

大师们创作,是为了让更多人听到、看到、读到。他们希望自己的作品能够滋养人心,启迪思想,温暖灵魂。他们不会想到,有朝一日,自己的作品会成为少数人的特权,会成为资本的玩物。

但这个世界就是这样,总有一些人,想把一切都变成生意。他们把艺术包装成商品,把文化包装成奢侈品,把知识包装成特权。他们打着保护创作者的旗号,行垄断文化之实。

然而,黑暗中总有星光。

那些字幕组,那些汉化者,那些不求回报的无名英雄们,他们就像夜空中的点点星光。他们不求名利,不图回报,只为让更多人能够接触到那些美好的艺术作品。他们用最纯粹的热爱,守护着人类文化的火种。

字幕组,这是人类历史上最接近共产主义的存在。人人字幕组倒下了,千千万万个字幕组会站起来。星星之火,可以燎原。

作为一个普通人,我被这种精神深深感动。我无法像那些大师一样创作出传世佳作,但我可以用技术的力量,为艺术的传播搭建一座桥梁。

fkOS,不仅仅是一个媒体管理系统,更是一个文化传承的平台。它要让那些被资本遗忘的艺术重新焕发光彩,让那些被版权束缚的文化重新获得自由。它要让每一个热爱艺术的人,都能在数字世界中找到属于自己的精神家园。

艺术不是为少数人服务的奢侈品,而是为所有人提供的精神食粮。在这个物欲横流的时代,我们更需要这样的精神家园。

我仍然记得 2008 年第一次听盗版 CD 里翻录的《七里香》时的感动。那时候,农村还没有网络,一张盗版 CD 就是我们的精神食粮。虽然音质不好,虽然包装简陋,但那种感动是真实的,那种震撼是深刻的。

艺术属于人民,文化属于世界。


"SVIP,fuck you。"

注 1: 七里香 2004 年发行,但是当地农村还没有网络。

注 2: 所有字幕组、历史名人列出顺序不分先后。

功能特性

音乐管理

功能 状态 描述
网易云音乐扫码登录 ✅ 已完成 支持手动修改云盘歌曲信息匹配(安卓端特有)
在线音乐元数据拉取 ✅ 已完成 完善本地音乐文件信息
音乐元数据数据库 🔔 开发中 打造完全离线的音乐信息数据中心

视频管理

功能 状态 描述
B 站扫码登录 ✅ 已完成 支持大会员账号扫码
收藏夹/合集同步 ✅ 已完成 通过 API 自动同步
视频自动下载 🔔 开发中 支持多分 P 到私有云存储
弹幕下载 ✅ 已完成 自动保存视频弹幕
评论区下载 🔔 开发中 自动保存评论信息
上传者信息获取 ✅ 已完成 保存视频上传者信息
无水印下载 ✅ 已完成 支持 1080P+等杜比视频

硬件解码支持

平台 状态 支持特性
macOS ✅ 已完成 Metal 硬件加速,支持 H.265/HEVC 10bit、Dolby Vision 8.2、蓝光原盘编解码
Ubuntu aarch64 ✅ 已完成 RK3568/RK3588/RK35xx 系列芯片硬件编解码转码
Ubuntu x86_64 ⏸️ 暂停 NVIDIA GPU 和 Intel 集成显卡硬件加速

待办事项

功能 优先级 描述
Emby API 接口适配 实现 Emby 后端接口,让第三方 Emby 客户端应用可直接使用 fkOS
本地媒体库扫描管理 自动扫描本地视频、音乐文件,建立媒体库索引
音乐元数据资料库 结合外部音乐元数据制作完整的离线音乐资料库
QQ 音乐接口 中等 音乐平台接口扩展
iTunes 信息接口聚合 中等 音乐元数据来源扩展
系统间数据同步 资源共享或元数据合并

技术规格

项目 支持情况 说明
macOS ✅ 最高优先级 使用 Metal 进行硬件编解码转码加速,支持 H.265/HEVC 10bit、Dolby Vision 8.2、蓝光原盘
Ubuntu aarch64 ✅ 第二优先级 支持 RK3568/RK3588/RK35xx 系列 媒体硬件加速
Ubuntu x86_64 ⏸️ 暂停 支持 NVIDIA GPU 和 Intel 集成显卡硬件加速
TMDB 自动刮削 ❌ 暂停 CNN 剧集分类识别模型梯度爆炸

技术栈

核心开发

  • 编译器: Clang/C++20 - 现代 C++ 标准,提供高性能和类型安全
  • 数据库: SQLite3 - 轻量级嵌入式数据库,支持后期扩展 MongoDB 以应对大规模数据处理
  • 机器学习: LibTorch - PyTorch C++ 前端,用于媒体内容分析和智能分类
  • 多媒体处理: FFmpeg - 视频音频编解码和格式转换
    • 视频编码: H.264/AVC, H.265/HEVC (8bit/10bit/12bit), VP9, AV1, Dolby Vision
    • 视频解码: H.264/AVC, H.265/HEVC (8bit/10bit/12bit), VP8/VP9, AV1, MPEG-2/4, DivX, Xvid, Dolby Vision
    • 音频编码: AAC, MP3, FLAC, Opus, Vorbis, WAV
    • 音频解码: AAC, MP3, FLAC, Opus, Vorbis, WAV, ALAC, AC3, DTS
    • 容器格式: MP4, MKV, AVI, MOV, WebM, FLV, TS, M4V
    • 硬件加速: 支持 NVIDIA NVENC/NVDEC, Intel QSV, Apple VideoToolbox
  • 加密安全: OpenSSL - SSL/TLS 加密和证书管理
    • 网易云音乐: 用 C++ 重写并使用了 OpenSSL 实现所有加解密算法
    • Bilibili API: 同样用 C++ 重写并使用了 OpenSSL 实现所有加解密算法

架构特点

  • 模块化设计: 基于 C++20 模块化架构,便于扩展和维护
  • 跨平台支持: 支持 macOS、Ubuntu aarch64、Ubuntu x86_64
  • 硬件加速: 充分利用各平台 GPU 硬件解码能力
  • 数据扩展: 从 SQLite3 平滑迁移到 MongoDB 的架构设计

开发状态

  • 当前阶段: 改进中,等待发布测试版
  • 架构支持: 最高优先级 macOS,第二优先级 Ubuntu aarch64 (RK35xx),暂停 Ubuntu x86_64 (暂时先做 macOS)

盈利策略

--

版权声明

fkOS 不提供各大音乐平台资源的直接下载功能,仅支持:

  • 本地音乐文件的元数据管理和信息完善
  • 网易云音乐扫码登录用于元数据匹配(不下载音乐资源)
  • 音乐信息的离线数据库建设

性能表现

在基于 2019 款 MacBook Pro 16 寸, 运行 macOS 26 版本, 搭载 i9-9980HK 2.4Ghz(Turbo 5.0Ghz)处理器, 64GB 内存机器上, 数据硬盘为外接 JMS583 主控的 M.2 转 USB 3.1 外部设备(最大速率为 800MB/s)性能表现如下:

多线程同时扫描与处理音频文件后处理入库:

需要注意的是, 该性能结果仅为参考值, 正式版中性能应该还能提升. 音乐扫描的策略是首先扫描所有的文件, 汇总后开始解析. 总时间为扫描时间+解析时间, 两个是先后顺序.

完成,处理了 3189 个文件
总耗时: 6456 毫秒
处理了 3189 个文件

=== 详细统计信息 ===
扫描时间: 2.838 秒
解析时间: 1.057 秒
总时间: 3.895 秒
处理速度: 818.78 文件/秒
总文件大小: 85.19 GB
平均文件大小: 27.35 MB
文件 1: Falcom Sound Team J.D.K. - おやすみ (晚安).flac
  艺术家: Falcom Sound Team J.D.K.
  专辑: オリジナル・サウンドトラック Zwei!!
  标题: おやすみ (晚安)
  类型: 未知
  年份: 2001
  时长: 0:12
  比特率: 526 kbps
  文件大小: 810692 字节
  封面: jpeg (179472 字节)
  歌词: 有 (1393 字符)
    预览: [ti:おやすみ]
[ar:tricot]
[al:おやすみ]
[00:00.00]おやすみ - tricot (トリコ)
[00:08.6...

文件 2: 田震 - 执着.flac
  艺术家: 田震
  专辑: 田震(田震作品精选集)
  标题: 执着 (乡摇版)
  类型: 未知
  年份: 1996
  时长: 4:45
  比特率: 1034 kbps
  文件大小: 36938495 字节
  封面: jpeg (87283 字节)
  歌词: 有 (1779 字符)
    预览: [ti:执着]
[ar:田震]
[al:田震(田震作品精选集)]
[00:00.00]执着 (乡摇版) - 田震...

文件 3: 张敬轩 - 酷爱.flac
  艺术家: 张敬轩
  专辑: 酷爱
  标题: 酷爱
  类型: 未知
  年份: 2007
  时长: 3:54
  比特率: 903 kbps
  文件大小: 26472328 字节
  封面: jpeg (105116 字节)
  歌词: 有 (2445 字符)
    预览: [ti:酷爱]
[ar:张敬轩]
[al:酷爱]
[00:00.00]酷爱 - 张敬轩 (Hins Cheung)
[00:09.53]词:...


封面统计: 3161/3189 个文件有封面
歌词统计: 2741/3189 个文件有歌词

电影、电视剧扫描入库性能表现

在一台i5-11500、40GB内存的macOS 15.5 黑苹果机器上, 对于连接速度为6Gb/s(峰值200MB/s磁盘读)的外接USB 3.0 规格、5400RPM的 500GB 2.5英寸机械硬盘上读取数据性能表现如下:

=== 详细统计信息 ===
扫描时间: 2.363 秒
解析时间: 8.008 秒
总时间: 10.371 秒
处理速度: 29.12 文件/秒
总文件大小: 346.67 GB
平均文件大小: 1.15 GB
文件 1: Detective Conan - Movie 26 - Black Iron Submarine RAW [eva].mkv
  时长: 1:49:40
  分辨率: 1920x1080
  视频编码: h264
  音频编码: ac3
  比特率: 2846 kbps
  文件大小: 2.18 GB
  字幕: 有 (jpn, jpn)
  音轨数量: 1
  音轨语言: jpn

文件 2: 赛马娘.Uma.Musume.Pretty.Derby.S02E01.2021.2160p.WEB-DL.H264.AAC-PanWEB.mp4
  时长: 0:23:55
  分辨率: 3840x2160
  视频编码: h264
  音频编码: aac
  比特率: 7077 kbps
  文件大小: 1.18 GB
  字幕: 无
  音轨数量: 1
  音轨语言: und

文件 3: 赛马娘.Uma.Musume.Pretty.Derby.S02E07.2021.2160p.WEB-DL.H264.AAC-PanWEB.mp4
  时长: 0:23:54
  分辨率: 3840x2160
  视频编码: h264
  音频编码: aac
  比特率: 6671 kbps
  文件大小: 1.11 GB
  字幕: 无
  音轨数量: 1
  音轨语言: und

字幕统计: 59/302 个文件有字幕

性能较前一个版本提升400%(原先需要40秒解析+扫描)。

元数据拉取性能表现

该项性能完全受限于用户带宽, 其原理为使用设备最大性能从苹果、QQ 音乐、酷我、网易云服务器在短时间内下载大量元数据(包括但不仅限于封面、专辑、轨道、评论、歌词等). 其典型表现为在 1 分钟内内使用 64 线程下载超过 大约 8GB 的元数据内容(1000Mbps 下行宽带). 本项测试仅用于获取元数据丰富个人媒体库信息展示, 禁止用于非法商业用途.如有必要, 本系统将在基本尊重用户意愿的前提下对所有数据进行本地加密保存, 避免受保护的版权资料遭到盗版传播.

AMD GPU 与 Intel 核心显卡 解码性能

RK3588解码性能

在基于瑞芯微®RK3588, 16GB内存, 1TB 固态PCIe M.2 硬盘上,解码 iPhone 16 Pro拍摄的 120fps, 杜比视界DOVI 3840x2160 分辨率的7秒钟视频文件, 近似大小为92MB的纯解码视频文件性能表现如下:

=== 解码完成统计 ===
总帧数: 861
总耗时: 3419 毫秒
平均解码速度: 251.828 FPS
调试器已断开连接

备注

TMDB 挂削功能由于训练的 CNN 剧集分类识别模型出现梯度爆炸问题,暂时不做自动刮削。虽然可以使用正则表达式作为替代方案,但当前选择暂停该功能开发。

致谢

  1. 人人字幕组、脸肿字幕组、樱花字幕组、北魏孝文帝字幕组、白杨字幕组...
  2. NetEaseAPI Nodejs 版开发者
  3. B 站 API 收集者们
  4. 全民制作人们

About

fuck os,新时代反版权主义先锋。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors