golang中怎么调用ffmpeg合并文件

Go言語でシステムコマンドを実行することで、FFmpegを呼び出してファイルをマージすることができます。シェルコマンドを実行するためにos/execパッケージを使用できます。以下に、FFmpegを使用してファイルをマージするサンプルコードを示します。

package main

import (
	"fmt"
	"log"
	"os/exec"
)

func main() {
	// 输入文件列表
	files := []string{"input1.mp4", "input2.mp4", "input3.mp4"}

	// 输出文件名
	outputFile := "output.mp4"

	// 构造FFmpeg命令
	ffmpegCmd := exec.Command("ffmpeg")

	// 添加输入文件参数
	for _, file := range files {
		ffmpegCmd.Args = append(ffmpegCmd.Args, "-i", file)
	}

	// 添加合并参数
	ffmpegCmd.Args = append(ffmpegCmd.Args, "-filter_complex", fmt.Sprintf("concat=n=%d:v=1:a=1[outv][outa]", len(files)), "-map", "[outv]", "-map", "[outa]", outputFile)

	// 执行命令
	err := ffmpegCmd.Run()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("合并完成")
}

このサンプルでは、まず入力ファイルのリストと出力ファイル名を定義しました。次に、FFmpeg コマンドを構成し、os/exec パッケージを使用して cmd オブジェクトを作成しました。次に、入力ファイルのリストを繰り返し処理して、各ファイルをパラメータとして追加します。最後に、マージパラメータが追加され、コマンドが実行されました。コマンドの実行が成功すれば、マージは完了です。

FFmpeg がシステムにインストールされており、コマンドが環境変数に設定されていることを確認してください。

bannerAds