(三+1)用顯卡加速視頻轉碼壓制之ffmpeg、media coder、shana encoder
一、ffmpeg


額外篇。談談如何調用顯卡對轉換編碼格式或者壓制進行加速(都是對較新版本的軟件來說)。不是“-c copy”轉碼的話,視頻比較大、時長很長的時候,轉碼壓制還是得等很久,所以就在想有沒有什么辦法可以給它快一點甚至快很多呢?
先說兩個命令行:
ffmpeg -decoders
ffmpeg -encoders
這兩個命令行可以查看ffmpeg支持的解碼器、編碼器名稱。注意這是“工具”的名稱,第三期說的“-formats”“-codecs”是容器格式、編碼格式的名稱(雖然編碼格式后面也有附帶相應的“工具”名
之后up發(fā)現(xiàn):

可以用顯卡欸~就是說在寫“-c:v”的時候可以寫其它的吧?
大概差不多同期也看到一篇專欄:

這下就很明白了,試一試:
先用cpu
ffmpeg -i .\input.mp4 -b:v 2000k -c:v h264 -c:a copy .\output.mp4

接下來用intel集成顯卡
ffmpeg -i .\input.mp4 -b:v 2000k -c:v h264_qsv -c:a copy .\output.mp4

雖然是瞬時速度,但也能發(fā)現(xiàn)用h264_qsv編碼器比h264快很多快了幾倍。大家可以嘗試一下。不過快歸快,論質量的話還是原來的CPU編碼好。這個具體就看自己選擇啦,up覺得無論觀看還是素材用都可。
說明一下“_qsv”以及其它后綴的意思:
qsv:intel顯卡的快速視頻同步技術(quick sync video)
nvenc:nvidia顯卡的硬件視頻編碼器(nvidia?hardware video encoder)
cuvid:同上,不過up不怎么了解這個(up這只能用qsv(悲
amf:amd顯卡的amf硬件編碼器(amd hardware encoder)
根據(jù)“ffmpeg -decoders”“ffmpeg -encoders”展示的解編碼器去相應使用就可以。比如“-c:v h264_nvenc”“h264_amf”。
這里提到了“硬件”。通俗地說,用顯卡解碼的過程相當于經(jīng)常聽說的“硬解”,相對地,用CPU解碼就是“軟解”了,具體可以自行搜索。但現(xiàn)在硬解軟解的區(qū)分沒有那么強調是顯卡還是CPU,甚至有時就不是以這個來取決。
那么,除了我們知道自己電腦是有什么顯卡,我們可以通過“ffmpeg -hwaccels”來查看當前的ffmpeg支持什么硬件方法。(不過up感覺只是作個參考而已,另外反正一般現(xiàn)在Intel的電腦都能用qsv吧)

二、其它轉碼壓制軟件
在shana encoder和media coder上都可以像這么加速。這兩個軟件完全免費。
先說shana encoder
有基本壓制經(jīng)驗推薦(現(xiàn)已有中文版)
下載:https://sourceforge.net/projects/shanaencoder/
官網(wǎng)下載:https://shana.pe.kr/shanaencoder_download
在資源站下載:https://bbs.itzmx.com/thread-7413-1-1.html
打開軟件,拖進或者導入一個視頻

點擊quick settings

其它看需求設置,編解碼器這里選相應顯卡的,up就qsv了
接下來是media coder,界面比較復雜
有基本壓制經(jīng)驗推薦
下載:http://www.mediacoderhq.com/dlfull.htm
一樣拖進或導入視頻

先點擊“視頻”,再勾上“GPU”
它會自動選擇電腦合適的顯卡編碼器
也可以自行選擇編碼器
還有其它各種的加速方法,可以去看看大神們的專欄文章視頻等~
感謝你觀看到這里。