package main import ( "fmt" "os" "os/exec" "path/filepath" "strings" ) func main(){ dir, _ := os.Getwd() //1、视频文件名称 movie:=dir+"/Source/1.wmv" //2、输出的文件通配名称 target:=dir+`/Target/piece_%03d.wmv` //3、对视频文件进行切片 cmdLine:=dir+`\ffmpeg\ffmpeg.exe -fflags +genpts -i `+movie+` -acodec copy -vcodec copy -f segment -segment_time 300 -reset_timestamps 1 -map 0:0 -map 0:1 `+target cmd := exec.Command("cmd.exe", "/c", "start " + cmdLine) err := cmd.Run() fmt.Printf("%s, error:%v \n", cmdLine, err) //4、切片完成后,尝试进行转码 //获取当前目录下的文件或目录名(包含路径) filepathNames,_ := filepath.Glob(filepath.Join(dir+`/Target`,"*")) for i := range filepathNames { cmdLine=dir+`\ffmpeg\ffmpeg.exe -i `+filepathNames[i]+` -c:v libx264 -strict -2 `+strings.Replace(filepathNames[i],".wmv",".mp4",-1) cmd = exec.Command("cmd.exe", "/c", "start " + cmdLine) err = cmd.Run() fmt.Printf("%s, error:%v \n", cmdLine, err) } }