ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

威联通NAS+Emby+Kodi:家庭媒体中心搭建与调优实战

威联通NAS+Emby+Kodi:家庭媒体中心搭建与调优实战 家庭媒体中心这件事我折腾了差不多六年。从最早拿一台旧笔记本装Kodi直接接电视到后来硬盘越堆越多、设备越添越杂再到最后把整套东西收敛到一台威联通NAS上中间踩过的坑足够写一本小册子。现在这套「威联通NAS Emby Server Kodi」的组合已经稳定跑了一年多家里三台电视、两台平板、两部手机都能各取所需老人小孩也都会用。这篇就把我这些年攒下来的配置思路、踩坑记录和调优经验完整摊开讲一遍从硬件选型一直讲到客户端播放的细节尽量让刚入门的朋友也能照着搭起来。1. 为什么是威联通NAS、Emby Server加Kodi这个组合1.1 三种方案各自的定位与分工很多人一开始会纠结到底是用NAS自带的媒体服务还是装Emby还是干脆用Kodi读局域网共享我的结论是这三个东西根本不是竞争关系而是各管一段。威联通NAS负责的是存储与常驻服务——硬盘插在里面数据安全有保障7×24小时开机不心疼电费这是整个体系的地基。Emby Server负责的是媒体库管理与转码分发——它把散落在各个文件夹里的影片、剧集、音乐整理成带海报、简介、演员表的漂亮界面并且能根据客户端的能力决定是直接串流还是实时转码。Kodi负责的是客厅大屏的播放体验——它的解码能力、字幕渲染、音频直通Passthrough在同类软件里属于第一梯队配合遥控器操作顺手特别适合接电视和功放。把这三者串起来逻辑就清晰了NAS存片Emby管库和分发Kodi在客厅负责最终呈现。你在外面用手机直接连Emby客户端就行在客厅用电视走Kodi连Emby的插件既享受Emby的媒体库管理又享受Kodi的播放能力。这套分工是我试过好几种组合之后定下来的比单纯用Emby客户端接电视、或者单纯用Kodi挂SMB共享都要舒服。1.2 和群晖方案相比威联通在这套体系里的取舍网上关于威联通和群晖的对比文章很多我这里只讲和媒体中心相关的部分。威联通在中端机型上给的硬件规格通常更激进——同样的价位CPU核数、内存上限、盘位数量往往更宽裕这对需要跑Emby转码的场景是实打实的优势。Emby的实时转码非常吃CPU尤其是遇到需要烧字幕或者降码率的片子核多就是硬道理。另外威联通的Container Station容器工作站对Docker的支持比较成熟Emby Server用Docker部署比用套件版灵活得多版本更新也及时。群晖的优势在于系统易用性和套件生态QuickConnect那种外网访问的便利性确实省心。但如果你愿意花点时间做端口映射和域名解析威联通这边完全能实现同样的效果而且硬件性价比更高。我的建议是如果你已经有威联通设备就安心用它搭如果还在选预算有限又想要转码性能威联通的中端四盘位机型是更划算的选择。这不是说群晖不好而是这套「NASEmbyKodi」的组合对硬件算力的敏感度更高威联通在这个维度上更占优。1.3 什么样的家庭适合这套方案不是所有人都需要这么折腾。如果你只是偶尔在手机上看两部电影直接用NAS自带的Video Station或者装个Emby套件就够了没必要上Kodi。这套方案真正适合的是这几类情况片源数量大、类型杂手动整理根本管不过来客厅有大屏电视和音响对画质音质有要求需要音频直通和字幕特效家庭成员多、设备多老人要看电视剧、小孩要看动画、你自己要看原盘需求各不相同有外网访问需求出差或者回老家也想接着看。如果你中了其中两条以上那这套组合值得投入时间搭起来。2. 威联通NAS的选型与前期准备2.1 机型与硬盘的搭配思路选机型先看两个硬指标CPU是否支持硬件转码和内存能不能扩。Emby的硬件转码依赖Intel核显的Quick Sync VideoQSV所以优先选带Intel处理器的机型比如TS-464、TS-453D这类。AMD平台的机型虽然CPU性能强但QSV用不了转码只能靠软解遇到高码率片子会吃力。内存方面4GB是底线8GB起步比较稳因为Emby Server、Container Station、再加上系统本身内存占用不小。如果预算允许直接上16GB后面跑虚拟机或者别的服务也不用再折腾。硬盘这块我的经验是别把鸡蛋放一个篮子里。至少两块盘做RAID 1存重要数据媒体库这种可以重新下载的内容用单独的大容量盘或者RAID 0都行。我自己的配置是两块4TB做RAID 1放照片文档两块16TB做RAID 1放媒体库再加一块SSD做系统盘和Docker容器盘。SSD做容器盘的好处是Emby的数据库读写快刮削和浏览媒体库的时候响应明显更跟手。2.2 系统初始化时容易忽略的设置新机开箱初始化的时候有几个设置建议一次到位省得后面返工。存储池和卷的规划要在最开始想清楚因为后期调整很麻烦。我习惯把系统盘单独分出来媒体库单独一个卷这样即使系统出问题重装媒体数据也不受影响。网络方面如果路由器支持链路聚合可以把两个网口绑在一起虽然家庭环境很少跑满但多设备同时访问的时候更稳。静态IP一定要设不然后面Docker容器映射端口、Kodi填服务器地址的时候IP一变全乱套。还有一个特别容易被忽略的点威联通的默认共享文件夹权限。初始化后会生成一堆默认文件夹建议把不需要的删掉或者收紧权限只保留自己规划的媒体文件夹。我见过有人图省事全开着结果局域网里任何设备都能乱翻虽然家庭环境风险不大但养成好习惯没坏处。2.3 开启SSH与Container Station的正确姿势要用Docker部署Emby得先在控制台里开启SSH并且把Container Station装好。SSH默认端口是22建议改成一个不常用的端口减少被扫描的概率。Container Station装好之后第一次打开会让你选存储位置这里务必选到SSD那个卷上别默认放在系统盘不然容器日志和镜像会把系统盘撑爆。提示威联通的Container Station有时候会自动更新更新后偶尔出现容器起不来的情况。我的做法是关掉自动更新手动在稳定版本上待着等确认新版本没问题再升。另外Docker镜像的拉取在国内网络环境下可能比较慢可以配置镜像加速器。这个在Container Station的设置里有入口填上可用的加速地址就行。配置好之后拉取Emby镜像会快很多不至于卡在下载环节干等。3. 用Docker部署Emby Server的完整流程3.1 镜像选择与目录映射的讲究Emby官方在Docker Hub上维护了镜像直接搜emby/embyserver就能找到。标签选择上建议用latest之外的稳定版本标签比如4.8.0.0这种避免自动更新带来意外。我吃过一次亏某次latest更新后插件全挂媒体库重新刮削了一晚上从那以后就锁版本了。目录映射是部署里最关键的一步映射错了要么媒体库读不到要么配置丢失。核心要映射三个目录/config放Emby的配置和数据库/mnt或者自定义路径放媒体文件/cache放转码缓存。我的映射方案是这样的-v /share/Container/emby/config:/config -v /share/Media:/mnt/media -v /share/Container/emby/cache:/cache这里有个细节媒体目录的映射路径要和NAS上的实际路径一致否则Emby刮削出来的路径和实际对不上Kodi那边连过来会找不到文件。我建议媒体文件夹在NAS上就用清晰的英文命名比如Movies、TVShows、Music别用中文或者带空格的省得后面各种编码问题。3.2 端口、权限与环境变量的配置端口映射上Emby默认用8096HTTP和8920HTTPS还有几个辅助端口用于局域网发现。映射的时候把8096映射出来就行外网访问后面单独讲。权限方面威联通的Docker容器默认以root运行但媒体文件夹的权限要确保容器能读到。我一般把媒体文件夹的权限设成755属主设成admin然后在容器里指定PUID和PGID环境变量让Emby以正确的用户身份运行。环境变量里比较重要的有PUID、PGID、TZ时区。时区一定要设成Asia/Shanghai不然媒体库里的时间全是乱的刮削出来的日期也对不上。这几个变量在Container Station的创建界面里都能填或者用命令行docker run的时候加-e参数。3.3 首次启动后的初始化设置容器跑起来之后浏览器访问http://NAS的IP:8096就能进Emby的初始化向导。语言选中文然后一步步添加媒体库。添加媒体库的时候内容类型要选对——电影选「电影」剧集选「电视节目」别选错不然刮削器用的元数据源都不一样。元数据语言建议同时勾选中文和英文这样海报和简介能优先匹配中文匹配不到再回退英文。初始化完成后进设置里把硬件转码打开。路径在「转码」设置里选「高级」然后勾选Intel QSV。这里要注意Docker容器要能访问到核显设备需要在创建容器的时候加上--device /dev/dri:/dev/dri参数。威联通的Container Station图形界面里可能没有直接加设备的选项这种情况就得用SSH命令行创建容器或者用docker-compose。我后来改用docker-compose管理配置文件写清楚重建容器的时候一键搞定比图形界面点来点去靠谱。4. 媒体库刮削与整理的实战经验4.1 文件命名规范决定刮削成功率刮削这件事七分靠命名三分靠工具。Emby的刮削器再强遇到命名乱七八糟的文件也抓瞎。我的命名规范是这样的电影用电影名 (年份)/电影名 (年份).mkv剧集用剧名/Season 01/剧名 S01E01.mkv。年份一定要带因为同名电影太多了没年份刮削器经常匹配错。剧集的季和集编号要规范S01E01这种格式是通用标准别用第1集或者01这种识别率差很多。多版本电影比如导演剪辑版、加长版可以在文件名里加后缀比如电影名 (年份) - 导演剪辑版.mkvEmby会识别成同一部电影的不同版本。字幕文件跟视频文件同名放一起Emby会自动关联。我习惯把字幕统一转成UTF-8编码避免播放时出现乱码尤其是老片子带的字幕编码五花八门。4.2 刮削器的选择与网络问题的处理Emby默认用TheMovieDBTMDB作为电影和剧集的元数据源这个源的中文数据比较全海报质量也高。但刮削的时候需要访问外网网络不通就会卡住或者刮不出来。我的处理办法是配置好NAS的DNS用可靠的公共DNS然后在Emby的刮削设置里把超时时间调长一点。如果某个片子死活刮不出来可以手动在TMDB上找到对应的条目ID然后在Emby里手动匹配填ID比反复搜索快得多。音乐库的刮削是另一个坑。Emby对音乐的支持不如专门的音乐服务器刮削经常出错。我的做法是音乐库只做基础管理不追求完美刮削反正Kodi那边有更好的音乐插件。如果你对音乐库要求高可以考虑单独用别的方案别在这上面耗太多时间。4.3 手动修正与元数据锁定自动刮削不可能百分百准确尤其是冷门片子和国产剧。遇到刮错的手动修正之后一定要锁定元数据不然下次刷新又给你改回去。Emby里每部影片的编辑界面都有「锁定」选项把标题、海报、简介这些锁上就稳定了。我一般是在媒体库全部刮完之后花一个晚上集中过一遍把明显错的改掉锁上之后就很少再动了。还有一个技巧把海报和背景图单独存一份。Emby刮削的图片存在config目录里如果哪天容器重建或者配置丢失图片就没了。我习惯把整理好的海报图放在媒体文件夹里命名成poster.jpg和fanart.jpgEmby会优先用本地图片。这样即使数据库重建图片也还在重新刮削的时候直接读本地图快很多。5. Kodi端的配置与Emby联动5.1 Kodi的安装与基础设置Kodi的安装没什么难度电视盒子、安卓电视、树莓派、甚至电脑上都能装。版本选择上建议用当前稳定版别追最新的测试版插件兼容性容易出问题。装好之后第一件事是进设置把语言改成中文然后调整界面分辨率和刷新率匹配。刷新率匹配这个功能很重要看24帧的电影时电视会自动切到24Hz画面更流畅没有抖动感。音频设置是客厅场景的重点。如果你的电视或者功放支持直通在Kodi的音频设置里把直通Passthrough打开并且勾选支持的格式AC3、DTS、TrueHD、DTS-HD等。这样音频信号会原封不动传给功放解码音质最好。如果设备不支持直通就让Kodi解码成PCM输出虽然损失一点音质但兼容性最好。我自己的功放支持大部分格式所以直通全开只有遇到个别不支持的格式才回退。5.2 Emby for Kodi插件的安装与连接Kodi连Emby有两种方式一种是装Emby for Kodi插件把Emby的媒体库同步到Kodi本地另一种是用EmbyCon插件直接流式读取Emby的库不同步到本地。我的建议是用EmbyCon尤其是媒体库大的时候。Emby for Kodi同步会占用大量本地存储而且同步过程慢库一更新就要重新同步。EmbyCon是实时读取库变了立刻反映省心得多。EmbyCon的安装需要先装好插件仓库然后在仓库里找到EmbyCon安装。装好后进插件设置填上Emby服务器的地址和端口登录账号就能看到媒体库了。这里有个关键设置播放模式。EmbyCon默认是直接播放Direct Play如果遇到Kodi不支持的格式会走Emby转码。我建议把「允许转码」打开但优先直连这样大部分片子直接播少数不兼容的自动转码体验最顺。5.3 中文插件仓库与字幕插件的配置Kodi的中文生态这几年好了不少中文插件仓库里有很多实用的东西比如字幕插件、直播源插件、网盘插件等。字幕插件我推荐装一个能自动搜索并下载字幕的看外语片的时候省事。配置的时候把字幕语言设成中文优先搜索源多选几个命中率更高。注意插件这东西更新频繁装的时候挑维护活跃的别装那种几年没更新的容易跟新版Kodi不兼容。装完一个插件先测试一下没问题再装下一个出问题好定位。另外Kodi的缓存设置也值得调一下。默认缓存比较小看高码率原盘的时候容易卡顿。在高级设置里把缓存调大具体数值根据设备内存来一般设成内存的三分之一左右比较稳妥。这个改动对播放流畅度的提升很明显尤其是网络读取NAS文件的时候。6. 外网访问与远程观看的实现6.1 端口映射与动态域名解析要在外面看家里的媒体核心是把Emby的服务暴露到外网。最直接的办法是在路由器上做端口映射把外网的某个端口映射到NAS的8096端口。但家庭宽带的公网IP通常是动态的会变所以需要动态域名解析DDNS。威联通自带的DDNS服务可以用也可以用自己的域名配合DDNS工具。我用的方案是路由器上跑DDNS客户端域名解析到当前公网IP然后端口映射到Emby。这里要提醒一句别用默认端口。8096这个端口太常见容易被扫描。映射的时候外网端口换成一个不常用的高位端口能减少很多无谓的骚扰。另外HTTPS一定要配Emby支持HTTPS配个证书外网访问的时候数据是加密的安全得多。证书可以用Lets Encrypt免费申请威联通上有现成的套件可以自动续期。6.2 转码策略与带宽的平衡外网观看最大的瓶颈是上行带宽。家庭宽带的上行通常比下行小很多看高码率原盘基本没戏必须转码。Emby的转码设置里可以限制码率我一般设成上行带宽的70%左右留点余量给其他设备。比如上行是30Mbps转码码率设成20Mbps这样看1080p的片子比较流畅4K就够呛了。转码对CPU的压力很大所以前面说的硬件转码在这里就派上用场了。开启QSV之后转码由核显负责CPU占用能降下来一大截同时转几路也不至于卡死。如果硬件转码搞不定那就只能降低码率或者限制同时观看的人数。我的经验是外网观看优先保证流畅画质可以妥协毕竟在外面用手机或者平板看小屏幕上画质差异没那么明显。6.3 移动端与电视端的观看体验差异移动端用Emby官方App就行iOS和安卓都有。App的界面适配得不错支持离线下载出门前把想看的下载到本地路上没网也能看。离线下载这个功能特别实用我出差前都会提前下几部片子飞机上或者信号差的地方照样看。电视端如果不在家里比如在父母家可以用电视盒子装Emby客户端或者用Kodi配EmbyCon体验和家里差不多。不同客户端的转码能力不一样Emby会根据客户端上报的能力决定转码策略。有时候同一个片子手机能直接播电视却要转码就是因为电视客户端上报的解码能力有限。遇到这种情况可以在Emby的客户端设置里手动调整或者换个客户端试试。我一般不在客户端上纠结能播就行实在不行就转码反正硬件转码扛得住。7. 性能调优与常见问题排查7.1 转码卡顿的排查思路转码卡顿是最常见的问题排查要一步步来。先看CPU和核显占用如果CPU跑满而核显没动静说明硬件转码没生效。检查Docker容器有没有加--device /dev/dri参数Emby设置里有没有勾选QSV驱动有没有装对。威联通的核显驱动一般系统自带但Docker容器里要能访问到才行。再看源文件码率如果源文件码率特别高转码压力大可以适当降低输出码率。最后看网络局域网内转码卡顿可能是网络问题检查网线、交换机、路由器有没有瓶颈。我遇到过一次转码卡顿排查了半天发现是字幕烧录导致的。有些字幕格式比如PGS图形字幕转码时需要烧录到画面里这个操作特别吃CPU。解决办法是尽量用文本字幕SRT、ASS或者让客户端自己渲染字幕别让服务器烧录。在Emby的字幕设置里可以调整烧录策略改成「仅在不支持时烧录」能省不少性能。7.2 媒体库刷新慢与数据库膨胀的处理媒体库大了之后刷新和刮削会越来越慢数据库文件也会膨胀。定期清理数据库是个好习惯Emby设置里有「扫描媒体库」和「清理数据库」的选项隔段时间跑一次。另外别频繁全库刷新新增内容用「扫描媒体库文件」就行全库刷新会重新刮削所有元数据又慢又没必要。如果数据库实在太大可以考虑分库。比如电影一个库、剧集一个库、纪录片一个库分开管理。这样刷新的时候可以只刷有变化的库不用全动。我的媒体库分了五个电影、剧集、动画、纪录片、音乐各管各的维护起来清晰很多。分库的另一个好处是权限控制方便比如给小孩看的库单独设权限限制访问内容。7.3 Kodi端播放异常的常见原因Kodi端播放异常原因通常集中在几个地方。一是路径问题EmbyCon读取的路径和Kodi实际能访问的路径不一致导致找不到文件。检查Emby里的媒体路径和Kodi的网络访问权限确保Kodi能读到NAS的共享。二是解码问题某些格式Kodi解不了或者硬件解码器不兼容可以在Kodi的播放设置里切换解码方式软解硬解都试试。三是缓存问题缓存太小导致高码率卡顿调大缓存一般能解决。还有一个隐蔽的问题Kodi的音频设置和电视/功放不匹配。比如Kodi设了直通但电视不支持某个格式声音就出不来。这种情况要么关掉直通要么在Kodi里把不支持的格式取消勾选。我建议音频设置改完之后拿几种不同格式的片子各测一遍确认都能正常出声再固定下来。8. 日常维护与长期稳定运行的心得8.1 备份策略配置比媒体文件更重要很多人觉得媒体文件最重要其实Emby的配置和数据库才是最该备份的。媒体文件丢了可以重新下载但辛辛苦苦刮削整理的元数据、手动修正的信息、用户设置丢了就得重来。我的做法是定期备份Emby的config目录用威联通的备份工具同步到另一块盘或者云端。备份频率一周一次遇到大改动比如批量整理媒体库之后手动再备一次。Kodi的配置也值得备份尤其是插件设置和高级设置文件。Kodi有专门的备份插件可以把配置打包导出换设备或者重装的时候一键恢复。我换过两次电视盒子都是靠备份文件几分钟就恢复好了省了大量重新配置的时间。8.2 系统更新的节奏把握NAS系统、Docker镜像、Emby、Kodi这一串东西都会更新但别追新。我的原则是稳定运行的系统不轻易动除非有安全更新或者急需的新功能。威联通的系统更新尤其要谨慎大版本更新偶尔会带来兼容性问题等社区反馈稳定了再升。Emby的更新同理锁一个稳定版本用着没问题就别动。如果非要更新先备份再动手。更新前把config目录备一份万一新版本有问题回滚也方便。Docker容器的好处就是回滚容易镜像标签换回旧版本重建容器就行。我一般会在更新后观察几天确认转码、刮削、外网访问都正常才算更新成功。8.3 功耗、噪音与长期运行的平衡NAS是7×24小时开机的功耗和噪音得考虑。硬盘是功耗和噪音的大头尤其是机械盘读写的时候咔咔响。如果对噪音敏感可以把NAS放在远离卧室的地方或者用静音机箱。功耗方面四盘位NAS满载大概四五十瓦一年电费不算多但加上路由器、交换机、电视盒子这些整体还是要算一下。我的做法是让NAS在没人用的时候自动休眠硬盘虽然频繁启停对硬盘寿命有点影响但省电和静音的效果明显。这个取舍看个人我倾向于省电。长期运行还有一个容易被忽略的点散热。NAS放在柜子里或者角落里通风不好容易过热硬盘温度高了寿命会缩短。定期清理灰尘确保风扇正常运转硬盘温度控制在40度以下比较理想。我装了个监控插件硬盘温度超过阈值就告警提前处理避免出问题。这套「威联通NAS Emby Server Kodi」的组合说到底就是把存储、管理、播放三件事拆开各用最擅长的工具去做。搭的过程确实要花点时间但搭好之后全家人的观影体验会上一个台阶。我自己的体会是前期在命名规范和刮削上多花一小时后期能省十小时的维护。另外别追求一步到位先跑起来再慢慢调优遇到问题一个个解决这套系统会越用越顺。
返回列表