下面是一个使用Golang和FFmpeg实现视频水印添加的示例代码:
package main
import (
"fmt"
"log"
"os"
"os/exec"
)
func main() {
// 输入视频文件路径
inputFile := "input.mp4"
// 输出视频文件路径
outputFile := "output.mp4"
// 水印图片路径
watermarkFile := "watermark.png"
// 创建FFmpeg命令
cmd := exec.Command("ffmpeg", "-i", inputFile, "-i", watermarkFile, "-filter_complex", "overlay=W-w-10:H-h-10", outputFile)
// 执行命令
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Println("视频水印添加成功!")
}
在上面的代码中,我们使用os/exec
包创建了一个exec.Cmd
对象,该对象代表了一个FFmpeg命令。我们通过传递命令行参数来指定输入视频文件路径、水印图片路径和输出视频文件路径。在本示例中,我们使用了overlay
滤镜来将水印图片添加到视频上,具体的滤镜参数为overlay=W-w-10:H-h-10
,表示将水印图片放置在右下角,距离视频边界右边和底部各10像素的位置。最后,我们调用cmd.Run()
方法来执行FFmpeg命令。
请确保你的系统已经正确安装了FFmpeg,并且将FFmpeg的可执行文件路径添加到了系统的环境变量中。
运行以上代码后,你将得到一个包含水印的输出视频文件output.mp4
。