GolangとFFmpegを用いた動画編集
GolangとFFmpegを使用して動画編集を実現するには、FFmpegのコマンドラインツールを呼び出すことで行うことができます。以下のサンプルコードを参照してください。
package main
import (
"log"
"os"
"os/exec"
)
func main() {
// 输入参数
inputFile := "input.mp4"
outputFile := "output.mp4"
startTime := "00:00:05"
endTime := "00:00:10"
// 构建FFmpeg命令行参数
args := []string{
"-i", inputFile,
"-ss", startTime,
"-to", endTime,
"-c", "copy",
outputFile,
}
// 创建一个命令对象
cmd := exec.Command("ffmpeg", args...)
// 设置输出和错误输出
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
// 执行命令
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
}
上記コードでは、入力ファイルのパス(inputFile)、出力ファイルのパス(outputFile)、開始時刻(startTime)、終了時刻(endTime)のパラメーターを設定する必要があります。
ffmpeg コマンドに対して exec.Command でコマンドオブジェクトを作成し、コマンドは ffmpeg、引数は args とします。
次に、Commandオブジェクトの出力とエラー出力を設定することで、FFmpegの出力とエラー出力を標準出力と標準エラー出力に出力するようにリダイレクトします。
最後に、cmd.Run()メソッドを用いてコマンドの実行を行います。
これにより、FFmpegコマンドラインツールの呼び出しにより動画のクリップ機能を実現できます。