在 Golang 中使用 FFmpeg 進行轉(zhuǎn)碼可以通過調(diào)用 FFmpeg 的命令行工具來實現(xiàn),也可以使用 Golang 的庫 ffmpeg-go 來直接操作 FFmpeg。
以下是使用 ffmpeg-go 庫進行轉(zhuǎn)碼的示例代碼:
go get -u github.com/xfrr/goffmpeg
package main
import (
"fmt"
"os"
"github.com/xfrr/goffmpeg/transcoder"
)
func main() {
// 創(chuàng)建一個新的轉(zhuǎn)碼器
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("轉(zhuǎn)碼失敗:", err)
os.Exit(1)
}
fmt.Println("轉(zhuǎn)碼完成")
}
以上代碼示例了一個簡單的轉(zhuǎn)碼過程,將 input.mp4 文件轉(zhuǎn)碼為 output.mp4 文件。
請注意,轉(zhuǎn)碼可能需要一些時間,具體取決于輸入文件的大小和系統(tǒng)性能。你可以根據(jù)實際情況修改代碼,例如通過添加進度回調(diào)函數(shù)來監(jiān)視轉(zhuǎn)碼進度,或者設置其他轉(zhuǎn)碼參數(shù)。
希望這可以幫助到你開始在 Golang 中使用 FFmpeg 進行轉(zhuǎn)碼。