科技改變生活 · 科技引領(lǐng)未來
本內(nèi)容來源于@什么值得買APP,觀點(diǎn)僅代表作者本人|作者:達(dá)文牛大家Docker常用的jellyfin通常是官方的jellyfin/jellyfin,以及基礎(chǔ)庫(kù)支持更完善的Linuxsever/jellyfin,而今天我們將見到目前最強(qiáng)的N
本內(nèi)容來源于@什么值得買APP,觀點(diǎn)僅代表作者本人 |作者:達(dá)文牛
大家Docker常用的jellyfin通常是官方的jellyfin/jellyfin,以及基礎(chǔ)庫(kù)支持更完善的Linuxsever/jellyfin,而今天我們將見到目前最強(qiáng)的Nyanmisaka/jellyfin。
說到nyanmisaka,如果大家訪問過github的jellyfin官網(wǎng),就知道nyanmisaka是官方開發(fā)人員。傳說他跟阿塞拜疆有點(diǎn)聯(lián)系,也說他是自己人。目前國(guó)內(nèi)各大軟硬件論壇博客都能看到他的留言,國(guó)外論壇上也有不少,一會(huì)兒英文,一會(huì)兒國(guó)語,看得我云里霧里。據(jù)我偷看了一眼,貌似此大佬專攻jellyfin硬件編解碼方面,我記得還有好幾個(gè)技術(shù)方向也看到他的專業(yè)提示,不過我最近忘了炒股,損失了好大一筆,精神不佳,導(dǎo)致記憶力衰退,都忘記是哪些領(lǐng)域了。不過,不少官方權(quán)威解答,ffmpeg調(diào)試改進(jìn),都是此大佬。那么大佬2個(gè)月前也悄悄說過(說這話的論壇轉(zhuǎn)型關(guān)閉了,關(guān)閉可真快...眨眼都1個(gè)多月了),要做個(gè)國(guó)內(nèi)特供版本,免受官方開源限制,直接集成更新的驅(qū)動(dòng)和基礎(chǔ)庫(kù),國(guó)內(nèi)用戶裝上就用,不用再打補(bǔ)丁。。。。現(xiàn)在,他來了。
據(jù)nyanmisaka不公開的秘密,他的docker主要強(qiáng)化了核顯驅(qū)動(dòng)、字庫(kù)驅(qū)動(dòng)、ffmpeg優(yōu)化參數(shù)以及10.8.0alpha3最新改進(jìn)和改進(jìn)還未發(fā)布的各種東東。其實(shí)nyanmisaka是有公開宣布的,但是他是用英文宣布的,我看不懂。既然視頻優(yōu)化上nyanmisaka大佬做了這么多工作,所以我也希望熱衷硬解的小伙伴們能看到并試用這個(gè)版本的jellyfin。畢竟使用的人越多,nyanmisaka就越可能天天幫我們更新,有自己人真好。
如果你擅長(zhǎng)于重裝各種Docker版本的jellyfin,請(qǐng)直接跳到后面的章節(jié)去看。文章貼圖比較多,為了便于小伙伴快速跳轉(zhuǎn),先列出章節(jié):
全新安裝 nyanmisaka/jellyfin
大家不要被標(biāo)題全新安裝嚇到了,nyanmisaka是官方開發(fā)人員。所以據(jù)我測(cè)試,nyanmisaka/jellyfin兼容以前版本的jellyfin/jellyfin,你可以直接使用jellyfin/jellyfin的配置目錄無損升級(jí)。
那么,這個(gè)docker是不是裝上就用呢,我還是要講一講全新安裝一個(gè)nyanmisaka/jellyfin。
首先,下載docker,我們還是以群暉為背景,開工。
獲取nyanmisaka版本
如上圖,打開docker搜索到nyanmisaka的jellyfin,雙擊下載latest版本。如果網(wǎng)絡(luò)卡頓的小伙伴們,可以去SSH里面pull,我們可以復(fù)習(xí)一下pull指令。
docker pull nyanmisaka/jellyfin:latest
因?yàn)閚yanmisaka大佬想提供的是即裝即用,所以以上命令行有點(diǎn)違背初衷,下次不再提示。
回顧SSH的閑暇功夫,映像應(yīng)該下載完畢了,(如果沒有完畢,請(qǐng)?jiān)倏纯碨SH.......),我們?nèi)殓R像啟動(dòng)一個(gè)新容器。
啟動(dòng)新容器
這里再?gòu)?fù)習(xí)一下為什么都推薦選latest版本,因?yàn)榻窈笥邪姹旧?jí),我們直接再次拉取latest版本,等映像更新后,我們停止以前的容器->選擇重置->再啟動(dòng),就可以無損升級(jí)到最新版本了。是不是感覺很不踏實(shí),這么容易就升級(jí)了??但是,很愉快吧?
進(jìn)入高級(jí)設(shè)置
我們標(biāo)注1位置填寫容器名稱,標(biāo)注2位置勾選高權(quán)限以便于我們可以使用硬件解碼,標(biāo)注3位置啟動(dòng)資源限制,可以在標(biāo)注4和5位置進(jìn)行一下資源限制,最后在標(biāo)注6位置打開高級(jí)設(shè)置。其中2是必須的,1,3,4,5大家隨意,如果你真的很隨意只給jellyfin分配了1MB內(nèi)存,我很想知道結(jié)果會(huì)。。。。怎么樣。。。
點(diǎn)擊【高級(jí)設(shè)置】我們要進(jìn)一步設(shè)置。
高級(jí)設(shè)置啟動(dòng)
網(wǎng)絡(luò)模式
存儲(chǔ)空間設(shè)置
高級(jí)設(shè)置里面建議勾選自動(dòng)啟動(dòng),網(wǎng)絡(luò)模式選【使用與 Docker Host 相同的網(wǎng)絡(luò)】,直接使用當(dāng)前設(shè)備IP和端口。儲(chǔ)存空間這里,標(biāo)注1位置,選擇添加文件夾,分別添加 cache,config和media目錄,nyanmisaka的配置目錄與官網(wǎng)的jellyfin/jellyfin相同。實(shí)際上,如果你以前有jellyfin官方的docker配置有目錄,你可以直接指向你以前的配置目錄,平滑升級(jí)無憂。這個(gè)我好像前面提過?。。。太平滑了,不得不再說一次。
標(biāo)注5位置,我將media目錄設(shè)置為只讀,防止jellyfin里面誤操作刪除媒體源文件,安全第一。標(biāo)注6位置為我在NAS里面對(duì)應(yīng)的目錄,大家目錄不同,你不要說我寫錯(cuò)了。
配置完成按【應(yīng)用】回到創(chuàng)建容器界面,點(diǎn)擊【下一步】。
摘要顯示
這里再次確認(rèn)我們的設(shè)置,如果有問題,請(qǐng)不要找我。。。。點(diǎn)擊【應(yīng)用】,馬上開始多媒體之旅。
不得不說,啟動(dòng)jellyfin可真快,即使我左手點(diǎn)【應(yīng)用】,右手開網(wǎng)頁(yè),都能馬上打開jellyfin。其實(shí)好像也沒這么快,我鍵盤上找數(shù)字按字母,還帶指甲太長(zhǎng)按著老別扭,先去修理一下指甲。。。。
瀏覽器打開你的設(shè)備IP地址加上端口號(hào)8096。
設(shè)置中文
當(dāng)然選漢語了,奇怪jellyfin官方不是有自己人嗎,怎么常見的中文這里是漢語。。。。
配置管理員賬號(hào)
這里需要注冊(cè)一個(gè)管理員,我就默認(rèn)root用戶名了吧。
添加一個(gè)媒體庫(kù)
這個(gè)可以跳過,但是為了便于演示,我按要求先添加一個(gè)媒體庫(kù)。
媒體庫(kù)設(shè)置
我這里媒體庫(kù)只做最簡(jiǎn)單的電影類媒體庫(kù)演示,還有劇集,音樂,相冊(cè)等類型可供選擇,小伙伴可以自行研究,我們會(huì)盡快過度到后期的轉(zhuǎn)碼效果測(cè)試,所以這里僅僅提供電影類媒體庫(kù)設(shè)置作為參考。標(biāo)注1位置選電影類,標(biāo)注2位置取個(gè)霸氣點(diǎn)的名字,比如:《最讓人不討厭的電影》,《廁所常用影院》。不過我還是覺得《經(jīng)典電影》吐槽率高一點(diǎn),萬一我說經(jīng)典你說不經(jīng)典呢,是不是。
標(biāo)注3位置按【+】選擇文件夾,就是我們前面【高級(jí)設(shè)置】里面設(shè)置的那個(gè),如果你忘了是哪個(gè)高級(jí)設(shè)置,那忘了就忘了吧。
媒體庫(kù)下載語言和地區(qū),按圖設(shè)置一下,今后刮削對(duì)應(yīng)刮削中文。什么是刮削,這個(gè)你可以搜一下。本文不會(huì)深入介紹刮削,刮削可能遇到元數(shù)據(jù)下載器沒法訪問服務(wù)器的故障,這個(gè)需要改hosts或自建DNS代理。這個(gè)是常見問題,有很多文章介紹。我的解決方案是局域網(wǎng)自定義DNS代理,隨時(shí)可以更新,整個(gè)內(nèi)網(wǎng)都能同步更新刮削服務(wù)器地址(api.themoviedb.org的IP時(shí)不時(shí)就不靈光了,常換常新吧)。但是這個(gè)方法有點(diǎn)安全隱患,這里就不展開了。我默認(rèn)大家刮削是沒有問題的,甚至是已經(jīng)預(yù)先刮削好。
媒體庫(kù)建議選項(xiàng)
標(biāo)注1位置是10.8.0帶來的新特性,每個(gè)媒體庫(kù)可以自動(dòng)收集合集,我暫時(shí)把它關(guān)了。因?yàn)樗鼤?huì)自己建了一個(gè)名叫合集的媒體庫(kù),更重要的是,因?yàn)楣蜗髟獢?shù)據(jù)的原因,它統(tǒng)計(jì)的合集并不準(zhǔn)確,有時(shí)候系列名也不對(duì)。想試試的小伙伴可以打開,默認(rèn)是勾選上的。元數(shù)據(jù)下載器這里,第一個(gè)TheMovieDb,就是我們提到的會(huì)調(diào)用api.themoviedb.org來刮削,如果你有未刮削的電影,這個(gè)服務(wù)器基本都能刮削出來。第二個(gè) The Open MovieDatabase 默認(rèn)是勾選的。它可以補(bǔ)充第一服務(wù)器沒刮削到的資料,比如獲取爛番茄的評(píng)分。兩個(gè)服務(wù)器的優(yōu)先順序可以用旁邊的上下箭頭調(diào)整。
標(biāo)注2位置是新選項(xiàng)。按照音樂媒體庫(kù)的同樣選項(xiàng)解釋,應(yīng)該是指從電影文件內(nèi)嵌的附件提取封面或海報(bào)圖片。標(biāo)注3位置建議取消,是刮削不了海報(bào)圖片的時(shí)候從視頻中截取畫面。
如果你的電影已經(jīng)刮削好,建議圖片獲取可以全部取消。
取消圖片獲取方式
即使你的電影已經(jīng)刮削好,也建議保持元數(shù)據(jù)下載器的選項(xiàng),比如你關(guān)閉了TheMovieDb,那么你的演員表頭像和演員信息,就不會(huì)再更新了。
點(diǎn)擊【確定】,第一個(gè)媒體庫(kù)配置完成,【下一個(gè)】。
元數(shù)據(jù)默認(rèn)選項(xiàng)
這里提示我們將為后期的媒體庫(kù)配置默認(rèn)語言和地區(qū)。
默認(rèn)遠(yuǎn)程訪問
轉(zhuǎn)碼,當(dāng)然還有個(gè)作用就是外網(wǎng)訪問了,默認(rèn)是勾選的,點(diǎn)擊【下一個(gè)】。
完成設(shè)置
若干個(gè)下一個(gè)后,終于有【完成】了,點(diǎn)擊后會(huì)再次出現(xiàn)登錄界面,登錄我們的管理賬號(hào)進(jìn)去。
左上角點(diǎn)擊進(jìn)入控制臺(tái)
我們觀看電影之前還有點(diǎn)事情要做,那就是設(shè)置硬件編解碼。點(diǎn)擊左上角,進(jìn)入控制臺(tái)。
控制臺(tái)
打開硬件解碼
我們直接配置個(gè)目前官方10.8.0alpha3都不能干活的配置,如上圖。注意標(biāo)注5的下方、標(biāo)注8和標(biāo)注9這幾個(gè)地方出現(xiàn)了新選項(xiàng)。標(biāo)注2、標(biāo)注7、標(biāo)注8這個(gè)位置,我們會(huì)不同選擇來進(jìn)行一組簡(jiǎn)單的性能對(duì)比。這里先暫時(shí)不管,按圖配置就能愉快的轉(zhuǎn)碼了。
對(duì)了,我們先回到媒體庫(kù)看看。
已經(jīng)默認(rèn)支持中文字庫(kù)
完美,我們沒做任何補(bǔ)丁,媒體庫(kù)字庫(kù)已經(jīng)支持中文,不會(huì)顯示框框框框了。如果你的媒體庫(kù)沒有出現(xiàn)圖片,請(qǐng)耐心等待它自己自動(dòng)更新,如果已經(jīng)更新完成還是沒有顯示圖片和標(biāo)題,那么可以選擇手動(dòng)刷新,來一波:
手動(dòng)刷新媒體庫(kù)封面
按照標(biāo)注順序,執(zhí)行三步等待刷新完成。這次出現(xiàn)圖片和中文了吧。
到此,一個(gè)全新的jellyfin安裝完畢,這個(gè)即裝即用的硬解jellyfin究竟如何呢,接下來我們來試試。
牛刀小試,改進(jìn)的轉(zhuǎn)碼能力與效率
大戲出場(chǎng),我們選一部4K電影,先看看該視頻元數(shù)據(jù)。
視頻參數(shù)
這部4K電影是63Mbps碼率的HDR視頻,需要HDR轉(zhuǎn)SDR、帶燒錄PGS字幕,轉(zhuǎn)碼目標(biāo)分辨率為1080,碼率限制15Mbps。分別在QSV和VAAPI解碼方式下,采用VPP和openCL色調(diào)映射方式,查看在同一段場(chǎng)景穩(wěn)定后的轉(zhuǎn)換幀率。
編解碼速度對(duì)比
5組數(shù)據(jù)分別是,1.QSV轉(zhuǎn)碼 openCL映射 108 fps,2.QSV轉(zhuǎn)碼 VPP映射 77 fps,3.VAAPI轉(zhuǎn)碼 openCL映射 48 fps,4.VAAPI轉(zhuǎn)碼 VPP映射 61 fps,5.對(duì)比10.7.7版本VAPI轉(zhuǎn)碼 VPP映射 46 fps。
再拿一部60fps的電影測(cè)試一下。
60fps 4K 測(cè)試
同樣的選QSV轉(zhuǎn)碼 openCL映射 穩(wěn)定在110 fps 左右。
以上數(shù)據(jù)測(cè)試硬件環(huán)境 intel 8代i5,intel UHD核顯655,軟件系統(tǒng)為黑裙DSM6.2.3。測(cè)試的視頻需要HDR轉(zhuǎn)SDR,燒錄PGS,缺少一項(xiàng),轉(zhuǎn)碼速度都可能起飛達(dá)到3xx fps以上。
對(duì)比數(shù)據(jù)可以看到,nyanmisaka自帶的驅(qū)動(dòng)和ffmpeg,加上jellyfin功能支持,轉(zhuǎn)碼提升非常明顯。
轉(zhuǎn)碼功能:如nyanmisaka大佬所說,無腦安裝完成,無須自己打補(bǔ)丁,即可支持完整硬件功能。以前版本存在的QSV解碼沒有openCL色調(diào)映射選項(xiàng),現(xiàn)在有了;QSV解碼燒錄PGS卡在19fps的問題解決了;VAAPI以前openCL無法燒錄PGS字幕問題也解決了。
轉(zhuǎn)碼能力:QSV整體轉(zhuǎn)碼能力優(yōu)于VAAPI。與以前的版本相比,VAAPI轉(zhuǎn)碼VPP映射(以前版本只有這個(gè)模式支持PGS燒錄)幀率由46fps提高到61fps,提升33%。QSV轉(zhuǎn)碼與VAAPI轉(zhuǎn)碼在映射方式上效率相反,QSV在openCL映射方式下效率最高,而VAAPI轉(zhuǎn)碼在VPP映射方式下效率高于openCL映射。實(shí)際上,經(jīng)過幾天的連續(xù)轉(zhuǎn)碼試用,我更推薦大家用QSV轉(zhuǎn)碼配合openCL色調(diào)映射來日常工作,畢竟這個(gè)轉(zhuǎn)碼幀率能達(dá)到110fps左右,比以前的能用的模式(模式不一樣哦)46fps,如果直接對(duì)比的話提升135%,稱為吊打也不過分。
畫質(zhì)提升:以前VAAPI轉(zhuǎn)碼的時(shí)候,如果大家仔細(xì)看畫面,可以看到畫面被切分為好幾個(gè)矩形塊,而相鄰兩個(gè)塊交接線會(huì)看到輕微色差和亮度差。新的驅(qū)動(dòng)和ffmpeg更新,已經(jīng)消除了這個(gè)問題。
結(jié)論:Nyanmisaka/jellyfin真的是裝完就用,玩硬解的小伙伴們可以愉快的過度到這個(gè)版本來,nyanmisaka大佬這幾天也是火力全開,各大論壇都看到他在互動(dòng),docker也在頻繁更新,什么,好像剛剛又更新了。。。。
番外,nyanmisaka帶來的核心提升暫時(shí)測(cè)試結(jié)束,非常難得nyanmisaka大佬本人也來到zdm留言跟大家互動(dòng),所以下面附加一些jellyfin設(shè)置和使用方面的討論,希望nyanmisaka大佬幫大家科普一下。
jellyfin alpha3 幾個(gè)小問題
QSV模式TV客戶端底部色條
在QSV轉(zhuǎn)碼燒錄PGS字幕的時(shí)候,TV客戶端默認(rèn)exoPlayer播放畫面底部出現(xiàn)明顯的彩色橫條,而且隨著圖像變換。肉眼看上去大概就是有幾行。其實(shí)不燒錄PGS字幕的時(shí)候也有。只是行數(shù)更少不容易發(fā)現(xiàn)而已。
看上去像是內(nèi)存拷貝數(shù)據(jù)的時(shí)候錯(cuò)位了幾行,底部幾行沒填滿。而VAAPI轉(zhuǎn)碼就沒有,或稱為很輕微,仔細(xì)看好像有1、2行。
而同樣模式在PC的web客戶端、手機(jī)客戶端web/exoPlayer方式都沒發(fā)現(xiàn)問題。
低功率編碼
新版本帶來兩個(gè)低功率編碼器選項(xiàng)
新的選項(xiàng)
啟動(dòng)后并沒有發(fā)現(xiàn)轉(zhuǎn)碼速度有提升,而且只能工作在VAAPI模式下,選QSV模式直接報(bào)錯(cuò)。
ASS字幕口口口口問題
敲黑板,10.8.0似乎已經(jīng)支持Web端、exoplayer客戶端顯示ASS字幕和PGS字幕,無需服務(wù)器端轉(zhuǎn)碼燒錄。在做web端測(cè)試的時(shí)候,默認(rèn)為自動(dòng)的方式下ASS字幕將不會(huì)轉(zhuǎn)碼燒錄。這時(shí)候web客戶端直接顯示ASS字幕,中文字幕還是會(huì)因?yàn)槿弊煮w而顯示口口口口。解決的方法是,啟用備用字體。
啟用備用字體
我們要進(jìn)入控制臺(tái)播放轉(zhuǎn)碼設(shè)置里面去標(biāo)注4位置指定字體路徑,勾選標(biāo)注5位置啟用備用字體。當(dāng)然,我們自己要先找好支持中日韓文的.woff2字體,如上圖,我是放到config下woff2目錄下的。
啟用效果
標(biāo)注1是默認(rèn)交給客戶端顯示ASS字幕因?yàn)槿弊謳?kù)仍然出現(xiàn)口口口口,標(biāo)注2是啟用備用字庫(kù)后,客戶端ASS字幕顯示正常。
ASS字幕也可以強(qiáng)制燒錄,通過用戶設(shè)置頁(yè)面來啟動(dòng)。
啟用ASS燒錄
進(jìn)入用戶設(shè)置菜單(注意不是進(jìn)入控制臺(tái)),燒錄字幕選 所有復(fù)雜格式字幕 或 全部 都可以啟用ASS字幕服務(wù)器端燒錄。這樣nyanmisaka大佬內(nèi)嵌的中文字庫(kù)支持就能派上用場(chǎng)了。
這里敲黑板2次 我推薦把ASS文件轉(zhuǎn)為PGS字幕除了所見即所得之外,也在jellyfin中遇到很棘手的問題。每次服務(wù)器端轉(zhuǎn)碼燒錄ASS字幕,都會(huì)瘋狂讀取視頻文件,好像是全部讀取才能獲取ASS文件一樣,有的長(zhǎng)達(dá)幾十秒客戶端才開始播放(想想一部4K高碼電影可有幾十個(gè)G),我一度以為jellyfin掛了。我測(cè)試了好多視頻文件,都是如此。而PGS字幕就很正常。理解不了ASS和PGS轉(zhuǎn)碼預(yù)讀差別為何這么巨大。如果說ASS文件需要全部讀完才能獲取所有特效,即使MKV封裝將ASS文件封裝到文件的最后,讀取文件不是可以SEEK直接讀取后段文件嗎,一個(gè)ASS文件幾百K而已。而一個(gè)PGS文件,一言不合就是幾十M,雖然PGS是按時(shí)間順序一段一段的不需要首尾適應(yīng)。但是作為預(yù)讀的話,PGS也可能在MKV封裝的最后,讀取量更大,為什么PGS不影響轉(zhuǎn)碼預(yù)讀時(shí)間呢。。。唉,說得我都糊涂了。。。。。
總之,如果遇到ASS文件燒錄播放不出畫面的情況,jellyfin并沒有掛掉,它正在忙著呢,請(qǐng)耐心等待幾十秒,奇跡會(huì)出現(xiàn)的。有句歌詞:我等到花兒都謝了~~~
也許是我遇到的個(gè)別情況,不知道nyanmisaka大佬遇到過沒有。
新的色調(diào)映射算法
10.8.0版本帶來了BT.2390色調(diào)映射算法,全新安裝已經(jīng)默認(rèn)啟用該算法。如果手上有同一部電影的SDR和HDR版本的小伙伴,歡迎加入一起來測(cè)試。這里我就先貼圖為敬了。
選擇映射算法
在控制臺(tái)選擇播放轉(zhuǎn)碼設(shè)置,標(biāo)注1位置選中啟動(dòng)色調(diào)映射,這個(gè)是openCL模式,啟用VPP模式是沒有參數(shù)可調(diào)的。
openCL 默認(rèn)算法是BT.2390,以前這里默認(rèn)是Hable。
參數(shù)一覽
除了算法選擇,下面還有不少參數(shù)選項(xiàng),以上參數(shù)有中文介紹,我們先保持建議值。上圖最下面一個(gè)色調(diào)映射參數(shù),默認(rèn)是空著的,就是默認(rèn)參數(shù)或不需要參數(shù)的意思,如果我們選不同的算法,如果有參數(shù)的話,在這里設(shè)置。先來一組默認(rèn)參數(shù)效果貼圖,第一張是作為參考的SDR視頻畫面。
SDR
必須承認(rèn),SDR色彩亮度看上去是很舒服的,這部電影有點(diǎn)典型,就是我找到的HDR版本轉(zhuǎn)換SDR都比較暗(默認(rèn)參數(shù),如果想調(diào)整,看后面),以下效果只代表一部分類似HDR電影,有很多電影的HDR也做得很好,默認(rèn)參數(shù)轉(zhuǎn)出來效果就不錯(cuò)。對(duì)比猛烈一點(diǎn),大家也能看到差距,主要就是大家研究研究,不要認(rèn)真就好,不要扔我磚頭就好。。。。。
HDR-VPP
這個(gè)是用VPP轉(zhuǎn)出來的效果,沒什么參數(shù)可調(diào),就是這樣,為什么黑,可能VPP就喜歡黑吧。。。。但是它的飽和度,說人話就是色彩看上去還是很豐富的,就是亮度不準(zhǔn),不知道如果HDR描述的亮度峰值不準(zhǔn)的話,哪里可以強(qiáng)制100nits就好了,或許VPP算法默認(rèn)400或1000沒法改。。。。。以下openCL我也沒找到這個(gè)設(shè)置,如果我們調(diào)整亮度,只有改該算法的參數(shù)來實(shí)現(xiàn)。如果有小伙伴找到可以設(shè)置VPP映射參數(shù)的地方,記得@我。
HDR-openCL-BT.2390
BT.2390 色調(diào)映射,nyanmisaka大佬推薦算法。ffmpeg官網(wǎng)我沒查到具體說明,可能是最最最新支持,都沒來得及寫介紹。只知道是一種“基于直接映射的轉(zhuǎn)換方法”。這是我網(wǎng)上抄的,具體什么意思,好像很神秘,不過該方法飽和度(顏色)不錯(cuò),,,以下不再解釋飽和度,亮度沒有參數(shù)可調(diào),默認(rèn)里面算不錯(cuò)的。
HDR-openCL-Hable
算法Hable,是原版本默認(rèn)的轉(zhuǎn)換方法,官方介紹是比Reinhard更好地展現(xiàn)深色和高亮度細(xì)節(jié),但代價(jià)是會(huì)稍微使所有內(nèi)容變暗。真的有點(diǎn)暗,難怪剛開始用jellyfin的時(shí)候,發(fā)現(xiàn)我的HDR視頻怎么這么黑,我還拿著電筒對(duì)著電視照了半天,也亮不起來,唉。。。對(duì)了,Hable算法沒有參數(shù)可調(diào),殘念。。。。
HDR-openCL-None
算法None,這個(gè)簡(jiǎn)單粗暴,就是直接對(duì)高亮度區(qū)域做去飽和。大概就是不要顏色,白色一片。好歹看得清楚衣服上的扣子了,不過也不支持參數(shù)調(diào)整。
HDR-openCL-Clip
算法Clip,粗暴x2,對(duì)于超出的部分硬剪輯。可以支持參數(shù),默認(rèn)為1.0,調(diào)整1.5就是線性增加50%亮度的意思,反正你弄的太亮的地方,白就是了。不過,總算有個(gè)可以調(diào)整亮度的方法了。
HDR-openCL-Linear
算法Linear,將整個(gè)參考色域拉伸為顯示終端支持的線性倍數(shù)。好像就是最大和最小,拉根直線的意思。于是,這種有很亮場(chǎng)景的畫面,我們看到比上面兩個(gè)方法更暴力的出現(xiàn)了,這完全是黑啊,大哥。線性參數(shù)默認(rèn)也是1.0,要調(diào)到多少合適呢。
HDR-openCL-Gamma
算法Gamma,調(diào)過顯示器Gamma的小伙伴應(yīng)該熟悉,可調(diào)的對(duì)數(shù)曲線來進(jìn)行轉(zhuǎn)換。可以調(diào)整參數(shù),默認(rèn)值為 1.8。數(shù)學(xué)學(xué)得好的小伙伴們應(yīng)該最愛了吧,來試兩手?
HDR-openCL-Reinhard
算法Reinhard,使用非線性對(duì)比度,通過簡(jiǎn)單的曲線保留整體圖像亮度,從而實(shí)現(xiàn)細(xì)節(jié)變平和色彩精度下降。這個(gè)官方定義有點(diǎn)拗口,就是盡量保證亮度但是犧牲了細(xì)小的輪廓和顏色的平滑度。可以調(diào)整參數(shù),默認(rèn)0.5,對(duì)應(yīng)指色域內(nèi)值的亮度大約是剪切時(shí)的一半同,如果調(diào)整到0.75或0.8,亮度感官明顯提升,同比顏色恢復(fù)也算不錯(cuò),但是比SDR還是差一些。
HDR-openCL-Mobius
算法Mobius,平滑地映射超出范圍的值,同時(shí)盡可能保留范圍內(nèi)的對(duì)比度和顏色。如果你覺得色彩準(zhǔn)確性比細(xì)節(jié)保留更重要時(shí),推薦使用。默認(rèn)參數(shù)0.3,是指線性到mobius變換過度點(diǎn),數(shù)學(xué)小能手又能看看這組參數(shù)怎么調(diào)了。
總之,以上方法大部分都對(duì)應(yīng)一個(gè)轉(zhuǎn)換曲線,有的可以用參數(shù)調(diào)整曲線的形狀,比如簡(jiǎn)單的有斜線型、兩頭平滑中間傾斜類似足型,等等。然后以這個(gè)曲線為基礎(chǔ)進(jìn)行轉(zhuǎn)換。。。。算了,我們還是看圖吧。
默認(rèn)映射對(duì)比
我們對(duì)比一下,1.標(biāo)準(zhǔn)SDR,2.無參數(shù)可調(diào)的VPP映射,3.沒找到參數(shù)可調(diào)的BT.2390映射,4.沒參數(shù)可調(diào)的Hable映射。可以看到nyanmisaka大佬推薦的BT.2390方法確實(shí)不錯(cuò)。
再看看下面這組
全部方法對(duì)比
這組也全部采用默認(rèn)參數(shù),1.標(biāo)準(zhǔn)SDR,2.算法None,3.算法Clip,4.算法Linear,5.算法Gamma,6.算法Reinhard,7.算法Hable,8.算法Mobius,9.算法BT.2390。
可以看到,默認(rèn)參數(shù)下,None,Clip,Reinhard,Mobius,BT.2390至少亮度上勝出。看了官方廣告,我決定再試一組Reinhard和BT.2390的。其實(shí)也不是全看廣告,我也看療效的。能改參數(shù)的我都試了。Reinhard參數(shù)直觀,亮度和色彩還原綜合也算不錯(cuò),所以。。。還是看圖吧。
BT.2390映射對(duì)比
這組1 標(biāo)準(zhǔn)SDR,2 算法Reinhard 采用參數(shù)0.8,3 算法Reinhard 采用默認(rèn)參數(shù),4 標(biāo)準(zhǔn)SDR,5 算法Reinhard 參數(shù)0.8,6 算法Reinhard 默認(rèn)參數(shù),7 算法Reinhard 參數(shù)0.8, 8 算法Reinhard 默認(rèn)參數(shù),9 算法BT.2390無參數(shù)。
這組測(cè)試主要展示了方法Reinhard參數(shù)設(shè)置到0.8,見標(biāo)注2,可以獲取比SDR更好的亮度效果,缺點(diǎn)是對(duì)比度稍差,顏色略清淡,可以【色調(diào)映射范圍】強(qiáng)制改為TV模式,可以稍微提升一點(diǎn)色澤。為什么能提升,因?yàn)門V模式有負(fù)信號(hào),相當(dāng)于拉升了顏色的飽和度和亮度的對(duì)比度。。不過這個(gè)屬于作弊吧,算了。
算法Reinhard同樣的參數(shù),在另一部視頻對(duì)比中,亮度就有點(diǎn)過了,見標(biāo)注5。這說明不是所有HDR視頻轉(zhuǎn)換都需要提升亮度,如果有部分HDR轉(zhuǎn)換偏暗無法忍受的話,建議小伙伴用算法Reinhard,參數(shù)使用0.75-0.8。
同時(shí),在默認(rèn)參數(shù)下,算法BT.2390直觀感受比方法Reinhard轉(zhuǎn)換效果還是好一點(diǎn)。見標(biāo)注9和標(biāo)注8。
我們?cè)俅螌?duì)比一下BT.2390和Reinhard
推薦BT.2390
如上圖,1 標(biāo)準(zhǔn)SDR,2 算法BT.2390無參數(shù)可調(diào) 3 算法Reinhard 參數(shù)0.8,4 算法Reinhard 默認(rèn)參數(shù)。可以看到還是SDR效果最好。。。我們還是去找SDR吧。。。。。。。這樣的,小伙伴們能不能放大圖看呢,標(biāo)注2算法BT.2390轉(zhuǎn)換的亮度跟標(biāo)注4算法Reinhard默認(rèn)參數(shù)的亮度差別不大,但是色彩豐富度要好一些。
貼了這么多圖,我也不知道怎么建議,數(shù)學(xué)好的小伙伴們?cè)缇妥约洪_始計(jì)算參數(shù)了吧。我只能說我覺得亮度不夠的話,我就用算法Reinhard設(shè)置參數(shù)0.8,免得我黑燈瞎火的找電筒。簡(jiǎn)單點(diǎn),就跟著nyanmisaka大佬的用BT.2390吧,過幾天說不定又有新算法。
不知道nyanmisaka大佬是不是在開發(fā)一種像相機(jī)HDR一樣,高曝光一張,低曝光再一張,然后合成一張正常觀感又能看到亮度細(xì)節(jié)的算法出來。這個(gè)不是HDR最先出來宣傳的效果嗎。HDR不是來支持我們老設(shè)備看高亮畫面的嗎,怎么現(xiàn)在就要我不停的買買買買HDR設(shè)備呢,我還要存錢買Dolby Vision呢,這里面一定有很大的誤解。。
最后,很快會(huì)再見
nyanmisaka透露,元旦前后jellyfin 10.8.0正式版會(huì)推出。不過相對(duì)于官方的jellyfin/jellyfin,nyanmisaka/jellyfin是幫我們集成了最新驅(qū)動(dòng)、字庫(kù)和相關(guān)基礎(chǔ)庫(kù)的,官網(wǎng)因?yàn)樽裱_源協(xié)議的問題,這方面是比較被動(dòng)的。
作為半官方加強(qiáng)版的nyanmisaka/jellyfin,一起等待元旦節(jié)10.8.0正式版的發(fā)布吧。
作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~
何書明
版權(quán)所有 未經(jīng)許可不得轉(zhuǎn)載
增值電信業(yè)務(wù)經(jīng)營(yíng)許可證備案號(hào):遼ICP備14006349號(hào)
網(wǎng)站介紹 商務(wù)合作 免責(zé)聲明 - html - txt - xml