通NAS+Emby+Kodi:家庭媒體中心搭建與調(diào)優(yōu)實(shí)戰(zhàn))
家庭媒體中心這件事我折騰了差不多六年。從最早拿一臺(tái)舊筆記本裝Kodi直接接電視到后來(lái)硬盤越堆越多、設(shè)備越添越雜再到最后把整套東西收斂到一臺(tái)威聯(lián)通NAS上中間踩過(guò)的坑足夠?qū)懸槐拘?cè)子?,F(xiàn)在這套「威聯(lián)通NAS Emby Server Kodi」的組合已經(jīng)穩(wěn)定跑了一年多家里三臺(tái)電視、兩臺(tái)平板、兩部手機(jī)都能各取所需老人小孩也都會(huì)用。這篇就把我這些年攢下來(lái)的配置思路、踩坑記錄和調(diào)優(yōu)經(jīng)驗(yàn)完整攤開講一遍從硬件選型一直講到客戶端播放的細(xì)節(jié)盡量讓剛?cè)腴T的朋友也能照著搭起來(lái)。1. 為什么是威聯(lián)通NAS、Emby Server加Kodi這個(gè)組合1.1 三種方案各自的定位與分工很多人一開始會(huì)糾結(jié)到底是用NAS自帶的媒體服務(wù)還是裝Emby還是干脆用Kodi讀局域網(wǎng)共享我的結(jié)論是這三個(gè)東西根本不是競(jìng)爭(zhēng)關(guān)系而是各管一段。威聯(lián)通NAS負(fù)責(zé)的是存儲(chǔ)與常駐服務(wù)——硬盤插在里面數(shù)據(jù)安全有保障7×24小時(shí)開機(jī)不心疼電費(fèi)這是整個(gè)體系的地基。Emby Server負(fù)責(zé)的是媒體庫(kù)管理與轉(zhuǎn)碼分發(fā)——它把散落在各個(gè)文件夾里的影片、劇集、音樂(lè)整理成帶海報(bào)、簡(jiǎn)介、演員表的漂亮界面并且能根據(jù)客戶端的能力決定是直接串流還是實(shí)時(shí)轉(zhuǎn)碼。Kodi負(fù)責(zé)的是客廳大屏的播放體驗(yàn)——它的解碼能力、字幕渲染、音頻直通Passthrough在同類軟件里屬于第一梯隊(duì)配合遙控器操作順手特別適合接電視和功放。把這三者串起來(lái)邏輯就清晰了NAS存片Emby管庫(kù)和分發(fā)Kodi在客廳負(fù)責(zé)最終呈現(xiàn)。你在外面用手機(jī)直接連Emby客戶端就行在客廳用電視走Kodi連Emby的插件既享受Emby的媒體庫(kù)管理又享受Kodi的播放能力。這套分工是我試過(guò)好幾種組合之后定下來(lái)的比單純用Emby客戶端接電視、或者單純用Kodi掛SMB共享都要舒服。1.2 和群暉方案相比威聯(lián)通在這套體系里的取舍網(wǎng)上關(guān)于威聯(lián)通和群暉的對(duì)比文章很多我這里只講和媒體中心相關(guān)的部分。威聯(lián)通在中端機(jī)型上給的硬件規(guī)格通常更激進(jìn)——同樣的價(jià)位CPU核數(shù)、內(nèi)存上限、盤位數(shù)量往往更寬裕這對(duì)需要跑Emby轉(zhuǎn)碼的場(chǎng)景是實(shí)打?qū)嵉膬?yōu)勢(shì)。Emby的實(shí)時(shí)轉(zhuǎn)碼非常吃CPU尤其是遇到需要燒字幕或者降碼率的片子核多就是硬道理。另外威聯(lián)通的Container Station容器工作站對(duì)Docker的支持比較成熟Emby Server用Docker部署比用套件版靈活得多版本更新也及時(shí)。群暉的優(yōu)勢(shì)在于系統(tǒng)易用性和套件生態(tài)QuickConnect那種外網(wǎng)訪問(wèn)的便利性確實(shí)省心。但如果你愿意花點(diǎn)時(shí)間做端口映射和域名解析威聯(lián)通這邊完全能實(shí)現(xiàn)同樣的效果而且硬件性價(jià)比更高。我的建議是如果你已經(jīng)有威聯(lián)通設(shè)備就安心用它搭如果還在選預(yù)算有限又想要轉(zhuǎn)碼性能威聯(lián)通的中端四盤位機(jī)型是更劃算的選擇。這不是說(shuō)群暉不好而是這套「NASEmbyKodi」的組合對(duì)硬件算力的敏感度更高威聯(lián)通在這個(gè)維度上更占優(yōu)。1.3 什么樣的家庭適合這套方案不是所有人都需要這么折騰。如果你只是偶爾在手機(jī)上看兩部電影直接用NAS自帶的Video Station或者裝個(gè)Emby套件就夠了沒(méi)必要上Kodi。這套方案真正適合的是這幾類情況片源數(shù)量大、類型雜手動(dòng)整理根本管不過(guò)來(lái)客廳有大屏電視和音響對(duì)畫質(zhì)音質(zhì)有要求需要音頻直通和字幕特效家庭成員多、設(shè)備多老人要看電視劇、小孩要看動(dòng)畫、你自己要看原盤需求各不相同有外網(wǎng)訪問(wèn)需求出差或者回老家也想接著看。如果你中了其中兩條以上那這套組合值得投入時(shí)間搭起來(lái)。2. 威聯(lián)通NAS的選型與前期準(zhǔn)備2.1 機(jī)型與硬盤的搭配思路選機(jī)型先看兩個(gè)硬指標(biāo)CPU是否支持硬件轉(zhuǎn)碼和內(nèi)存能不能擴(kuò)。Emby的硬件轉(zhuǎn)碼依賴Intel核顯的Quick Sync VideoQSV所以優(yōu)先選帶Intel處理器的機(jī)型比如TS-464、TS-453D這類。AMD平臺(tái)的機(jī)型雖然CPU性能強(qiáng)但QSV用不了轉(zhuǎn)碼只能靠軟解遇到高碼率片子會(huì)吃力。內(nèi)存方面4GB是底線8GB起步比較穩(wěn)因?yàn)镋mby Server、Container Station、再加上系統(tǒng)本身內(nèi)存占用不小。如果預(yù)算允許直接上16GB后面跑虛擬機(jī)或者別的服務(wù)也不用再折騰。硬盤這塊我的經(jīng)驗(yàn)是別把雞蛋放一個(gè)籃子里。至少兩塊盤做RAID 1存重要數(shù)據(jù)媒體庫(kù)這種可以重新下載的內(nèi)容用單獨(dú)的大容量盤或者RAID 0都行。我自己的配置是兩塊4TB做RAID 1放照片文檔兩塊16TB做RAID 1放媒體庫(kù)再加一塊SSD做系統(tǒng)盤和Docker容器盤。SSD做容器盤的好處是Emby的數(shù)據(jù)庫(kù)讀寫快刮削和瀏覽媒體庫(kù)的時(shí)候響應(yīng)明顯更跟手。2.2 系統(tǒng)初始化時(shí)容易忽略的設(shè)置新機(jī)開箱初始化的時(shí)候有幾個(gè)設(shè)置建議一次到位省得后面返工。存儲(chǔ)池和卷的規(guī)劃要在最開始想清楚因?yàn)楹笃谡{(diào)整很麻煩。我習(xí)慣把系統(tǒng)盤單獨(dú)分出來(lái)媒體庫(kù)單獨(dú)一個(gè)卷這樣即使系統(tǒng)出問(wèn)題重裝媒體數(shù)據(jù)也不受影響。網(wǎng)絡(luò)方面如果路由器支持鏈路聚合可以把兩個(gè)網(wǎng)口綁在一起雖然家庭環(huán)境很少跑滿但多設(shè)備同時(shí)訪問(wèn)的時(shí)候更穩(wěn)。靜態(tài)IP一定要設(shè)不然后面Docker容器映射端口、Kodi填服務(wù)器地址的時(shí)候IP一變?nèi)珌y套。還有一個(gè)特別容易被忽略的點(diǎn)威聯(lián)通的默認(rèn)共享文件夾權(quán)限。初始化后會(huì)生成一堆默認(rèn)文件夾建議把不需要的刪掉或者收緊權(quán)限只保留自己規(guī)劃的媒體文件夾。我見過(guò)有人圖省事全開著結(jié)果局域網(wǎng)里任何設(shè)備都能亂翻雖然家庭環(huán)境風(fēng)險(xiǎn)不大但養(yǎng)成好習(xí)慣沒(méi)壞處。2.3 開啟SSH與Container Station的正確姿勢(shì)要用Docker部署Emby得先在控制臺(tái)里開啟SSH并且把Container Station裝好。SSH默認(rèn)端口是22建議改成一個(gè)不常用的端口減少被掃描的概率。Container Station裝好之后第一次打開會(huì)讓你選存儲(chǔ)位置這里務(wù)必選到SSD那個(gè)卷上別默認(rèn)放在系統(tǒng)盤不然容器日志和鏡像會(huì)把系統(tǒng)盤撐爆。提示威聯(lián)通的Container Station有時(shí)候會(huì)自動(dòng)更新更新后偶爾出現(xiàn)容器起不來(lái)的情況。我的做法是關(guān)掉自動(dòng)更新手動(dòng)在穩(wěn)定版本上待著等確認(rèn)新版本沒(méi)問(wèn)題再升。另外Docker鏡像的拉取在國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下可能比較慢可以配置鏡像加速器。這個(gè)在Container Station的設(shè)置里有入口填上可用的加速地址就行。配置好之后拉取Emby鏡像會(huì)快很多不至于卡在下載環(huán)節(jié)干等。3. 用Docker部署Emby Server的完整流程3.1 鏡像選擇與目錄映射的講究Emby官方在Docker Hub上維護(hù)了鏡像直接搜emby/embyserver就能找到。標(biāo)簽選擇上建議用latest之外的穩(wěn)定版本標(biāo)簽比如4.8.0.0這種避免自動(dòng)更新帶來(lái)意外。我吃過(guò)一次虧某次latest更新后插件全掛媒體庫(kù)重新刮削了一晚上從那以后就鎖版本了。目錄映射是部署里最關(guān)鍵的一步映射錯(cuò)了要么媒體庫(kù)讀不到要么配置丟失。核心要映射三個(gè)目錄/config放Emby的配置和數(shù)據(jù)庫(kù)/mnt或者自定義路徑放媒體文件/cache放轉(zhuǎn)碼緩存。我的映射方案是這樣的-v /share/Container/emby/config:/config -v /share/Media:/mnt/media -v /share/Container/emby/cache:/cache這里有個(gè)細(xì)節(jié)媒體目錄的映射路徑要和NAS上的實(shí)際路徑一致否則Emby刮削出來(lái)的路徑和實(shí)際對(duì)不上Kodi那邊連過(guò)來(lái)會(huì)找不到文件。我建議媒體文件夾在NAS上就用清晰的英文命名比如Movies、TVShows、Music別用中文或者帶空格的省得后面各種編碼問(wèn)題。3.2 端口、權(quán)限與環(huán)境變量的配置端口映射上Emby默認(rèn)用8096HTTP和8920HTTPS還有幾個(gè)輔助端口用于局域網(wǎng)發(fā)現(xiàn)。映射的時(shí)候把8096映射出來(lái)就行外網(wǎng)訪問(wèn)后面單獨(dú)講。權(quán)限方面威聯(lián)通的Docker容器默認(rèn)以root運(yùn)行但媒體文件夾的權(quán)限要確保容器能讀到。我一般把媒體文件夾的權(quán)限設(shè)成755屬主設(shè)成admin然后在容器里指定PUID和PGID環(huán)境變量讓Emby以正確的用戶身份運(yùn)行。環(huán)境變量里比較重要的有PUID、PGID、TZ時(shí)區(qū)。時(shí)區(qū)一定要設(shè)成Asia/Shanghai不然媒體庫(kù)里的時(shí)間全是亂的刮削出來(lái)的日期也對(duì)不上。這幾個(gè)變量在Container Station的創(chuàng)建界面里都能填或者用命令行docker run的時(shí)候加-e參數(shù)。3.3 首次啟動(dòng)后的初始化設(shè)置容器跑起來(lái)之后瀏覽器訪問(wèn)http://NAS的IP:8096就能進(jìn)Emby的初始化向?qū)?。語(yǔ)言選中文然后一步步添加媒體庫(kù)。添加媒體庫(kù)的時(shí)候內(nèi)容類型要選對(duì)——電影選「電影」劇集選「電視節(jié)目」別選錯(cuò)不然刮削器用的元數(shù)據(jù)源都不一樣。元數(shù)據(jù)語(yǔ)言建議同時(shí)勾選中文和英文這樣海報(bào)和簡(jiǎn)介能優(yōu)先匹配中文匹配不到再回退英文。初始化完成后進(jìn)設(shè)置里把硬件轉(zhuǎn)碼打開。路徑在「轉(zhuǎn)碼」設(shè)置里選「高級(jí)」然后勾選Intel QSV。這里要注意Docker容器要能訪問(wèn)到核顯設(shè)備需要在創(chuàng)建容器的時(shí)候加上--device /dev/dri:/dev/dri參數(shù)。威聯(lián)通的Container Station圖形界面里可能沒(méi)有直接加設(shè)備的選項(xiàng)這種情況就得用SSH命令行創(chuàng)建容器或者用docker-compose。我后來(lái)改用docker-compose管理配置文件寫清楚重建容器的時(shí)候一鍵搞定比圖形界面點(diǎn)來(lái)點(diǎn)去靠譜。4. 媒體庫(kù)刮削與整理的實(shí)戰(zhàn)經(jīng)驗(yàn)4.1 文件命名規(guī)范決定刮削成功率刮削這件事七分靠命名三分靠工具。Emby的刮削器再?gòu)?qiáng)遇到命名亂七八糟的文件也抓瞎。我的命名規(guī)范是這樣的電影用電影名 (年份)/電影名 (年份).mkv劇集用劇名/Season 01/劇名 S01E01.mkv。年份一定要帶因?yàn)橥娪疤嗔藳](méi)年份刮削器經(jīng)常匹配錯(cuò)。劇集的季和集編號(hào)要規(guī)范S01E01這種格式是通用標(biāo)準(zhǔn)別用第1集或者01這種識(shí)別率差很多。多版本電影比如導(dǎo)演剪輯版、加長(zhǎng)版可以在文件名里加后綴比如電影名 (年份) - 導(dǎo)演剪輯版.mkvEmby會(huì)識(shí)別成同一部電影的不同版本。字幕文件跟視頻文件同名放一起Emby會(huì)自動(dòng)關(guān)聯(lián)。我習(xí)慣把字幕統(tǒng)一轉(zhuǎn)成UTF-8編碼避免播放時(shí)出現(xiàn)亂碼尤其是老片子帶的字幕編碼五花八門。4.2 刮削器的選擇與網(wǎng)絡(luò)問(wèn)題的處理Emby默認(rèn)用TheMovieDBTMDB作為電影和劇集的元數(shù)據(jù)源這個(gè)源的中文數(shù)據(jù)比較全海報(bào)質(zhì)量也高。但刮削的時(shí)候需要訪問(wèn)外網(wǎng)網(wǎng)絡(luò)不通就會(huì)卡住或者刮不出來(lái)。我的處理辦法是配置好NAS的DNS用可靠的公共DNS然后在Emby的刮削設(shè)置里把超時(shí)時(shí)間調(diào)長(zhǎng)一點(diǎn)。如果某個(gè)片子死活刮不出來(lái)可以手動(dòng)在TMDB上找到對(duì)應(yīng)的條目ID然后在Emby里手動(dòng)匹配填I(lǐng)D比反復(fù)搜索快得多。音樂(lè)庫(kù)的刮削是另一個(gè)坑。Emby對(duì)音樂(lè)的支持不如專門的音樂(lè)服務(wù)器刮削經(jīng)常出錯(cuò)。我的做法是音樂(lè)庫(kù)只做基礎(chǔ)管理不追求完美刮削反正Kodi那邊有更好的音樂(lè)插件。如果你對(duì)音樂(lè)庫(kù)要求高可以考慮單獨(dú)用別的方案別在這上面耗太多時(shí)間。4.3 手動(dòng)修正與元數(shù)據(jù)鎖定自動(dòng)刮削不可能百分百準(zhǔn)確尤其是冷門片子和國(guó)產(chǎn)劇。遇到刮錯(cuò)的手動(dòng)修正之后一定要鎖定元數(shù)據(jù)不然下次刷新又給你改回去。Emby里每部影片的編輯界面都有「鎖定」選項(xiàng)把標(biāo)題、海報(bào)、簡(jiǎn)介這些鎖上就穩(wěn)定了。我一般是在媒體庫(kù)全部刮完之后花一個(gè)晚上集中過(guò)一遍把明顯錯(cuò)的改掉鎖上之后就很少再動(dòng)了。還有一個(gè)技巧把海報(bào)和背景圖單獨(dú)存一份。Emby刮削的圖片存在config目錄里如果哪天容器重建或者配置丟失圖片就沒(méi)了。我習(xí)慣把整理好的海報(bào)圖放在媒體文件夾里命名成poster.jpg和fanart.jpgEmby會(huì)優(yōu)先用本地圖片。這樣即使數(shù)據(jù)庫(kù)重建圖片也還在重新刮削的時(shí)候直接讀本地圖快很多。5. Kodi端的配置與Emby聯(lián)動(dòng)5.1 Kodi的安裝與基礎(chǔ)設(shè)置Kodi的安裝沒(méi)什么難度電視盒子、安卓電視、樹莓派、甚至電腦上都能裝。版本選擇上建議用當(dāng)前穩(wěn)定版別追最新的測(cè)試版插件兼容性容易出問(wèn)題。裝好之后第一件事是進(jìn)設(shè)置把語(yǔ)言改成中文然后調(diào)整界面分辨率和刷新率匹配。刷新率匹配這個(gè)功能很重要看24幀的電影時(shí)電視會(huì)自動(dòng)切到24Hz畫面更流暢沒(méi)有抖動(dòng)感。音頻設(shè)置是客廳場(chǎng)景的重點(diǎn)。如果你的電視或者功放支持直通在Kodi的音頻設(shè)置里把直通Passthrough打開并且勾選支持的格式AC3、DTS、TrueHD、DTS-HD等。這樣音頻信號(hào)會(huì)原封不動(dòng)傳給功放解碼音質(zhì)最好。如果設(shè)備不支持直通就讓Kodi解碼成PCM輸出雖然損失一點(diǎn)音質(zhì)但兼容性最好。我自己的功放支持大部分格式所以直通全開只有遇到個(gè)別不支持的格式才回退。5.2 Emby for Kodi插件的安裝與連接Kodi連Emby有兩種方式一種是裝Emby for Kodi插件把Emby的媒體庫(kù)同步到Kodi本地另一種是用EmbyCon插件直接流式讀取Emby的庫(kù)不同步到本地。我的建議是用EmbyCon尤其是媒體庫(kù)大的時(shí)候。Emby for Kodi同步會(huì)占用大量本地存儲(chǔ)而且同步過(guò)程慢庫(kù)一更新就要重新同步。EmbyCon是實(shí)時(shí)讀取庫(kù)變了立刻反映省心得多。EmbyCon的安裝需要先裝好插件倉(cāng)庫(kù)然后在倉(cāng)庫(kù)里找到EmbyCon安裝。裝好后進(jìn)插件設(shè)置填上Emby服務(wù)器的地址和端口登錄賬號(hào)就能看到媒體庫(kù)了。這里有個(gè)關(guān)鍵設(shè)置播放模式。EmbyCon默認(rèn)是直接播放Direct Play如果遇到Kodi不支持的格式會(huì)走Emby轉(zhuǎn)碼。我建議把「允許轉(zhuǎn)碼」打開但優(yōu)先直連這樣大部分片子直接播少數(shù)不兼容的自動(dòng)轉(zhuǎn)碼體驗(yàn)最順。5.3 中文插件倉(cāng)庫(kù)與字幕插件的配置Kodi的中文生態(tài)這幾年好了不少中文插件倉(cāng)庫(kù)里有很多實(shí)用的東西比如字幕插件、直播源插件、網(wǎng)盤插件等。字幕插件我推薦裝一個(gè)能自動(dòng)搜索并下載字幕的看外語(yǔ)片的時(shí)候省事。配置的時(shí)候把字幕語(yǔ)言設(shè)成中文優(yōu)先搜索源多選幾個(gè)命中率更高。注意插件這東西更新頻繁裝的時(shí)候挑維護(hù)活躍的別裝那種幾年沒(méi)更新的容易跟新版Kodi不兼容。裝完一個(gè)插件先測(cè)試一下沒(méi)問(wèn)題再裝下一個(gè)出問(wèn)題好定位。另外Kodi的緩存設(shè)置也值得調(diào)一下。默認(rèn)緩存比較小看高碼率原盤的時(shí)候容易卡頓。在高級(jí)設(shè)置里把緩存調(diào)大具體數(shù)值根據(jù)設(shè)備內(nèi)存來(lái)一般設(shè)成內(nèi)存的三分之一左右比較穩(wěn)妥。這個(gè)改動(dòng)對(duì)播放流暢度的提升很明顯尤其是網(wǎng)絡(luò)讀取NAS文件的時(shí)候。6. 外網(wǎng)訪問(wèn)與遠(yuǎn)程觀看的實(shí)現(xiàn)6.1 端口映射與動(dòng)態(tài)域名解析要在外面看家里的媒體核心是把Emby的服務(wù)暴露到外網(wǎng)。最直接的辦法是在路由器上做端口映射把外網(wǎng)的某個(gè)端口映射到NAS的8096端口。但家庭寬帶的公網(wǎng)IP通常是動(dòng)態(tài)的會(huì)變所以需要?jiǎng)討B(tài)域名解析DDNS。威聯(lián)通自帶的DDNS服務(wù)可以用也可以用自己的域名配合DDNS工具。我用的方案是路由器上跑DDNS客戶端域名解析到當(dāng)前公網(wǎng)IP然后端口映射到Emby。這里要提醒一句別用默認(rèn)端口。8096這個(gè)端口太常見容易被掃描。映射的時(shí)候外網(wǎng)端口換成一個(gè)不常用的高位端口能減少很多無(wú)謂的騷擾。另外HTTPS一定要配Emby支持HTTPS配個(gè)證書外網(wǎng)訪問(wèn)的時(shí)候數(shù)據(jù)是加密的安全得多。證書可以用Lets Encrypt免費(fèi)申請(qǐng)威聯(lián)通上有現(xiàn)成的套件可以自動(dòng)續(xù)期。6.2 轉(zhuǎn)碼策略與帶寬的平衡外網(wǎng)觀看最大的瓶頸是上行帶寬。家庭寬帶的上行通常比下行小很多看高碼率原盤基本沒(méi)戲必須轉(zhuǎn)碼。Emby的轉(zhuǎn)碼設(shè)置里可以限制碼率我一般設(shè)成上行帶寬的70%左右留點(diǎn)余量給其他設(shè)備。比如上行是30Mbps轉(zhuǎn)碼碼率設(shè)成20Mbps這樣看1080p的片子比較流暢4K就夠嗆了。轉(zhuǎn)碼對(duì)CPU的壓力很大所以前面說(shuō)的硬件轉(zhuǎn)碼在這里就派上用場(chǎng)了。開啟QSV之后轉(zhuǎn)碼由核顯負(fù)責(zé)CPU占用能降下來(lái)一大截同時(shí)轉(zhuǎn)幾路也不至于卡死。如果硬件轉(zhuǎn)碼搞不定那就只能降低碼率或者限制同時(shí)觀看的人數(shù)。我的經(jīng)驗(yàn)是外網(wǎng)觀看優(yōu)先保證流暢畫質(zhì)可以妥協(xié)畢竟在外面用手機(jī)或者平板看小屏幕上畫質(zhì)差異沒(méi)那么明顯。6.3 移動(dòng)端與電視端的觀看體驗(yàn)差異移動(dòng)端用Emby官方App就行iOS和安卓都有。App的界面適配得不錯(cuò)支持離線下載出門前把想看的下載到本地路上沒(méi)網(wǎng)也能看。離線下載這個(gè)功能特別實(shí)用我出差前都會(huì)提前下幾部片子飛機(jī)上或者信號(hào)差的地方照樣看。電視端如果不在家里比如在父母家可以用電視盒子裝Emby客戶端或者用Kodi配EmbyCon體驗(yàn)和家里差不多。不同客戶端的轉(zhuǎn)碼能力不一樣Emby會(huì)根據(jù)客戶端上報(bào)的能力決定轉(zhuǎn)碼策略。有時(shí)候同一個(gè)片子手機(jī)能直接播電視卻要轉(zhuǎn)碼就是因?yàn)殡娨暱蛻舳松蠄?bào)的解碼能力有限。遇到這種情況可以在Emby的客戶端設(shè)置里手動(dòng)調(diào)整或者換個(gè)客戶端試試。我一般不在客戶端上糾結(jié)能播就行實(shí)在不行就轉(zhuǎn)碼反正硬件轉(zhuǎn)碼扛得住。7. 性能調(diào)優(yōu)與常見問(wèn)題排查7.1 轉(zhuǎn)碼卡頓的排查思路轉(zhuǎn)碼卡頓是最常見的問(wèn)題排查要一步步來(lái)。先看CPU和核顯占用如果CPU跑滿而核顯沒(méi)動(dòng)靜說(shuō)明硬件轉(zhuǎn)碼沒(méi)生效。檢查Docker容器有沒(méi)有加--device /dev/dri參數(shù)Emby設(shè)置里有沒(méi)有勾選QSV驅(qū)動(dòng)有沒(méi)有裝對(duì)。威聯(lián)通的核顯驅(qū)動(dòng)一般系統(tǒng)自帶但Docker容器里要能訪問(wèn)到才行。再看源文件碼率如果源文件碼率特別高轉(zhuǎn)碼壓力大可以適當(dāng)降低輸出碼率。最后看網(wǎng)絡(luò)局域網(wǎng)內(nèi)轉(zhuǎn)碼卡頓可能是網(wǎng)絡(luò)問(wèn)題檢查網(wǎng)線、交換機(jī)、路由器有沒(méi)有瓶頸。我遇到過(guò)一次轉(zhuǎn)碼卡頓排查了半天發(fā)現(xiàn)是字幕燒錄導(dǎo)致的。有些字幕格式比如PGS圖形字幕轉(zhuǎn)碼時(shí)需要燒錄到畫面里這個(gè)操作特別吃CPU。解決辦法是盡量用文本字幕SRT、ASS或者讓客戶端自己渲染字幕別讓服務(wù)器燒錄。在Emby的字幕設(shè)置里可以調(diào)整燒錄策略改成「僅在不支持時(shí)燒錄」能省不少性能。7.2 媒體庫(kù)刷新慢與數(shù)據(jù)庫(kù)膨脹的處理媒體庫(kù)大了之后刷新和刮削會(huì)越來(lái)越慢數(shù)據(jù)庫(kù)文件也會(huì)膨脹。定期清理數(shù)據(jù)庫(kù)是個(gè)好習(xí)慣Emby設(shè)置里有「掃描媒體庫(kù)」和「清理數(shù)據(jù)庫(kù)」的選項(xiàng)隔段時(shí)間跑一次。另外別頻繁全庫(kù)刷新新增內(nèi)容用「掃描媒體庫(kù)文件」就行全庫(kù)刷新會(huì)重新刮削所有元數(shù)據(jù)又慢又沒(méi)必要。如果數(shù)據(jù)庫(kù)實(shí)在太大可以考慮分庫(kù)。比如電影一個(gè)庫(kù)、劇集一個(gè)庫(kù)、紀(jì)錄片一個(gè)庫(kù)分開管理。這樣刷新的時(shí)候可以只刷有變化的庫(kù)不用全動(dòng)。我的媒體庫(kù)分了五個(gè)電影、劇集、動(dòng)畫、紀(jì)錄片、音樂(lè)各管各的維護(hù)起來(lái)清晰很多。分庫(kù)的另一個(gè)好處是權(quán)限控制方便比如給小孩看的庫(kù)單獨(dú)設(shè)權(quán)限限制訪問(wèn)內(nèi)容。7.3 Kodi端播放異常的常見原因Kodi端播放異常原因通常集中在幾個(gè)地方。一是路徑問(wèn)題EmbyCon讀取的路徑和Kodi實(shí)際能訪問(wèn)的路徑不一致導(dǎo)致找不到文件。檢查Emby里的媒體路徑和Kodi的網(wǎng)絡(luò)訪問(wèn)權(quán)限確保Kodi能讀到NAS的共享。二是解碼問(wèn)題某些格式Kodi解不了或者硬件解碼器不兼容可以在Kodi的播放設(shè)置里切換解碼方式軟解硬解都試試。三是緩存問(wèn)題緩存太小導(dǎo)致高碼率卡頓調(diào)大緩存一般能解決。還有一個(gè)隱蔽的問(wèn)題Kodi的音頻設(shè)置和電視/功放不匹配。比如Kodi設(shè)了直通但電視不支持某個(gè)格式聲音就出不來(lái)。這種情況要么關(guān)掉直通要么在Kodi里把不支持的格式取消勾選。我建議音頻設(shè)置改完之后拿幾種不同格式的片子各測(cè)一遍確認(rèn)都能正常出聲再固定下來(lái)。8. 日常維護(hù)與長(zhǎng)期穩(wěn)定運(yùn)行的心得8.1 備份策略配置比媒體文件更重要很多人覺得媒體文件最重要其實(shí)Emby的配置和數(shù)據(jù)庫(kù)才是最該備份的。媒體文件丟了可以重新下載但辛辛苦苦刮削整理的元數(shù)據(jù)、手動(dòng)修正的信息、用戶設(shè)置丟了就得重來(lái)。我的做法是定期備份Emby的config目錄用威聯(lián)通的備份工具同步到另一塊盤或者云端。備份頻率一周一次遇到大改動(dòng)比如批量整理媒體庫(kù)之后手動(dòng)再備一次。Kodi的配置也值得備份尤其是插件設(shè)置和高級(jí)設(shè)置文件。Kodi有專門的備份插件可以把配置打包導(dǎo)出換設(shè)備或者重裝的時(shí)候一鍵恢復(fù)。我換過(guò)兩次電視盒子都是靠備份文件幾分鐘就恢復(fù)好了省了大量重新配置的時(shí)間。8.2 系統(tǒng)更新的節(jié)奏把握NAS系統(tǒng)、Docker鏡像、Emby、Kodi這一串東西都會(huì)更新但別追新。我的原則是穩(wěn)定運(yùn)行的系統(tǒng)不輕易動(dòng)除非有安全更新或者急需的新功能。威聯(lián)通的系統(tǒng)更新尤其要謹(jǐn)慎大版本更新偶爾會(huì)帶來(lái)兼容性問(wèn)題等社區(qū)反饋穩(wěn)定了再升。Emby的更新同理鎖一個(gè)穩(wěn)定版本用著沒(méi)問(wèn)題就別動(dòng)。如果非要更新先備份再動(dòng)手。更新前把config目錄備一份萬(wàn)一新版本有問(wèn)題回滾也方便。Docker容器的好處就是回滾容易鏡像標(biāo)簽換回舊版本重建容器就行。我一般會(huì)在更新后觀察幾天確認(rèn)轉(zhuǎn)碼、刮削、外網(wǎng)訪問(wèn)都正常才算更新成功。8.3 功耗、噪音與長(zhǎng)期運(yùn)行的平衡NAS是7×24小時(shí)開機(jī)的功耗和噪音得考慮。硬盤是功耗和噪音的大頭尤其是機(jī)械盤讀寫的時(shí)候咔咔響。如果對(duì)噪音敏感可以把NAS放在遠(yuǎn)離臥室的地方或者用靜音機(jī)箱。功耗方面四盤位NAS滿載大概四五十瓦一年電費(fèi)不算多但加上路由器、交換機(jī)、電視盒子這些整體還是要算一下。我的做法是讓NAS在沒(méi)人用的時(shí)候自動(dòng)休眠硬盤雖然頻繁啟停對(duì)硬盤壽命有點(diǎn)影響但省電和靜音的效果明顯。這個(gè)取舍看個(gè)人我傾向于省電。長(zhǎng)期運(yùn)行還有一個(gè)容易被忽略的點(diǎn)散熱。NAS放在柜子里或者角落里通風(fēng)不好容易過(guò)熱硬盤溫度高了壽命會(huì)縮短。定期清理灰塵確保風(fēng)扇正常運(yùn)轉(zhuǎn)硬盤溫度控制在40度以下比較理想。我裝了個(gè)監(jiān)控插件硬盤溫度超過(guò)閾值就告警提前處理避免出問(wèn)題。這套「威聯(lián)通NAS Emby Server Kodi」的組合說(shuō)到底就是把存儲(chǔ)、管理、播放三件事拆開各用最擅長(zhǎng)的工具去做。搭的過(guò)程確實(shí)要花點(diǎn)時(shí)間但搭好之后全家人的觀影體驗(yàn)會(huì)上一個(gè)臺(tái)階。我自己的體會(huì)是前期在命名規(guī)范和刮削上多花一小時(shí)后期能省十小時(shí)的維護(hù)。另外別追求一步到位先跑起來(lái)再慢慢調(diào)優(yōu)遇到問(wèn)題一個(gè)個(gè)解決這套系統(tǒng)會(huì)越用越順。