要使用Golang和FFmpeg實現視頻剪輯,可以通過調用FFmpeg的命令行工具來完成操作。下面是一個示例的代碼:
package main
import (
"log"
"os"
"os/exec"
)
func main() {
// 輸入參數
inputFile := "input.mp4"
outputFile := "output.mp4"
startTime := "00:00:05"
endTime := "00:00:10"
// 構建FFmpeg命令行參數
args := []string{
"-i", inputFile,
"-ss", startTime,
"-to", endTime,
"-c", "copy",
outputFile,
}
// 創建一個命令對象
cmd := exec.Command("ffmpeg", args...)
// 設置輸出和錯誤輸出
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
// 執行命令
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
}
在上面的代碼中,需要設置輸入文件路徑(inputFile)、輸出文件路徑(outputFile)、開始時間(startTime)和結束時間(endTime)參數。
使用exec.Command
創建一個FFmpeg命令的命令對象,其中命令為ffmpeg
,參數為args
。
然后,通過設置命令對象的輸出和錯誤輸出,將FFmpeg的輸出和錯誤輸出重定向到標準輸出和標準錯誤輸出。
最后,使用cmd.Run()
方法執行命令。
這樣,就可以通過調用FFmpeg命令行工具實現視頻剪輯功能了。