nowen-video

cropflreGPL-3.0活跃维护

用 Go + React + SQLite 搭的轻量家庭媒体服务器,自动刮削 TMDb/豆瓣元数据,支持 HLS 转码与硬件加速,可当 Emby/Jellyfin 的轻量替代。

🎬 轻量级家庭媒体服务器 | Go + React + SQLite | 自动刮削 TMDb/豆瓣 | HLS 转码 + 硬件加速 | 剧集识别 | Docker 一键部署 | 类 Emby/Jellyfin 替代方案

v1.3.4发布于 2026-08-24 02:45 UTC240star +2 / 7 天38fork同步于 2026-11-11 00:01 UTC

怎么上手

由 README 提炼,执行前请确认
docker run -d --name nowen-video -p 8080:8080 -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai -v $(pwd)/data:/data -v $(pwd)/cache:/cache -v /path/to/media:/media:ro --restart unless-stopped cropflre/nowen-video:latest
硬件要求按 README 说明

Docker 镜像内置 FFmpeg 8.1.2;Intel/AMD 硬件加速需在 Linux/NAS 上透传 /dev/dri,无此设备时用软件转码兜底。README 未给出具体显存或内存要求。

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Go+React 写的轻量家庭媒体服务器,自动刮削元数据并按需转码,可替代 Emby/Jellyfin

用 Go + React + SQLite 搭的轻量家庭媒体服务器,自动刮削 TMDb/豆瓣元数据,支持 HLS 转码与硬件加速,可当 Emby/Jellyfin 的轻量替代。

核心能力

  • 自动扫描常见视频格式并用 FFprobe 读取轨道信息
  • 从 TMDb、豆瓣、TheTVDB、Bangumi 等源刮削元数据
  • 按客户端能力选择直接播放、Remux 或按需 HLS 转码
  • 支持 Intel/AMD /dev/dri 硬件加速并保留软件转码兜底
  • 内置 Emby/Jellyfin 兼容接口,可接 Hills、Yamby 等客户端

容易踩的坑

默认端口 8080,首次注册的用户自动成为管理员;硬件加速需额外加 --device /dev/dri:/dev/dri,没有该设备要删掉映射;局域网自动发现依赖 UDP 7359 和可达广播网络,Docker bridge 或反代环境需手动填服务器地址;源码构建需 Go 1.25、Node.js 20+ 和 FFmpeg,只下载 compose 文件不含 Dockerfile 与源码。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.3.4
  1. v1.3.4Nowen Video 1.3.4最新正式版2026-08-24 · 2026-08-24 02:45 UTC

    🎬 Nowen Video v1.3.4 发布公告

    发布日期:2026-08-24 源码:c47593619fc7 · 变更范围 v1.3.3..HEAD

    本版本继续围绕媒体管理、播放体验、详情页信息架构、移动端与发布稳定性进行完善。以下内容由本次版本的真实提交自动汇总。

    ♻️ 重构与能力升级

    • web:退役旧视觉层并统一详情搜索 b7249cf

    🔧 其他

    • web:清理未引用历史样式文件 3e65c25

    📌 其他变更

    • 统一影视详情页 Hero 文案展示 c475936
    • 修复Remux拖动后字幕时间轴同步 bece153
    • 修复详情页演职人员图标与片段悬停布局 74f0991
    • 清理影视详情封面边界并增加演职人员间距 5aa96c3
    • 移除影视详情封面固定高度约束 80fcf3c
    • 移除详情封面首帧淡入缩放 5ef5e91
    • 修复影视详情封面首帧闪边 10944a1
    • 将影视详情收藏图标调整为红色爱心 ed76a56
    • 修正影视详情返回按钮为纯图标 92e98a3
    • 放大影视详情封面并对齐 Hills Lite 比例 1bb0448
    • 收口详情页单图轮播素材避免拼图背景混入 7d6cccd
    • 删除详情页旧轮播增强器避免双重渲染 8dd429f
    • 退役详情页旧轮播增强器避免背景重叠 984c020
    • 压缩详情页封面高度并收口单图轮播 0182ee9
    • 重构详情页封面为单图自动轮播 ca76b6d
    • 重构影视详情页为 Hills Lite 连续信息流 6e2486d
    • 支持点击首页幻灯片进入影视详情 936084f
    • 修正展开侧栏文字布局并统一左对齐 6652841
    • 保持中宽屏侧栏自动收起布局稳定 256806f
    • 优化展开侧栏文字对齐与可用宽度 ce2bd7b
    • 保持侧栏宽度契约由导航样式统一控制 b025df2
    • 修复展开侧栏导航项宽度与文字展示 6fda7fa
    • 收紧桌面侧栏展开宽度与导航密度 504cfb9
    • 收敛侧栏选中态为 Hills Lite 中性样式 ee9083f
    • 其余 12 项工程变更已省略,可在 GitHub 提交记录中查看。

    📦 本次发布渠道

    • Docker:cropflre/nowen-video:v1.3.4
    • Docker stable:cropflre/nowen-video:latest
    • Android APK:nowen-video-android-1.3.4.apk
    • Android AAB:nowen-video-android-1.3.4.aab
    • 飞牛 fnOS:nowen-video-1.3.4.fpk

    ⬆️ 升级说明

    • Docker 用户建议固定版本标签升级,确认运行正常后再跟随 latest。
    • 飞牛 fnOS 用户可在应用中心使用本版本 .fpk 覆盖安装,持久化数据目录不会随应用包替换。
    • Android 用户直接安装本版本 APK;AAB 用于应用商店或后续渠道分发。
    • 升级前建议备份 /data,尤其是跨多个版本升级时。

    ✅ 发布完整性

    本 Release 只有在 Server CI、Release Contract、客户端正式候选构建、Docker 远端 manifest、Git tag、GitHub Release 资产以及各渠道校验全部通过后才会被发布脚本判定为成功。

    Full Changelog: https://github.com/cropflre/nowen-video/compare/v1.3.3...v1.3.4

  2. v1.3.3Nowen Video 1.3.32026-08-21 · 2026-08-21 08:12 UTC
    查看更新说明

    🎬 Nowen Video v1.3.3 发布公告

    发布日期:2026-08-21 源码:43c911837f93 · 变更范围 v1.3.2..HEAD

    本版本继续围绕媒体管理、播放体验、详情页信息架构、移动端与发布稳定性进行完善。以下内容由本次版本的真实提交自动汇总。

    🐛 问题修复

    • 修复安卓播放进度条拖动 21a54e4
    • 适配 Windows Player Surface API 9246a2f

    📝 文档

    • 统一项目品牌名称 048d018
    • 删除 README 旧版截图资源 fd12c5d
    • 更新 README 截图与公众号资源 d4f5c21

    📌 其他变更

    • 清理剧集菜单旧遮罩样式 43c9118
    • 修复影视库切换误报与剧集菜单交互 9945c8f

    📦 本次发布渠道

    • Docker:cropflre/nowen-video:v1.3.3
    • Docker stable:cropflre/nowen-video:latest
    • Android APK:nowen-video-android-1.3.3.apk
    • Android AAB:nowen-video-android-1.3.3.aab
    • 飞牛 fnOS:nowen-video-1.3.3.fpk

    ⬆️ 升级说明

    • Docker 用户建议固定版本标签升级,确认运行正常后再跟随 latest。
    • 飞牛 fnOS 用户可在应用中心使用本版本 .fpk 覆盖安装,持久化数据目录不会随应用包替换。
    • Android 用户直接安装本版本 APK;AAB 用于应用商店或后续渠道分发。
    • 升级前建议备份 /data,尤其是跨多个版本升级时。

    ✅ 发布完整性

    本 Release 只有在 Server CI、Release Contract、客户端正式候选构建、Docker 远端 manifest、Git tag、GitHub Release 资产以及各渠道校验全部通过后才会被发布脚本判定为成功。

    Full Changelog: https://github.com/cropflre/nowen-video/compare/v1.3.2...v1.3.3

  3. v1.3.2Nowen Video 1.3.22026-08-20 · 2026-08-20 10:25 UTC
    查看更新说明

    🎬 Nowen Video v1.3.2 发布公告

    发布日期:2026-08-20 源码:c059faa55ddf · 变更范围 v1.3.1..HEAD

    本版本继续围绕媒体管理、播放体验、详情页信息架构、移动端与发布稳定性进行完善。以下内容由本次版本的真实提交自动汇总。

    ✨ 新增功能

    • ui:load Nowen UI 2.0 theme contract e715a5c
    • ui:introduce Nowen UI 2.0 semantic theme layer 889d080
    • ui:add Nowen UI exports c15691d
    • ui:add shared media artwork primitive 7a6a68f
    • ui:add shared media rail primitive 6a75624

    ♻️ 重构与能力升级

    • ui:build MediaCard on shared artwork primitive 4e84a84
    • ui:migrate home rows to shared MediaRail e3a5717
    • ui:align Fluent brand with Nowen violet system 1433579
    • ui:extend shared primitives for UI 2.0 d97aa64

    📌 其他变更

    • 修复首页幻灯片未使用状态导致构建失败 c059faa
    • 修复文件监视器测试语法错误 82be881
    • 统一安卓设计系统与 Web 移动端视觉令牌 64763ef
    • 修正安卓 Web 移动端首页 Compose 内容作用域 cce076f
    • 统一安卓主导航与 Web 移动端底栏 3defd35
    • 统一安卓首页与 Web 移动端视觉结构 039c587
    • 修复收藏检查竞态导致状态回退 1a8bab7
    • 修复收藏状态缓存未及时失效 d40953f
    • 补齐原生与WebCodecs观看进度持续上报 36feb31
    • 接入全播放内核观看历史同步桥接 61b3a6a
    • 统一播放器观看历史上报与离场进度保存 cf88793
    • 修正首页幻灯片左右切换按钮对称布局 c6a9159
    • 接入首页切换按钮统一视觉规范 9f2da0c
    • 统一首页幻灯片与分类切换按钮样式 70fd85c
    • 收紧无搜索框顶部栏布局 c3932f9
    • 移除重复的全局顶部搜索框 907377b
    • 统一页面切换时顶部标题字号与排版 8f657f4
    • 移除无实际功能的顶部消息铃铛 f0acddc
    • 修复桌面侧边栏导航文字裁切 6f2d4ae
    • 接入侧边栏导航图标最终展示规范 028a99a
    • 恢复桌面侧边栏导航图标完整展示 f18d4a6
    • 接入移动端首页沉浸式顶部栏优化 4847827
    • 优化移动端首页沉浸式顶部操作 bbe6a72
    • 接入播放器单清晰度画质菜单修复 c3d821f
    • 其余 280 项工程变更已省略,可在 GitHub 提交记录中查看。

    📦 本次发布渠道

    • Docker:cropflre/nowen-video:v1.3.2
    • Docker stable:cropflre/nowen-video:latest
    • Android APK:nowen-video-android-1.3.2.apk
    • Android AAB:nowen-video-android-1.3.2.aab
    • 飞牛 fnOS:nowen-video-1.3.2.fpk

    ⬆️ 升级说明

    • Docker 用户建议固定版本标签升级,确认运行正常后再跟随 latest。
    • 飞牛 fnOS 用户可在应用中心使用本版本 .fpk 覆盖安装,持久化数据目录不会随应用包替换。
    • Android 用户直接安装本版本 APK;AAB 用于应用商店或后续渠道分发。
    • 升级前建议备份 /data,尤其是跨多个版本升级时。

    ✅ 发布完整性

    本 Release 只有在 Server CI、Release Contract、客户端正式候选构建、Docker 远端 manifest、Git tag、GitHub Release 资产以及各渠道校验全部通过后才会被发布脚本判定为成功。

  4. v1.3.1Nowen Video 1.3.12026-08-18 · 2026-08-18 10:00 UTC
    查看更新说明

    🎬 Nowen Video v1.3.1 发布公告

    发布日期:2026-08-18 源码:8ade62a0317e · 变更范围 v1.3.0..HEAD

    本版本继续围绕媒体管理、播放体验、详情页信息架构、移动端与发布稳定性进行完善。以下内容由本次版本的真实提交自动汇总。

    📌 其他变更

    • 增加桌面播放窗口特效回归门禁 8ade62a
    • 修复桌面原生播放白屏 531c3f5
    • 清理误触的临时空文件 c7a5bb6
    • 中止错误调用 c482983
    • 清理误创建的临时空文件 4106bbf
    • should not happen d49f045
    • 清理误创建的分支标记文件 cd36c21
    • 建立桌面播放白屏修复分支 2a4792d
    • 清理误创建的临时文件 5e8d424
    • noop 9bfcaba
    • 同步 Desktop Windows 依赖锁文件 3c3df78
    • 修复 Desktop 2.0 Windows 编译与安卓网络权限 de63022
    • 补齐 Desktop 2.0 Tauri 构建资源 028b62d
    • 补齐 Desktop CI Tauri 运行时资源 1e681ea
    • 补齐 Desktop CI Sidecar 构建前置 88b02bf
    • 补齐 Android 媒体计算单测依赖 d7c4f4c
    • 修复 Desktop 2.0 wid 架构门禁误报 0178b1d
    • 触发 Desktop 2.0 合并前完整验证 9f45e5c
    • 同步 Desktop 2.0 Cargo 锁文件 14f3f0c
    • 临时生成 Desktop 2.0 Cargo 锁文件 b2a112a
    • 收口 Desktop 2.0 主分支构建门禁 6b6878a
    • 接入分布式章节检测任务 4680af5
    • 修正 Desktop 2.0 架构门禁稳定性 b41b4a2
    • 修正 Desktop 2.0 架构门禁字符串匹配 c6cad0c
    • 其余 140 项工程变更已省略,可在 GitHub 提交记录中查看。

    📦 本次发布渠道

    • Docker:cropflre/nowen-video:v1.3.1
    • Docker stable:cropflre/nowen-video:latest
    • Android APK:nowen-video-android-1.3.1.apk
    • Android AAB:nowen-video-android-1.3.1.aab
    • 飞牛 fnOS:nowen-video-1.3.1.fpk

    ⬆️ 升级说明

    • Docker 用户建议固定版本标签升级,确认运行正常后再跟随 latest。
    • 飞牛 fnOS 用户可在应用中心使用本版本 .fpk 覆盖安装,持久化数据目录不会随应用包替换。
    • Android 用户直接安装本版本 APK;AAB 用于应用商店或后续渠道分发。
    • 升级前建议备份 /data,尤其是跨多个版本升级时。

    ✅ 发布完整性

    本 Release 只有在 Server CI、Release Contract、客户端正式候选构建、Docker 远端 manifest、Git tag、GitHub Release 资产以及各渠道校验全部通过后才会被发布脚本判定为成功。

  5. v1.3.0Nowen Video 1.3.02026-08-17 · 2026-08-17 09:46 UTC
    查看更新说明

    🎬 Nowen Video v1.3.0 发布公告

    发布日期:2026-08-17 源码:66ff66dac4d0 · 变更范围 v1.2.9..HEAD

    本版本继续围绕媒体管理、播放体验、详情页信息架构、移动端与发布稳定性进行完善。以下内容由本次版本的真实提交自动汇总。

    🤖 CI / 发布工程

    • docker:report production image footprint 335ca3b

    🔧 其他

    • docker:slim production runtime image 35586f9

    📌 其他变更

    • 修复 Docker 运行身份回归测试的 awk 转义 66ff66d
    • 增加 Docker PUID PGID 冲突回归验证 ff62801
    • 兼容镜像改用统一 Docker 入口 811b32e
    • 正式镜像改用统一 Docker 入口 9bb36d1
    • 统一 Docker 运行时用户入口 4c01a7b
    • 修复兼容镜像 PUID PGID 与系统账号冲突 94aa31f
    • 修复 Docker PUID PGID 与系统账号冲突 9f93b6e
    • 文档:同步更新英文 README 当前功能 60e464d
    • 文档:按当前正式功能更新中文 README 41bfdb3
    • 安卓:修复剧集详情观看进度区参数调用 55e2124
    • 安卓:修复电影详情媒体信息区参数调用 626fc7d
    • 安卓:修复个人媒体工作区分页项编译 7c6a04a
    • 安卓:明确收藏网格与历史列表的分页项作用域 856bb72
    • 安卓测试:覆盖剧集续播与下一集选择规则 a2ddc0a
    • 安卓:让观看历史直接进入续播链路 4ceb344
    • 安卓:重构收藏与观看历史个人媒体工作区 b212865
    • 安卓:重构剧集详情并接入真实续播进度 96ecc35
    • 安卓:扩展观看历史查询以支持剧集续播 dc724bd
    • 安卓:重构电影详情为原生详情工作区 176a5f1
    • 安卓:新增原生影视详情工作区组件 5dcfdad

    📦 本次发布渠道

    • Docker:cropflre/nowen-video:v1.3.0
    • Docker stable:cropflre/nowen-video:latest
    • Android APK:nowen-video-android-1.3.0.apk
    • Android AAB:nowen-video-android-1.3.0.aab
    • 飞牛 fnOS:nowen-video-1.3.0.fpk

    ⬆️ 升级说明

    • Docker 用户建议固定版本标签升级,确认运行正常后再跟随 latest。
    • 飞牛 fnOS 用户可在应用中心使用本版本 .fpk 覆盖安装,持久化数据目录不会随应用包替换。
    • Android 用户直接安装本版本 APK;AAB 用于应用商店或后续渠道分发。
    • 升级前建议备份 /data,尤其是跨多个版本升级时。

    ✅ 发布完整性

    本 Release 只有在 Server CI、Release Contract、客户端正式候选构建、Docker 远端 manifest、Git tag、GitHub Release 资产以及各渠道校验全部通过后才会被发布脚本判定为成功。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Nowen Video(弄文影视)是基于 Go + React + SQLite + FFmpeg 构建的家庭媒体平台,面向 NAS、家庭服务器和自托管用户。

    它提供从 媒体扫描、元数据刮削、影视库管理、详情浏览、搜索、收藏与历史,到直接播放、Remux、按需 HLS 转码、字幕和多端访问 的完整链路,并持续围绕长期稳定运行、低维护成本和跨端体验进行优化。

    产品说明:Nowen Video(弄文影视)当前只有一个对外正式服务端。历史上的 Lite / Full 产品区分已经退出正式产品体系;旧兼容运行时只保留用于迁移、回滚和历史验证。详见 服务端架构说明。

    📸 功能截图

    当前界面覆盖桌面端与移动端,并提供日间与夜间模式。首页聚合 Hero 推荐、继续观看、为你推荐、最近添加和类型分区;影视库支持分类切换、筛选、排序、网格 / 列表视图与分页;详情页提供播放、收藏、加入片单、字幕、精彩片段、演职员、相似推荐、技术规格和评分等完整信息。

    ✨ 核心特性

    🎬 媒体库与刮削

    • 自动扫描 MKV / MP4 / AVI / MOV / WebM / TS / RMVB 等常见媒体文件
    • 基于 FFprobe 获取媒体轨道、编码、时长等基础信息
    • 支持 NFO、外挂字幕、文件监听和媒体资源刷新
    • 支持 TMDb、豆瓣、TheTVDB、Bangumi、Fanart.tv 等元数据来源
    • 自动识别常见电影、剧集与季集命名结构
    • 支持电影合集、剧集导航和媒体详情工作区

    ▶️ 播放、Remux 与转码

    • 服务端统一播放规划器,根据客户端和媒体能力选择 直接播放 / Remux / 按需 HLS 转码
    • 播放失败时提供自动降级路径,减少手工切换
    • Docker 正式镜像内置 FFmpeg 8.1.2
    • 支持 Intel / AMD /dev/dri 硬件加速环境,并保留软件转码兜底
    • 转码任务具备持久执行状态、缓存产物、校验、恢复与清理机制
    • 播放器支持字幕、倍速、剧集切换等常用播放控制

    ✨ 本地媒体分析与精彩片段

    • 支持本地媒体分析任务与实时进度事件
    • 支持稀疏两阶段精彩片段分析,降低无意义的全量处理
    • 支持精彩片段独立 Tab 与精彩片段播放模式
    • 动态预览按需生成并可持久化,避免一次性生成大量无用资源
    • 分析完成后可刷新详情页相关媒体素材

    本地媒体分析属于持续演进中的能力,不要求所有媒体都预先完成分析后才能正常浏览或播放。

    🎨 Aurora / Neo Glass 影视界面

    • 首页、影视库、搜索、收藏、播放历史、详情页与播放器逐步统一到 Aurora 视觉体系
    • 桌面端提供可折叠侧边栏,移动端提供底部主导航,并适配日间 / 夜间主题
    • 首页提供 Hero 推荐轮播、继续观看、为你推荐、最近添加和按类型浏览等内容分区
    • 影视库支持分类切换、筛选、排序、网格 / 列表视图与分页浏览
    • 媒体详情页支持独立背景图、Hero 轮播、状态侧栏与真实 Tab 导航
    • 详情页整合精彩片段、演职员、相似推荐、技术规格和评分区域
    • 收藏、历史和继续观看使用统一媒体工作区
    • 侧边栏支持折叠,播放器控制层采用统一玻璃拟态视觉
    • 针对长标题、空状态、窄屏和高密度媒体库持续优化布局

    🔤 字幕

    • 外挂字幕扫描与播放选择
    • 内嵌字幕轨道处理
    • 在线字幕搜索
    • Web / 桌面 / Android 播放端共享字幕相关接口能力

    👨‍👩‍👧‍👦 用户与个人空间

    • JWT 登录认证与 bcrypt 密码存储
    • 首个注册用户自动成为管理员
    • 独立收藏、观看历史、继续观看与播放进度
    • 媒体库权限与内容分级能力
    • 统一任务中心展示扫描、刮削和转码维护任务的状态、进度与生命周期

    🌐 远程存储与可选能力

    • WebDAV / Alist / S3 等远程存储能力按配置启用
    • AI 相关能力按配置和实际运行状态启用,不作为默认常驻组件强制启动
    • WebSocket 用于任务和媒体分析等实时进度事件

    🛡️ NAS 与长期运行

    • SQLite WAL 持久化
    • Alpine Docker 正式镜像
    • /data 与 /cache 独立持久化
    • 支持 PUID / PGID 运行身份
    • 容器健康检查
    • 针对转码缓存、任务恢复、资源边界和长期运行场景进行专门治理

    🚀 快速开始

    一、Docker 部署(推荐)

    直接使用 Docker Hub 正式镜像:

    docker run -d \
      --name nowen-video \
      -p 8080:8080 \
      -e PUID=1000 \
      -e PGID=1000 \
      -e TZ=Asia/Shanghai \
      -v $(pwd)/data:/data \
      -v $(pwd)/cache:/cache \
      -v /path/to/media:/media:ro \
      --restart unless-stopped \
      cropflre/nowen-video:latest
    

    如果需要 Intel / AMD 硬件加速,在 Linux / NAS 环境中额外透传 /dev/dri:

    --device /dev/dri:/dev/dri
    

    启动后访问:

    http://你的主机IP:8080
    

    首次注册的用户会自动成为管理员。

    二、Docker Compose

    services:
      nowen-video:
        image: cropflre/nowen-video:latest
        container_name: nowen-video
        ports:
          - "8080:8080"
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Asia/Shanghai
        volumes:
          - ./data:/data
          - ./cache:/cache
          - /volume1/Media:/media:ro
        devices:
          - /dev/dri:/dev/dri
        restart: unless-stopped
    

    没有硬件加速需求时可删除 devices 段。

    JWT Secret 未显式配置时,服务端会在首次启动时自动生成随机密钥并持久化到数据目录;如有统一密钥管理需求,也可以通过 NOWEN_SECRETS_JWT_SECRET 显式指定。

    三、NAS / 生产环境部署

    仓库根目录的 docker-compose.deploy.yml 是面向 NAS 与长期运行场景的完整配置, 包含转码设备透传、挂载目录权限和远程存储(FUSE)的配置示例。 使用前请修改媒体路径,并按宿主机实际情况调整 devices:没有 /dev/dri 或 /dev/fuse 时删除对应映射;不使用硬件加速或 FUSE 时无需映射相应设备。然后:

    docker compose -f docker-compose.deploy.yml up -d
    

    飞牛 OS 图形界面用户:Docker → Compose → 上传该文件即可;也可以在「镜像」里直接拉 cropflre/nowen-video:latest,再用 GUI 创建容器。 推荐直接使用预构建镜像。也可以在资源足够的 NAS 上从完整仓库构建; 只下载 compose 文件不包含构建所需的 Dockerfile 和源码。

    Emby / Jellyfin 兼容接口默认开启,Hills、Yamby 等客户端可手动填写服务器地址连接。 如需关闭,设置 NOWEN_EMBY_ENABLE_COMPAT=false。局域网自动发现还需要 UDP 7359 端口和可达的广播网络;Docker bridge、跨网段或反向代理环境中建议手动填写地址。

    四、源码构建

    环境要求:Go 1.25、Node.js 20+、FFmpeg

    git clone https://github.com/cropflre/nowen-video.git
    cd nowen-video
    
    go mod download
    cd web && npm ci && cd ..
    
    # 正式服务端开发模式
    make dev
    
    # 前端开发服务器(另开终端)
    make dev-web
    
    # 生产构建
    make build
    ./bin/nowen-video
    

    make build、make dev 与默认 Dockerfile 都对应同一个 Nowen Video(弄文影视)正式服务端。

    📱 客户端与平台

    Web

    Web 是 Nowen Video(弄文影视)的主要管理与观影入口,提供媒体库、搜索、详情页、播放、收藏、历史、继续观看、任务状态与管理功能。

    🖥️ Desktop

    桌面客户端基于 Tauri 2.0 + libmpv,面向 Windows / macOS / Linux,并支持 Web <video> 与原生 mpv 双播放内核。

    在本地播放环境下可覆盖 MKV、HEVC、AV1、HDR、杜比视界、DTS、TrueHD、Atmos 等 Web 浏览器不擅长的媒体场景。

    详见 desktop/README.md。

    📱 Android

    仓库根目录 android/ 是唯一正式 Android 客户端:

    • Kotlin + Jetpack Compose
    • Media3
    • Hilt
    • Retrofit / OkHttp
    • Paging 3
    • WorkManager
    • Android Keystore
    • 最低 Android 8.0 / API 26
    • targetSdk API 35
    • applicationId:com.nowen.video

    项目不再维护 V1 / V2 两套 Android 产品。

    旧 V1 与当前正式版可能使用不同签名。已安装旧版且签名不一致的设备可能需要先卸载再安装;后续正式版本将持续使用当前生产签名进行覆盖升级。

    详见 android/README.md。

    🐮 飞牛 fnOS

    Nowen Video(弄文影视)已具备正式 fnOS .fpk 构建与发布链路,包括应用资源、Docker Project、桌面入口、安装 / 升级 / 卸载生命周期、权限声明与 fnpack 校验。

    正式发布版本可从 GitHub Release 获取对应 .fpk 安装包。

    📦 发布渠道

    正式版本统一覆盖:

    • Docker Hub:cropflre/nowen-video:<version> / cropflre/nowen-video:latest
    • Android:APK / AAB
    • 飞牛 fnOS:.fpk
    • GitHub Release:源码、版本说明及对应发布资产

    发布流程会校验 Server CI、Release Contract、客户端正式候选构建、Docker 远端 manifest、Git Tag、GitHub Release 资产和渠道产物完整性。

    ⚙️ 配置说明

    配置加载顺序(后者覆盖前者):

    1. 内置默认值
    2. config.yaml
    3. 数据目录中的 config.yaml(保存设置时的回退副本)
    4. config/*.yaml 等部署分片
    5. 数据目录中的 config/*.yaml(通过管理界面保存的分片)
    6. NOWEN_* 环境变量
    

    常用配置:

    配置默认值说明
    PUID / PGID镜像内默认用户容器运行 UID / GID
    TZAsia/Shanghai(正式镜像)时区
    NOWEN_APP_PORT8080HTTP 服务端口
    NOWEN_APP_DATA_DIR/data数据目录
    NOWEN_DATABASE_DB_PATH/data/nowen.dbSQLite 数据库路径
    NOWEN_CACHE_CACHE_DIR/cache转码与任务缓存目录
    NOWEN_LOGGING_LEVELinfodebug / info / warn / error
    NOWEN_SECRETS_JWT_SECRET自动生成可选,自定义 JWT 签名密钥

    config/ 目录下常用分片:

    文件用途
    app.yaml端口、调试、路径、FFmpeg 位置
    database.yamlSQLite 路径、WAL、连接池
    secrets.yamlJWT 密钥、第三方 API Key
    logging.yaml日志级别、格式、轮转
    cache.yaml转码缓存与清理策略
    ai.yamlAI 提供商与模型配置

    不要把真实 Token、API Key、JWT Secret 或私人服务器地址提交到 Git。

    🏗️ 技术栈

    后端:Go 1.25 · Gin · GORM · SQLite (WAL) · Zap · Viper · gorilla/websocket · fsnotify · FFmpeg 8.1.2

    Web:React 18 · TypeScript · Vite · Tailwind CSS · Fluent UI · Framer Motion · Zustand · HLS.js · React Router

    Desktop:Tauri 2.0 · Rust · WebView · mpv / libmpv

    Android:Kotlin · Jetpack Compose · Media3 · Paging 3 · WorkManager · Hilt · Retrofit · Android Keystore

    部署:Docker (Alpine) · Docker Compose · 飞牛 fnOS

    🗺️ 当前演进方向

    • ✅ 单一正式服务端产品身份
    • ✅ 直接播放 / Remux / HLS 转码与自动回退
    • ✅ 持久转码执行状态、Lease、恢复与产物治理
    • ✅ Aurora / Neo Glass Web 视觉体系
    • ✅ 本地媒体分析与精彩片段能力
    • ✅ Android 模块化正式客户端
    • ✅ Docker / Android / fnOS / GitHub Release 统一发布流程
    • 🚀 持续优化播放稳定性、字幕体验、跨端一致性、媒体分析和 NAS 资源效率

    💬 交流与反馈

    • QQ 群:1093473044
    • GitHub Issues:欢迎提交 Bug、功能建议与兼容性反馈
    • 提交问题时请勿公开 Token、密钥或私人服务器地址

    ☕ 赞赏支持

    如果这个项目对你有帮助,欢迎请作者喝杯咖啡 / 买个键盘 / 修个 Bug 🙏

    也欢迎关注微信公众号「Nowen 开源实验室」,获取项目动态与开源实践分享。

    📜 开源协议

    本项目采用 GNU General Public License v3.0(GPL-3.0)开源协议发布。

    你可以自由运行、研究、修改和分发本软件。基于本项目的派生作品在对外分发时必须遵守 GPL-3.0,并保留相应版权与许可证声明。本软件按“原样”提供,不附带任何明示或默示担保。