最近很多朋友在和我討論nas有沒有必要上高性能cpu來硬解,但是大部分人對硬解是什么都一知半解,更不知道什么時候會用到硬解。所以,來給大家科普一下。
先說結論,我的建議是如果你自己使用,完全沒必要多花五六百甚至一兩千,上高性能板u去搞硬解,熟練使用jellyfin客戶端就夠了(下面原因)
如果你想知道為什么,那請你耐住寂寞,向下看看原因
正文開始
串流
在開始前我們先來介紹一個聽起來很厲害的定義詞:串流
串流是調用儲存在其他設備上的文件,實時傳輸,來實現在本設備的實時播放,只要是調用不屬于本地的視頻,音樂,游戲,都屬于串流。
解碼和編碼
下面回歸正題,什么是硬解?什么時候會用到硬解?
硬解是解碼的一種,所以在認識硬解之前我們還要了解,什么是解碼和編碼
我們知道視頻文件是以固定格式封裝存儲的,而計算機能識別的是二進制的字符。將字符轉換成封裝格式就是編碼,將封裝格式轉為字符播放就是解碼。
硬解和軟解
解碼又分為硬件解碼和軟件解碼,就是我們平時所說的硬解和軟解(編碼也一樣)
硬解:硬件解碼是將原來全部交由CPU來處理的視頻數據的一部分交由GPU來做,而GPU的并行運算能力要遠遠高于CPU,這樣可以大大的降低對CPU的負載
軟解:即通過軟件讓CPU來對視頻進行解碼處理。
所以我們會選用核顯比較強的cpu去做nas
看電影的過程就是解碼的過程,常見視頻格式中除了265 4k格式的視頻,其他格式的視頻這個過程需要的性能很低。
轉碼
而我們nas玩家平時所說的需要高性能去硬解,其實是指的因為一些原因需要轉碼(解碼+編碼)。
因為jellyfin等服務器的客戶端和網頁端默認都是基于web,支持播放的視頻格式有限只有h264。
下面再來介紹轉碼,
視頻轉碼:轉變原視頻的編碼方式,使得視頻的字幕、音頻、視頻等數據信息重新組合,重新封裝。通俗來說就是解碼+編碼。
什么情況下會轉碼?
1.播放器不能播放源文件,需要把源文件轉換成需要的格式才能播放。
2.播放器可以播放源文件,但是你想更改分辨率,碼流。比如源文件1080p,你為了省流量,把他調成720p,降低碼率。
注:只有在服務器端轉碼才會省流量
(其實轉碼在plex中還可以再仔細劃分成轉碼,直接串流等等,但是只要涉及轉碼就會影響觀看體驗,所以我們不做詳細區分。有興趣的可以自己看看官方文檔
https://support.plex.tv/articles/200250387-streaming-media-direct-play-and-direct-stream/)
定義部分結束
上面介紹完了定義,下面我們就來聊一聊平時用到的
我們平時播放nas視頻有這么兩種播放形式
一.移動設備下載專用播放器如mx player、VLC、pot player,使用smb等協議進行串流。
這種情況就是直接傳輸源文件(外網情況下,對網絡要求高)如果需要轉碼則移動設備轉碼;不需要轉碼則直接解碼播放。
二.nas端安裝服務器,比如jellyfin/emby/plex,我想大部分人安裝服務器端的原因還是想有自己的海報墻和方便分類管理吧。
而服務器方式播放包含了上述方式,可以說是上述方式的升級版。(因為我用jellyfin,所以用jellyfin舉例,其他也差不多的)
下面詳細介紹一下播放模式。
1.網頁播放
直接在網頁輸入jellyfin的訪問網址,訪問服務器進行播放。
這種情況下不需要轉碼的視頻會直接串流播放,需要轉碼的視頻會nas轉碼播放,甚至有些根本沒辦法播放。
受web技術限制只能直接播放H264視頻,而且特殊的音頻、字幕格式如ass都會導致轉碼,在web播放時遇到瀏覽器無法直接解碼的格式時,jellyfin就會在nas上解碼,再壓縮成支持的格式輸出,這就對nas性能要求比較高,所以經常出現一快進就卡一會,有的視頻甚至連正常播放都做不到的情況。
2. jellyfin客戶端
現在的jellyfin客戶端有三種播放模式(jellyfin-設置-客戶端設置-視頻播放器類型)
1)網頁播放器
就和上面1.網頁播放一樣,格式受限
2)綜合播放器
直接串流文件到移動設備,通過jellyfin內置的本地解碼器來解碼或者轉碼
3)外部播放器
調用其他本地播放器播放和上面 2)原理一樣
3.其他可以直接連接服務端的客戶端軟件如:jellyfin-mpv-shim、videotape
這些軟件和jellyfin客戶端差不多,都可以顯示海報墻,也可以選擇服務端解碼或者串流到本地解碼(native模式)
綜上所述,很多播放方式不到nas轉碼。
下面來一些具體情景
1.如果你只在內網使用,那完全沒必要nas硬解,直接串流到各種設備解碼就行了,哪怕你看265的4k,那也綽綽有余,什么?幾個設備一起看?玩nas的,沒有千兆內網說不過去吧。什么?老電視,性能低?一個外貿盒子只要200。
2.像我一樣,人在學校,nas在家,我自己用。我家里寬帶30上行,就我自己用,平時手機看1080p的,最高也到不了7M/s,所以家里寬帶有個10上行就綽綽有余。校園卡,不會流量不夠吧。
3.打工仔,一個人在外租房,還沒有wifi。這么窘迫?那你還有心思搞這個?多學習,多考證,多掙錢吧。
那什么情況下建議搞nas硬解呢?
1.多人外網使用,確實是需要改變碼率和分辨率來串流以減小網絡負擔。
2.恰好你財力雄厚,又看到這了,我可以不用,但我不能沒有,那當然是怎么舒服怎么來。
本文純手寫,難免有不嚴謹的地方,如果有錯誤,歡迎各位大佬批評指正。
本文結束,感謝觀看
作者聲明本文無利益相關,歡迎值友理性交流,和諧討論~