大家好,我是波導(dǎo)終結(jié)者。
之前跟大家分享過使用編碼來進(jìn)行視頻壓縮或者直播串流,雖然也有分享過腳本,但確實沒有把前后步驟都寫的很清楚,還是有一定門檻的。這次我就來詳細(xì)分享一下整個的流程。
首先,你必須要有一個支持硬件編碼的顯卡,因為現(xiàn)在CPU軟件純編碼的速度非常慢,每秒可能只有個位幀數(shù)。獨顯方面,NVIDIA的40系,英特爾Arc銳炬獨顯系列,AMD RX 7000系,以及核顯方面,英特爾14代,AMD 銳龍 7000的大部分型號都支持,具體還請參照官方公布的型號列表。
由于編碼格式實在太新,各家的顯卡也剛出來不久,所以市面上可以支持AV1硬件編碼的軟件并不多。商業(yè)或者收費軟件除外的話,我之前一直用的ShanaEncoder直到現(xiàn)在都沒有更新AV1硬件編碼的支持。所以這里可以嘗試另一款開源免費的軟件HandBrake。經(jīng)我使用最新版20240210版本的軟件優(yōu)化并實測,編碼速度約在450幀左右,CPU和顯卡利用率都在80%到90%上下。如果需要一款圖形界面、中文、免費開源的軟件,那么這應(yīng)該就是目前民用的最佳選擇了。
如果想要隨時用到最新版本與最佳性能,我還是推薦使用FFMPEG的命令行來寫腳本。這個雖然稍微有點復(fù)雜,但是效果確實是目前最好的。一般網(wǎng)上教程會教大家設(shè)置系統(tǒng)目錄,以便免維護(hù)FFMPEG的路徑,我這里因為兼容性問題,還需要保留某個舊的版本,所以使用的直接是相對路徑。
針對于壓縮學(xué)習(xí)資料的使用場景,我寫了幾個腳本,最主要的還是兩個區(qū)別,一個是單文件壓縮,一個是壓縮目錄下所有文件。默認(rèn)學(xué)習(xí)資料只保留128K碼率的AAC,帶CopyAudio的版本是拷貝音頻,因為某些學(xué)習(xí)資料的原始音頻就是128K左右,二次壓縮除了降低質(zhì)量以外無意義。
單文件壓縮版的使用,我推薦使用Powershell,在任意文件夾按住shift,然后點擊右鍵就可以看到“在此處打開Powershell窗口”。然后把腳本拖進(jìn)來,空格,再把要壓縮的視頻文件拖進(jìn)來,回車就行了。
使用FFMPEG腳本壓縮,可以把顯卡編碼吃滿,速度可以達(dá)到530-550幀左右。這應(yīng)該是目前最快的壓縮方式。而且隨著軟件以及驅(qū)動的優(yōu)化,以后只需要把FFMPEG替換成最新的版本,就可以不斷得到最快的一個壓縮體驗。
至于壓縮目錄下所有文件的腳本,我推薦的使用方式是把腳本以及FFMPEG的主程序一起拷貝到目標(biāo)目錄,然后運行腳本,等待就可以了。
目前對于1080p的視頻,我使用的是1500碼率的AV1編碼,肉眼損失不可見基本沒有問題。當(dāng)然,吹毛求疵的肯定是收藏網(wǎng)上人家壓的10M,20M碼率的原盤為好。至于壓縮后的質(zhì)量,我也對比了一下HandBrake和FFMPEG最新版本。同樣參數(shù)底下轉(zhuǎn)換得到的文件大小幾乎是一模一樣的1.71GB,甚至目標(biāo)碼率都是一模一樣的1634KB,畢竟HandBrake就是封裝的FFMPEG。
如果有其他疑問,或者是需要腳本的朋友,可以留言交流。感謝大家的觀看,點贊和關(guān)注,我們下期再見。