我尝试使用 ffprobe 获取视频文件持续时间。当我运行此代码时,出现错误:
退出状态1:
var out bytes.Buffer
var stderr bytes.Buffer
cmdArgs := []string{"-i", "bunny.mp4", "-show_entries", "format=duration", "-v", "quiet", "-of", `csv="p=0"`}
cmd := exec.Command("ffprobe", cmdArguments...)
cmd.Stdout = &out
cmd.Stderr = &stderr
if err := cmd.Run(); err != nil {
fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
}
fmt.Printf("command output: %q\n", out.String())
但是当我传递参数时没有-of csv="p=0"这样:
cmdArgs := []string{"-i", "bunny.mp4", "-show_entries", "format=duration", "-v", "quiet"}
它可以工作并返回结果(但格式错误):
命令输出:“[FORMAT]\nduration=3.008000\n[/FORMAT]\n”
那么问题是什么以及如何解决呢?
蝴蝶刀刀
相关分类