大家好,我是曉飛影。
最近玩NAS的人都挺喜歡折騰多媒體伺服器的,最典型的三個伺服器就是jellyfin、emby、plex了,這也是NAS的一大樂趣。以前自己存儲了電影,都只是用電視盒子的解碼器來播放,很強大,也不需要NAS有什麼解碼轉碼功能。iPhone的nPlayer在外網看片也還好,但是缺少電影牆,也受限於電信小水管上傳的壓力,由於是直接傳輸數據到手機端播放,超過30Mbps碼率的片源,基本就是卡頓受不了。
那麼為什麼要談NAS的CPU硬體轉碼能力,以前720P的視頻居多,現在1080P、4K的片源越來越大,那麼把NAS上的高碼率片源,儘量壓縮到30Mbps以下,就可以享受到外網流暢看4K的效果了。注意這是轉碼,許多人說J3455的性能足夠看4K了,那是在區域網,並沒有嘗試外網播放高碼率片源,實際查一下性能圖就理解了,想要要支持HEVC也就是H265格式的4K片源,最起碼也要HD610級別以上的核顯。
好了,扯遠了,最近入手了的TS-532X是Arm架構處理器的NAS,那麼我也想嘗試一下在這臺機器上能不能體驗jellyfin、emby、plex多媒體伺服器,以及能不能外網轉碼播放。
CPU架構
關於X86的CPU討論已經非常豐富了,既然手上有威聯通TS-532X這臺NAS,那麼引起我的興趣點就是關於ARM CPU的轉碼能力,根據網上能查找到的資料,這段話說的比較有意思。
較新的Realtek CPU用於像DS418和DS218play這樣的NAS是64位的(大多數ARM是32位架構的),不僅可以播放4K Media,還可以對其進行轉碼
注意它說的不是解碼,而是transcode,轉碼,因為早期我家的群暉DS216play(STM Monaco STiH412 雙核1.5GHZ)都可以很輕鬆的4K解碼播放了,那麼64位的ARM CPU是不是也具備比較好的轉碼能力用於外網播放呢。
再來看一下TS-532X的CPU,AnnapurnaLabs Alpine AL-324 64-bit ARM Cortex-A57 四核心 1.7GHz 處理器,儘管是ARM的架構,不過也是一個比較強的晶片。
由於關於ARM的討論太少,我又大概找了下資料,了解到Cortex-A57是15年的旗艦級CPU,現在回想起來,驍龍808、810也是用的這個核心。不過看了這麼多也只是了解到64位 ARM CPU的轉碼能力還不錯,但是並沒有提到NAS的實戰,那麼手上有機器乾脆就自己實操吧。
Emby安裝(踩雷經過)
因為之前上了emby的98元的永久會員,一直用的不錯,emby也是我主要使用的多媒體平臺,只是沒想到Arm64版本的emby安裝這麼多坑。
首先到QANP的AppCenter裡安裝好Container Station,這個其實就是docker,ARM架構的CPU也支持,群暉的話,官方對於docker只從X86 CPU開始支持,ARM架構的就麻煩一些。
搜索emby,找到arm64v8安裝,結果無法啟動,我換了幾個版本都不行。
然後我轉到emby的官網進行安裝,這裡幾乎有各大平臺的所有安裝包,所以也比較方便,這裡肯定就下載QNAP Arm64(arrch64)版本了。
然後打開AppCenter,右上角帶加號的按鍵可以自己安裝程序。
選擇剛剛下好的emby的qpkg格式的安裝包。
無視數字籤名警告,直接安裝。
安裝成功後會在桌面出現Emby Server,然後興奮的點開,結果失敗,又換了官方軟體的幾個版本,打開後網頁都是無法瀏覽。
我到emby的論壇看到國外許多人也在諮詢ARM版本的emby無法運行,其中有一個人回復,只有4.2.0.1版本還正常,後面的都有問題,但是官網已經沒有這個版本的下載了,我好不容易找到下載連結怎麼也下不下來。
不死心的我決定做最後的嘗試,還是打開ContainerStation,搜索emby,找到了linuxserver的版本,因為我之前在UNRAID裝emby也是這個版本。給大家一個建議,可以直接點標題進去看docker網站上作者的描述,心裡會更有底。
linuxserver在網頁上明確寫了支持arm64和32的版本,並給出了Tag標籤。
點擊創建,在版本號裡可以確認一下,這個確實是arm64v8的版本,那麼再安裝試試。
點擊創建,這個頁面可以不用修改。
然後在網絡這可以看到埠轉發已經有了兩條記錄,如果沒有的話自己手動新增,主機這部分是自己想要設定的訪問埠號,可以和默認的Container設為一致,要是埠佔用了就改成自己喜歡的。
然後在FileStation 5裡新建一個config文件夾,我習慣在Container/emby/config建立。
威聯通的好處是不用自己手動修改everyone讀寫權限,默認文件及及子文件夾都勾上了。
還可以新建一個Download下載文件夾,或者媒體庫,反正emby的視頻來源無非就是下載的電影。
回到Container,在共享文件夾這裡,新增兩行,分別映射config和media兩個文件夾的路徑為剛剛新建的兩個文件夾,點擊創建。
終於看到連結圖標和運行圖標了,之前是運行按鈕怎麼點都沒用,這個時候可以手動輸入ip:8096,或者直接點擊這個超連結的圖標。
終於成功的登錄了,看來安裝emby的Arm64版本還是一波三折,建議選用linuxserver的鏡像。
Jellyfin安裝
在qnap論壇直接搜到了Jellyfin的最新版本的qpkg程序,所以用以下連結安裝即可,而且如果你知道最新版本號的話,其實把下載連結更改了版本號也會成功下載。
https://cdn.qnapclub.eu/qpkg_artifacts/Jellyfin_10.4.3.0_arm_64/Jellyfin_10.5.3.0_arm_64.qpkg
能不走彎路就不走,儘管docker裡也肯定有辦法安裝,不過這個方法一試成功我就不想換了,依然是在App Center裡選擇剛剛下載的文件。
桌面出現圖標後,點擊進去,直接成功打開網頁。
Plex安裝
Plex安裝就更簡單了,直接在QNAP的APPCenter裡搜索就可以看到,有現成的安裝最方便。
流媒體解碼轉碼
因為Jellyfin是免費的,可能用戶群體是最多的,所以直接用Jellyfin來做示範,即使是Arm64的CPU,區域網內直接串流1080或者4K、HEVC都是無壓力的,拖動進度條也不會卡頓。
此時的CPU佔用率,待機時差不多1%,上升到了37%。
然後區域網內進行轉碼,改為800Kbps,實際就模擬了外網轉碼,當然也是行得通的,會經過短暫的延時後,繼續可以播放,拖動進度條如果在緩衝的範圍內,不會卡,超出了範圍,會有幾秒的延時。
這個時候CPU繼續上升到77%,其實可以看的出來,一直是CPU在軟解碼,關於Jellyfin的硬解,我每一項都試了,可以說是沒有效果,有的甚至會導致不能播放,因為關於Arm架構轉碼的資料太少,我也只能自己摸索測試,基本是確定沒有啥辦法硬解了。
找一個4K H265的片源,那就太吃力了,80Mbps是非常卡頓的。
可以看看CPU直接開始喊救命了,太勉為其難了...
另外我發現一個有趣的現象,Jellyfin在外網播放,轉碼選擇1080 60Mbps居然不卡,但是我家電信最大上傳才30Mbps,我也不知道這是什麼情況。說不卡是我等到緩存有一定時間線後開始播放,會一直正常播放不卡頓的意思,至於快進則不能實現秒拖放,大概4秒多的延遲。
至於emby硬解我試了也差不多,plex沒有會員沒辦法測試,外網轉碼播放效果也差不多。
總結
其實看到這裡大家也發現了,無論是Jellyfin\emby\plex嘗試外網轉碼播放,沒有X86架構NAS的性能好,我自己也是另外組建了一臺影音伺服器的NAS,但是時間和金錢確實也是額外的開銷。
儘管我自己喜歡選擇DIY很多NAS,也依然會有許多人有不同的選擇,比如只希望選擇一臺功耗低,萬兆網絡進行數據交互方便,性價比高的NAS,那麼威聯通TS-532X肯定是最好的選擇,如果能嘗試多一點娛樂影音的話更好,那我這篇分享的意義,其實就是幫忙嘗試了這種可能性,探索這個過程還是比較有意思的,並且每個多媒體伺服器也確實在Arm64架構的伺服器安裝成功了,區域網體驗各種格式的電影牆毫無問題。而非區域網方面,實際CPU負載也確實滿足單用戶自己連接NAS進行1080P格式轉碼的流暢播放,那麼乾脆就獨樂樂享受自己的私人電影庫吧。