Golang + Avconv错误(退出状态254)

时间:2013-07-05 19:40:54

标签: go libavcodec

我在第二行遇到“恐慌:退出状态254”。

你能否发现我在这里犯的错误:

command := exec.Command("avprobe", "inputfile.mp4 -loglevel quiet -show_streams -frame_size -print_format -show_format -of json")

output, err := command.StdoutPipe();
if err != nil {
    log.Panic(err)
}

if err := command.Run(); err != nil {
    log.Panic(err)
}

json.NewDecoder(output).Decode(&struct1)

2 个答案:

答案 0 :(得分:1)

您正在运行等效的

avprobe "inputfile.mp4 -loglevel quiet -show_streams -frame_size -print_format -show_format -of json"

我猜avprobe不喜欢这样,试试

command := exec.Command("avprobe", "inputfile.mp4", "-loglevel", ...)

您还可以使用exec.CombinedOutput()从avprobe获取输出并查看其内容。

答案 1 :(得分:0)

  

包exec

     

func Command

func Command(name string, arg ...string) *Cmd

例如,

arg := []string{
    "inputfile.mp4",
    "-loglevel", "quiet",
    "-show_streams",
    "-frame_size",
    "-print_format",
    "-show_format",
    "-of", "json",
}
command := exec.Command("avprobe", arg...)