爱看美女的技术流 · 2027.07.01 退出推特
⏳ 还剩 357 天
| 母公司 | 旗下产品 | 关系 | 简介 |
|---|---|---|---|
| Alphabet (Google) | Gemini | 自研 | 对话AI,对标ChatGPT |
| NotebookLM | 自研 | AI 笔记/研究工具 | |
| Google AI Studio | 自研 | 开发者 API 调试平台 | |
| Veo | 自研 | AI 视频生成 | |
| DeepMind | 子公司 | AI 研究机构 | |
| Google Cloud | 云服务 | Vertex AI 平台 |
| 母公司 | 旗下产品 | 关系 | 简介 |
|---|---|---|---|
| Microsoft | GitHub | 收购 | 代码托管平台 |
| GitHub Copilot | 自研 | AI 编程助手 | |
| Codespaces | 自研 | 云端开发环境 | |
| Student Pack | 自研 | 学生福利包 | |
| VS Code | 自研 | 代码编辑器 | |
| Azure | 云服务 | 云计算平台 | |
| OpenAI | 投资 | 持股关系(非控股) |
| 母公司 | 旗下产品 | 关系 | 简介 |
|---|---|---|---|
| OpenAI | ChatGPT | 自研 | 对话AI |
| Codex | 自研 | AI 编程 Agent | |
| Sora | 自研 | AI 视频生成 |
| 母公司 | 旗下产品 | 关系 | 简介 |
|---|---|---|---|
| Anthropic | Claude | 自研 | 对话AI,编程强 |
| Claude Code | 自研 | 终端 AI 编程 Agent |
| 母公司 | 旗下产品 | 关系 | 简介 |
|---|---|---|---|
| Elon Musk | X (Twitter) | 自研 | 社交平台 |
| xAI | 自研 | AI 公司 | |
| Grok | 自研 | 对话AI,实时数据强 |
| 母公司 | 旗下产品 | 关系 | 简介 |
|---|---|---|---|
| 深度求索 | DeepSeek V4 | 自研 | 开源大模型,中文最强之一 |
| DeepSeek Chat | 自研 | 对话AI |
| 公司 | 产品 | 关系 | 简介 |
|---|---|---|---|
| Nous Research | Hermes Agent | 自研 | AI Agent 框架 |
| Cloudflare | Pages / Workers | 自研 | 静态网站托管 + 无服务函数 |
| 开源社区 | Aider | 开源 | 终端 AI 编程工具 |
| 开源社区 | Git | 开源 | 版本控制工具 |
| 图例 | |
|---|---|
| 母公司 | 拥有子公司的企业实体 |
| 自研/收购 | 自有产品或已收购资产 |
| 开源 | 开源项目或开源模型 |
| 投资 | 非控股投资/合作 |
个人技术笔记,记录踩过的坑和学到的东西。
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 进入初始化向导:
第三步:硬件转码(推荐)
如果服务器有 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 / 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:
使用方法
MDCx 支持两种模式:
匹配完成后,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 文件后会自动触发扫描,否则需要手动在后台点"扫描媒体库"。
从零开始搭媒体服务器,断断续续踩了不少坑。记录一下,帮后来人少走弯路。
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)。建议:
5. NFO 文件冲突
💥 踩坑
MDCx 写入了 NFO,Emby 也自动生成了 NFO,两个文件不一致导致元数据混乱。
解决:在 Emby 后台 → 媒体库 → 高级设置中,关闭"将图片保存到媒体文件夹"和"将元数据保存到媒体文件夹"。这样 Emby 只读取 NFO 文件,不会自己写 NFO,避免冲突。MDCx 作为唯一的元数据写入工具。
💡 经验
我踩得最深的坑是顺序问题:先用 MDCx 刮削 → 再让 Emby 扫描。反过来(先加 Emby 再刮削),Emby 已经生成了自己的 NFO,MDCx 再写进去就要手动覆盖,很麻烦。