Ono 木子

爱看美女的技术流 · 2027.07.01 退出推特

⏳ 还剩 357 天

科技/AI 公司关系

Alphabet (Google)

母公司旗下产品关系简介
Alphabet (Google)Gemini自研对话AI,对标ChatGPT
NotebookLM自研AI 笔记/研究工具
Google AI Studio自研开发者 API 调试平台
Veo自研AI 视频生成
DeepMind子公司AI 研究机构
Google Cloud云服务Vertex AI 平台

Microsoft

母公司旗下产品关系简介
MicrosoftGitHub收购代码托管平台
GitHub Copilot自研AI 编程助手
Codespaces自研云端开发环境
Student Pack自研学生福利包
VS Code自研代码编辑器
Azure云服务云计算平台
OpenAI投资持股关系(非控股)

OpenAI

母公司旗下产品关系简介
OpenAIChatGPT自研对话AI
Codex自研AI 编程 Agent
Sora自研AI 视频生成

Anthropic

母公司旗下产品关系简介
AnthropicClaude自研对话AI,编程强
Claude Code自研终端 AI 编程 Agent

xAI / X Corp (Elon Musk)

母公司旗下产品关系简介
Elon MuskX (Twitter)自研社交平台
xAI自研AI 公司
Grok自研对话AI,实时数据强

深度求索 (DeepSeek)

母公司旗下产品关系简介
深度求索DeepSeek V4自研开源大模型,中文最强之一
DeepSeek Chat自研对话AI

独立/开源

公司产品关系简介
Nous ResearchHermes Agent自研AI Agent 框架
CloudflarePages / Workers自研静态网站托管 + 无服务函数
开源社区Aider开源终端 AI 编程工具
开源社区Git开源版本控制工具
图例
母公司拥有子公司的企业实体
自研/收购自有产品或已收购资产
开源开源项目或开源模型
投资非控股投资/合作

博客

个人技术笔记,记录踩过的坑和学到的东西。

Linux 上部署 Emby 媒体服务器

2026-07-13 · 服务器 · 约 5 分钟阅读

Emby 是一个开源的媒体服务器软件,能把你的视频、音乐、照片整理成可浏览的媒体库,支持多设备、多用户、远程访问。这篇记录我在 Linux 服务器上部署 Emby 的全过程。

第一步:安装

Emby 官方提供 deb/rpm 包,也可以用 Docker 部署。我选择直接安装 deb 包,方便管理硬件转码。

# 下载最新 deb 包
wget https://github.com/MediaBrowser/Emby.Releases/releases/latest/download/emby-server-deb_.deb
# 安装
sudo dpkg -i emby-server-deb_.deb
# 确认服务运行
sudo systemctl status emby-server

第二步:初始化配置

安装完成后,浏览器访问 http://服务器IP:8096 进入初始化向导:

  • 设置语言为中文(简体)
  • 创建管理员账号
  • 添加媒体库:选择目录、内容类型、元数据语言
  • 配置元数据抓取源:优先 TMDB(The Movie Database)

第三步:硬件转码(推荐)

如果服务器有 Intel QSV 或 NVIDIA 显卡,建议开启硬件转码,大幅降低 CPU 占用。

# Intel QSV 需要安装驱动
sudo apt install intel-media-va-driver-non-free
# 验证
sudo vainfo

然后在 Emby 后台 → 播放 → 转码中开启硬件加速,选择对应的显卡类型。

第四步:外网访问

推荐搭配反向代理(如 Nginx / Caddy)加域名访问,而不是直接暴露端口。Caddy 自动申请 SSL 证书,配置最简单:

media.example.com {
    reverse_proxy localhost:8096
}

💡 经验

非 root 用户运行 Emby 时,注意媒体目录的权限。建议把媒体文件统一放在一个目录,给 Emby 用户(通常是 emby)读写权限:sudo chown -R emby:emby /path/to/media

MDCx:Emby 元数据批量管理工具

2026-07-13 · 工具 · 约 4 分钟阅读

MDCx 是一个专为 Emby / Jellyfin 设计的元数据刮削工具,可以批量识别媒体文件、匹配 TMDB 信息、自动写入 NFO 文件。配合 Emby 使用,能大幅减少手动整理的工作量。

安装 MDCx

MDCx 是 Python 写的,需要 Python 3.8+ 环境:

# 克隆仓库
git clone https://github.com/xxxx/MDCx.git
cd MDCx
# 安装依赖
pip install -r requirements.txt
# 运行
python main.py

也可以直接下载打包好的 Windows 可执行文件,双击运行。

配置 TMDB API

MDCx 依赖 TMDB(The Movie Database)来获取元数据。你需要先注册一个 TMDB API Key:

  • 访问 themoviedb.org 注册账号
  • 在 API 设置页面申请 API Key (v3)
  • 把 Key 填入 MDCx 的配置文件中

使用方法

MDCx 支持两种模式:

  • 扫描模式:指定媒体目录,MDCx 自动识别文件名并匹配 TMDB
  • 手动模式:输入文件名或 ID,手动指定匹配结果

匹配完成后,MDCx 会生成 NFO 文件和海报图片。Emby 扫描到 NFO 文件后会自动加载元数据,无需手动操作。

批量处理流程

1. 准备好媒体文件,按规范命名(如:Movie.Name.2024.1080p.mp4)
2. 打开 MDCx,选择媒体目录
3. 设置 TMDB API Key 和语言(zh-CN)
4. 点击开始扫描,等待匹配完成
5. MDCx 自动写入 NFO + 下载海报
6. 在 Emby 后台触发媒体库扫描 → 元数据自动加载

💡 经验

文件名规范是匹配成功率的关键。建议格式:名称.年份.分辨率.来源.编码.格式。例如 Avatar.2009.2160p.BluRay.x265.mkv,TMDB 匹配率接近 100%。

⚠️ 注意

MDCx 写入 NFO 文件后,Emby 需要重新扫描对应目录才能加载。如果 Emby 开启了"实时监控",修改 NFO 文件后会自动触发扫描,否则需要手动在后台点"扫描媒体库"。

Emby + MDCx 踩坑记录

2026-07-13 · 踩坑 · 约 5 分钟阅读

从零开始搭媒体服务器,断断续续踩了不少坑。记录一下,帮后来人少走弯路。

1. 权限问题导致扫描不到文件

💥 踩坑

Emby 容器(或服务)用户对媒体目录没有读取权限,Emby 后台看到空目录,但文件明明在。

解决:确保媒体目录的权限正确。如果你是 Docker 部署,映射目录时不要用只读模式;如果是直接安装,确保 emby 用户有权限。

# 查看当前用户
ps aux | grep emby
# 给目录授权
sudo chmod -R 755 /path/to/media
sudo chown -R emby:emby /path/to/media

2. 转码卡顿 / 无法播放

💥 踩坑

客户端播放高码率视频时卡顿,或者提示"服务器无法转码"。

解决:先确认硬件转码是否正常开启。检查 Emby 后台 → 播放 → 转码设置,看硬件加速是否生效。Intel QSV 用户注意:

# 检查驱动
sudo apt install intel-media-va-driver-non-free vainfo
vainfo  # 确认能看到 VA-API 信息

如果驱动正常但转码还是失败,试试关闭"启用 VPP 色调映射"之类的增强选项,有些 CPU 不支持。

3. TMDB 匹配失败

💥 踩坑

MDCx 或 Emby 自动匹配 TMDB 时,大量文件匹配失败或匹配到错误条目。

解决:最常见的原因是文件名不规范——TMDB 主要靠文件名中的名称和年份做匹配。建议统一命名格式:

  • 电影:英文名称.年份.其它信息.mp4(如 Inception.2010.1080p.mkv
  • 电视剧:剧名/S01/剧名.S01E01.集名.mp4

如果还是匹配不上,可以在 MDCx 中手动搜索 TMDB ID,填入后重新匹配。

💡 经验

TMDB 的搜索 API 对中文支持一般。建议文件名用英文,元数据语言设成 zh-CN,这样匹配率最高。匹配完成后,Emby 会自动显示中文标题和简介。

4. 外网访问速度慢

💥 踩坑

从外网访问 Emby 时,加载列表慢、海报加载不出来、播放缓冲。

解决:如果是国内服务器,带宽通常较小(5~10Mbps)。建议:

  • 开启 Emby 的"图片压缩"功能,降低海报和缩略图体积
  • 外网播放时,客户端设置较低码率(如 10Mbps 以下)
  • 考虑用 CDN 加速图片加载(如 Cloudflare)
  • 如果服务器在国外,可以搭配反向代理加速

5. NFO 文件冲突

💥 踩坑

MDCx 写入了 NFO,Emby 也自动生成了 NFO,两个文件不一致导致元数据混乱。

解决:在 Emby 后台 → 媒体库 → 高级设置中,关闭"将图片保存到媒体文件夹"和"将元数据保存到媒体文件夹"。这样 Emby 只读取 NFO 文件,不会自己写 NFO,避免冲突。MDCx 作为唯一的元数据写入工具。

💡 经验

我踩得最深的坑是顺序问题:先用 MDCx 刮削 → 再让 Emby 扫描。反过来(先加 Emby 再刮削),Emby 已经生成了自己的 NFO,MDCx 再写进去就要手动覆盖,很麻烦。