0

我在第二行收到“恐慌:退出状态 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)
4

2 回答 2

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 获取输出并查看其内容。

于 2013-07-05T20:54:29.193 回答
0

包执行

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...)
于 2013-07-05T20:55:46.423 回答