(三+1)用显卡加速视频转码压制之ffmpeg、media coder、shana encoder
一、ffmpeg


额外篇。谈谈如何调用显卡对转换编码格式或者压制进行加速(都是对较新版本的软件来说)。不是“-c copy”转码的话,视频比较大、时长很长的时候,转码压制还是得等很久,所以就在想有没有什么办法可以给它快一点甚至快很多呢?
先说两个命令行:
ffmpeg -decoders
ffmpeg -encoders
这两个命令行可以查看ffmpeg支持的解码器、编码器名称。注意这是“工具”的名称,第三期说的“-formats”“-codecs”是容器格式、编码格式的名称(虽然编码格式后面也有附带相应的“工具”名
之后up发现:

可以用显卡欸~就是说在写“-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

虽然是瞬时速度,但也能发现用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)
根据“ffmpeg -decoders”“ffmpeg -encoders”展示的解编码器去相应使用就可以。比如“-c:v h264_nvenc”“h264_amf”。
这里提到了“硬件”。通俗地说,用显卡解码的过程相当于经常听说的“硬解”,相对地,用CPU解码就是“软解”了,具体可以自行搜索。但现在硬解软解的区分没有那么强调是显卡还是CPU,甚至有时就不是以这个来取决。
那么,除了我们知道自己电脑是有什么显卡,我们可以通过“ffmpeg -hwaccels”来查看当前的ffmpeg支持什么硬件方法。(不过up感觉只是作个参考而已,另外反正一般现在Intel的电脑都能用qsv吧)

二、其它转码压制软件
在shana encoder和media coder上都可以像这么加速。这两个软件完全免费。
先说shana encoder
有基本压制经验推荐(现已有中文版)
下载:https://sourceforge.net/projects/shanaencoder/
官网下载:https://shana.pe.kr/shanaencoder_download
在资源站下载:https://bbs.itzmx.com/thread-7413-1-1.html
打开软件,拖进或者导入一个视频

点击quick settings

其它看需求设置,编解码器这里选相应显卡的,up就qsv了
接下来是media coder,界面比较复杂
有基本压制经验推荐
下载:http://www.mediacoderhq.com/dlfull.htm
一样拖进或导入视频

先点击“视频”,再勾上“GPU”
它会自动选择电脑合适的显卡编码器
也可以自行选择编码器
还有其它各种的加速方法,可以去看看大神们的专栏文章视频等~
感谢你观看到这里。