跳到主要内容

FFmpeg 常用命令

这里记录一些常用的 FFmpeg 命令,以备随时查阅。

使用 GPU 加速

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:v h264_nvenc -vf scale_cuda=1280:-1 output.mp4
参数注释
-hwaccel cuvid使用cuvid硬件加速
-c:v h264_cuvid使用h264_cuvid进行视频解码
-c:v h264_nvenc使用h264_nvenc进行视频编码
-vf scale_cuda=1280:-1指定输出视频的宽高

合并视频

ffmpeg.exe -f concat -safe 0 -i files.txt -c copy -y output.mp4

其中 files.txt 内容如下:

file '01.mp4'
file '02.mp4'
file '03.mp4'
file '04.mp4'
file '05.mp4'
file '06.mp4'
file '07.mp4'
file '08.mp4'
file '09.mp4'
file '10.mp4'

使用 node.js 生成 files.txt 文件:

const fs = require("fs");
const files = fs.readdirSync("."); // .filter(n => /^REGEXP.mp4$/.test(n));
fs.writeFileSync("files.txt", fd.join("\n"));

将图片合成为视频

ffmpeg -i %04d.png -r 30 output.mp4

其中 %04d.png 是图片文件名的格式,%04d 表示四位数字,-r 30 表示帧率为 30。相信学过 C 语言的都懂。

同样的,可以使用任何上面提到的参数,比如 -c:v h264_nvenc 等。