如何在FFMPEG中使用通用GPU加速将JPG文件生成MP4视频?
无NVIDIA显卡下FFmpeg JPG序列转MP4通用GPU加速方案
你原命令使用纯CPU解码JPG+软编码H.264,耗时主要集中在这两个环节,适配全类型GPU的优化思路为启用JPG硬件解码,替换软件编码器为对应平台的硬件编码器,不同平台的可用方案如下:
前置检查
- 运行
ffmpeg -hwaccels查看当前FFmpeg支持的硬件加速类型 - 运行
ffmpeg -encoders | findstr h264(Windows)或ffmpeg -encoders | grep h264(Linux/macOS)确认对应硬件编码器存在
各平台优化命令
Linux平台(Intel核显/AMD卡通用,VA-API方案)
ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -start_number 2000 -i somepics.%5d.jpg -filter:v "setpts=2.0*PTS,format_vaapi=format=nv12" -c:v h264_vaapi -pix_fmt yuv420p somemovie.mp4
Windows平台
Intel核显(QSV方案)
ffmpeg -hwaccel qsv -hwaccel_output_format qsv -start_number 2000 -i somepics.%5d.jpg -filter:v "setpts=2.0*PTS,format_qsv=format=nv12" -c:v h264_qsv -pix_fmt yuv420p somemovie.mp4
AMD卡(AMF方案)
ffmpeg -hwaccel d3d11va -start_number 2000 -i somepics.%5d.jpg -filter:v "setpts=2.0*PTS" -c:v h264_amf -pix_fmt yuv420p somemovie.mp4
macOS平台(Intel/Apple Silicon通用,VideoToolbox方案)
ffmpeg -hwaccel videotoolbox -start_number 2000 -i somepics.%5d.jpg -filter:v "setpts=2.0*PTS" -c:v h264_videotoolbox -pix_fmt yuv420p somemovie.mp4
可选提速参数
- 可在编码器参数后添加
-preset fast进一步提升编码速度,质量损失可忽略 - 对画质要求不高的场景可添加
-crf 28降低码率,压缩速度更快
内容的提问来源于stack exchange,提问作者Redshoe
相关产品推荐
相关产品推荐

