gpt4 book ai didi

Golang exec.Command() 错误 - 通过 golang 的 ffmpeg 命令

转载 作者:IT王子 更新时间:2023-10-29 01:57:45 32 4
gpt4 key购买 nike

目前正在使用这个 ffmpeg 命令编辑视频

ffmpeg -i "video1.ts" -c:v libx264 -crf 20 -c:a aac -strict -2 "video1-fix.ts"

当我在终端中输入它时,它起作用了。但是,当我尝试使用 Golang exec.Command() func 时,我得到了

的错误响应
&{/usr/local/bin/ffmpeg [ffmpeg -i "video1.ts" -c:v libx264 -crf 20 -c:a aac -strict -2 "video1-fix.ts"] []  <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> <nil> false [] [] [] [] <nil> <nil>}

下面是我的代码

cmdArguments := []string{"-i", "\"video-1.ts\"", "-c:v", "libx264",
"-crf", "20", "-c:a", "aac", "-strict", "-2", "\"video1-fix.ts\""}

err := exec.Command("ffmpeg", cmdArguments...)
fmt.Println(err)

我的命令语法中是否遗漏了什么?不确定为什么不加载视频

最佳答案

正如@JimB 所说,exec.Command 不会返回错误。这是来自示例 https://golang.org/pkg/os/exec/#Command 的更改代码

顺便说一下,您不需要使用 "\"video-1.ts\"" - 您的引号是 shell 功能。

package main

import (
"bytes"
"fmt"
"log"
"os/exec"
)

func main() {
cmdArguments := []string{"-i", "video-1.ts", "-c:v", "libx264",
"-crf", "20", "-c:a", "aac", "-strict", "-2", "video1-fix.ts"}

cmd := exec.Command("tr", cmdArguments...)

var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Printf("command output: %q\n", out.String())
}

关于Golang exec.Command() 错误 - 通过 golang 的 ffmpeg 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45685483/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com