在 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 進行轉碼。