FFmpeg提升转码速度的参数设置

2020-02-10 15:14:15

FFmpeg是比较经典的视频转码工具,可以应付小型的音视频应用。但转码速度是一个比较大的难题。我这里提供几个可以应用的参数。帮助大家在不提升硬件的情况下,尽可能多地提升转码速度。

1 开启多线程:

-threads 2 #开启两个线程
 

现在大多数服务器的CPU都是多核多线程的,当然,threads参数不是越高越好。建议,在转码时间、CPU使用率上取得一个平衡的数值,对于大多数小型项目,threads 2足够了,更多的线程,取得了效益往往已经大于了消耗成本。

2 集成显卡加速:

使用过MediaCoder等软件的朋友,一定对NVIDIA GPU加速的效果感到满意。很多人不知道,你的intel处理器集成的显卡,也许也能用来加速。

Intel提供了一套 Intel® Media SDK,可以在windows和linux上部署,需要先注册再下载:

https://software.intel.com/en-us/media-sdk

需要的关键参数:

-hwaccel qsv -c:v h264_qsv -noautorotate -vcodec h264_qsv -i input.mp4 output.mp4

这些参数来自于下面的文章,文章已经分析得相当清楚了:

https://www.cnblogs.com/zzugyl/p/8439060.html

3 并发处理:

当硬件资源极其有限的情况下,你需要一个队列系统,来控制单位时间内,最多的处理的转码任务数,来保证生产和消费的平衡。

数字化转码 作者:geralt

115210
小宇
ShopXO插件 ▶力扣 ▶Github ▶M站