GolangとFFmpegでビデオクリップのトリミングを実現するテクニック
ビデオクリップをトリミングする方法に関するヒントを紹介します。GolangとFFmpegを使用。
- コマンドラインから利用できるようにFFmpegをインストールして確認ください
- Go言語でos/execパッケージを使用してFFmpegコマンドラインツールを呼び出す.
- FFmpegのコマンドラインオプションを使用して、入力ビデオファイルと出力ビデオファイルのパスを指定します。
- FFmpeg のコマンド行オプションを使用して、クリップの開始時間と持続時間を指定します。
以下に、GolangとFFmpegを使用したビデオクリップの切り出し方法を示す簡単なサンプルコードを示します。
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
inputFile := "input.mp4"
outputFile := "output.mp4"
startTime := "00:00:10"
duration := "10" // 单位为秒
// 构建FFmpeg的命令行参数
args := []string{"-i", inputFile, "-ss", startTime, "-t", duration, "-c", "copy", outputFile}
// 创建命令
cmd := exec.Command("ffmpeg", args...)
// 执行命令并等待执行完成
err := cmd.Run()
if err != nil {
fmt.Println("视频剪辑失败:", err)
os.Exit(1)
}
fmt.Println("视频剪辑成功!")
}
上記の例では、入力動画ファイルのパスと、出力動画ファイルのパスを指定しました。次に、-ssオプションを使用してクリップの開始時間を指定し、-tオプションを使用してクリップの継続時間を指定しました。最後に、-c copyオプションを使用して、元の動画のエンコードと品質を維持しつつ、切り出した動画を出力ファイルにコピーしています。
実際の使用では、クリップの開始時間や持続時間の調整、またはさらに他のFFmpegオプションを使用してビデオを処理するなど、必要に応じてコマンドラインパラメータを調整する必要があります。