GolangとFFmpegを活用した動画の画面回転テクニック
ffmpeg コマンドラインツールを呼び出すには、Go の os/exec パッケージを使用して Golang と FFmpeg でビデオの回転を実装する必要があります。以下は、入力ビデオファイルを 90 度回転させて新しいファイルとして出力するサンプルコードです。
package main
import (
"log"
"os"
"os/exec"
)
func main() {
inputFile := "input.mp4"
outputFile := "output.mp4"
// 构建FFmpeg命令
cmd := exec.Command("ffmpeg", "-i", inputFile, "-vf", "transpose=1", "-c:a", "copy", outputFile)
// 执行命令并等待完成
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
log.Println("视频旋转完成")
}
上のコード例では、-vf transpose=1オプションを使用して、90度回転のフィルタ処理を設定しています。他の回転角度も必要に応じてフィルタパラメータを調整することで実現できます。
FFmpegをインストールし、実行ファイルパスをシステム環境変数に追加していることを確認してください。インストールしていない場合は、FFmpegの公式サイトからダウンロードしてインストールしてください。
input.mp4からソース映像ファイルを読み取り、処理済みの映像をoutput.mp4として保存します。
大容量の動画ファイルの処理には、システムのパフォーマンスや動画ファイルのサイズにもよりますが、時間がかかる場合がありますのでご注意ください。