golangでffmpegによるトランスコーディングをどのように実装するか

GoにおけるFFmpegによるトランスコードは、FFmpegのコマンドラインツールの呼び出しで実現できますし、また、Goライブラリのffmpeg-goを利用してFFmpegを直接操作することもできます。

ffmpeg-goライブラリを使用したトランスコーディングのサンプルコードを以下に示します。

  1. まず、ffmpeg-go ライブラリをインストールする必要があります。次のコマンドを使用してインストールできます。
go get -u github.com/xfrr/goffmpeg
  1. そして、下記のコードスニペットを使用して、トランスコードを実行できます。
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 ファイルに変換する単純なトランスコーディングプロセスを示しています。

エンコードには、入力ファイルのサイズやシステムパフォーマンスによって時間がかかる場合がありますので、ご注意ください。進捗状況を監視するための進捗コールバック関数の追加など、コードを実際の状況に合わせて変更したり、他のエンコードパラメータを設定したりできます。

FFmpegを使ったGoでのトランスコードを開始するのに役立つことを願っています。

bannerAds