const ffmpeg = require('fluent-ffmpeg');
// 输入视频文件路径
const inputVideoPath = './small.mp4';
// 水印图片文件路径
const watermarkImagePath = './small.png';
// 输出视频文件路径
const outputVideoPath = './small_img_watermark.mp4';
// 配置水印位置,假设我们想要将水印放在视频的右下角,各边距离10像素
// W和H代表视频宽度和高度,w和h代表水印宽度和高度
const watermarkPosition = 'W-w-10:H-h-10';
const cropParams = '100:100:50:50';
// 使用fluent-ffmpeg构建命令
ffmpeg()
.addInput(inputVideoPath) // 添加输入视频
.complexFilter([
// 使用crop滤镜裁剪视频
`crop=${cropParams}`
])
.outputOptions('-c:v', 'libx264') // 设置输出视频编码器,这里使用H.264
.output(outputVideoPath) // 设置输出文件路径
.on('end', () => {
console.log('视频裁剪完成');
})
.on('error', (err) => {
console.error('裁剪视频时出错:', err);
})
.run();
cropParams 视频宽度:视频高度:开始的x位置:开始的Y位置。这几个值必须是合法的。