下面是一個使用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
。