在 Golang 中使用 FFmpeg 进行转码可以通过调用 FFmpeg 的命令行工具来实现,也可以使用 Golang 的库 ffmpeg-go 来直接操作 FFmpeg。
以下是使用 ffmpeg-go 库进行转码的示例代码:
go get -u github.com/xfrr/goffmpeg
package main
import (
"fmt"
"os"
"github.com/xfrr/goffmpeg/transcoder"
)
func main() {
// 创建一个新的转码器
trans := new(transcoder.Transcoder)
// 设置输入文件路径
inputFilePath := "input.mp4"
err := trans.Initialize(inputFilePath)
if err != nil {
fmt.Println("初始化失败:", err)
os.Exit(1)
}
// 设置输出文件路径
outputFilePath := "output.mp4"
err = trans.Run(outputFilePath)
if err != nil {
fmt.Println("转码失败:", err)
os.Exit(1)
}
fmt.Println("转码完成")
}
以上代码示例了一个简单的转码过程,将 input.mp4 文件转码为 output.mp4 文件。
请注意,转码可能需要一些时间,具体取决于输入文件的大小和系统性能。你可以根据实际情况修改代码,例如通过添加进度回调函数来监视转码进度,或者设置其他转码参数。
希望这可以帮助到你开始在 Golang 中使用 FFmpeg 进行转码。