在Golang中,可以使用os/exec包來執行命令行程序,包括FFmpeg。以下是使用Golang和FFmpeg實現視頻裁剪的示例代碼:
package main
import (
"fmt"
"log"
"os"
"os/exec"
"strconv"
)
func main() {
// 輸入視頻文件路徑
inputFile := "input.mp4"
// 輸出視頻文件路徑
outputFile := "output.mp4"
// 裁剪起始時間(單位:秒)
startTime := 10
// 裁剪結束時間(單位:秒)
endTime := 20
// 構建FFmpeg命令行參數
args := []string{
"-i", inputFile,
"-ss", strconv.Itoa(startTime),
"-to", strconv.Itoa(endTime),
"-c", "copy",
outputFile,
}
// 執行FFmpeg命令
cmd := exec.Command("ffmpeg", args...)
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Println("視頻裁剪完成!")
}
上述代碼中,我們使用os/exec包構建了一個FFmpeg的命令行參數列表,包括輸入文件路徑、裁剪起始時間、裁剪結束時間、輸出文件路徑等參數。然后,我們通過exec.Command創建一個cmd對象,并使用cmd.Run()方法來執行該命令。如果執行過程中發生錯誤,我們使用log.Fatal來輸出錯誤信息并終止程序。
請確保已經安裝了FFmpeg,并且將其添加到了系統的環境變量中,這樣才能在命令行中使用ffmpeg命令。