在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命令。