相信有很多和我一样使用FFmpeg来处理视频的朋友一直苦于寻找如何使用GPU硬件来提升处理速度
在网上查询都是一堆专业的东东,难道就没有简单的方法吗?
其实吧,还是有的。。。
我整理了一下网上的资料发现。。。
其实非常简单的,因为新版本的FFmpeg已经把GPU硬件的解码、编码、转码统统打包了!!!
废话不多说,直接放结果
使用英伟达GPU加速!!!!!!!!!
只需要在命令里加上 -c:v h264_cuvid -c:v h264_nvenc 就行!!!!!
示范例子:
ffmpeg -c:v h264_cuvid -i 1.mp4 -s 1280:720 -r 29.97 -b:v 600k -c:v h264_nvenc 1-1.mp4
命令说明:
-c:v 这个是-vocdec的缩写 意思是编解码方式
-c:v h264_cuvid 这个的意思就是使用英伟达GPU解码
-i 这个是输入的意思
1.mp4 这个是要输入的文件
-s 这个是设置分辨率
-r 这个是设置帧速率(fps)
-b:v 这个是设置指定比特率(bits/s),似乎ffmpeg是自动VBR的,指定了就大概是平均比特率
-c:v h264_nvenc 这个的意思是使用英伟达GPU编码
1-1.mp4 这个是输出文件
一定要注意!!!
解码必须放在输入文件的前面,不然会报错。(当然我的是这样,具体情况视不同环境而定)
使用英特尔GPU加速!!!!!!!!!
只需要在命令后面加上 -c:v h264_qsv 就行!!!!!
示范例子:
ffmpeg -i 1.mp4 -s 1280:720 -r 29.97 -b:v 600k -c:v h264_asv 1-1.mp4
命令说明: (重复的我就不说了哈)
-c:v h264_qsv 这个的意思就是使用英特尔GPU编码
相信很多小伙伴会问:为什么你这没有英特尔的解码命令呢,会不会不能用啊。 放心,经我测试就算没有解码命令一样可以使用。
好吧,其实是我也没有找到英特尔GPU的解码命令。
重要声明:
以上数据均由64位win10系统:intel(R)Core(TM)i7-7700HQ(cpu) NVIDIA GeForce GTX1050(gpu) 测试
如有不同,请谷歌一下哈。(毕竟我也是一点一点找出来的)