在使用Docker安裝Jellyfin之後,就能播放影片了。
雖說Jellyfin用網頁瀏覽器就可以看,不過實際上不建議這樣做。可能會導致播放不順,畫面聲音不同步。
Jellyfin網頁在播放影片的時候,點右下角切換「品質」,選擇「Driect Play」會直接串流原始檔案。若是選擇其他畫質,Jellyfin的伺服器端會在串流影片的時候進行即時轉碼,讓串流比較順暢。對硬體較弱的電視盒客戶端來說,此作法也有助於提昇相容性。
什麼時候選Direct Play?什麼時候要轉碼?#
這要看你是在區域網路播放,抑或是從外部網路遠端播放。
「Direct Play」播放的一律是原始畫質的影片,就好像在用影片播放器直接開啟SMB分享的檔案一樣,對頻寬要求較高,適合區域網路使用。
一旦切換到其他品質,Jellyfin就會進行轉碼。
從外部網路連線到家中的Jellyfin,通常會因為網速問題需要切換到其他品質,以求降低頻寬佔用,則得讓Jellyfin進行轉碼。
如果是用網頁瀏覽器播放Jellyfin影片的話,影片串流的時候容易遇到解碼問題。譬如原始影片是H.264編碼,則大多數瀏覽器都支援解碼,也就能使用Direct Play。不過如果是AV1編碼可能就會遇到瀏覽器不支援的問題,像iOS Safari就會黑螢幕。此時Jellyfin伺服器端會嘗試即時轉碼成H.264,防止影片無法播放。
Jellyfin並不會在後台把影片轉檔再串流,一律都是在串流的時候才即時轉碼的。
是否要讓Jellyfin的進行轉碼?#
如果說Jellyfin的伺服器硬體不好,會大大影響串流體驗,可能你只是想播放一部4K影片,但卻被轉碼拖累;或者明明客戶端硬體支援更多影片解碼,卻因為瀏覽器的關係被限制住。
因此網速足夠的情況下,我會使用Direct Play,盡量不要讓Jellyfin伺服器進行額外的轉碼作業。
用瀏覽器播放Jellyfin影片,很容易遇到沒有解碼器,無法使用Direct Play的情況。
確認Jellyfin的轉碼狀態#
如何確定Jellyfin是Direct Play還是有在轉碼?嘗試播放一部影片,看品質選項有無顯示「Direct」就知道瀏覽器支援不支援該部影片編碼了。
在播放影片的時候開新分頁,點Jellyfin右上角管理員設定 → 控制台 → 使用中的裝置,點一下i,可以知道正在播放的影片是否為Direct Play,或者正在轉碼。
「直接播放」就是Direct Play。
「重新封裝中」就是在轉碼。且串流的時候轉碼,Jellyfin伺服器的CPU負載會顯著上升。
上面說到,Jellyfin的伺服器硬體不好還進行轉碼的話,會大大影響串流體驗。
這個時候,要嘛啟用GPU硬體加速轉碼:Jellyfin啟用硬體加速解碼
要嘛就不要用瀏覽器播放了,改裝內含解碼器的Jellyfin客戶端:Jellyfin原生解碼器的客戶端