ホームページ  >  記事  >  バックエンド開発  >  Golang と FFmpeg を使用してビデオ画像を回転するためのヒント

Golang と FFmpeg を使用してビデオ画像を回転するためのヒント

王林
王林オリジナル
2023-09-29 19:25:50642ブラウズ

Golang と FFmpeg を使用してビデオ画像を回転するためのヒント

Golang と FFmpeg を使った動画画面回転テクニック

現代社会において、動画は人々の日常生活に欠かせないものとなっています。ただし、場合によっては、ビデオ画面の回転など、ビデオに対して何らかの処理を実行する必要がある場合があります。この記事では、Golang と FFmpeg を使用してビデオ画像の回転を実現し、具体的なコード例を示します。

まず、FFmpeg がシステムにインストールされていることを確認する必要があります。 FFmpeg をインストールしていない場合は、公式 Web サイト (https://ffmpeg.org/) などからインストールできます。

次に、Golang を使用してコードを記述し、最初に関連する依存関係パッケージをインストールします。コマンド ラインで次のコマンドを実行します。

go get github.com/h2non/imaginary/ffmpeg
go get github.com/h2non/imaginary/ffmpeg/builder

次に、rotate.go というファイルを作成し、次のコードを追加します。

package main

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

func main() {
    // 指定输入视频文件路径
    inputPath := "input.mp4"
    // 指定输出视频文件路径
    outputPath := "output.mp4"
    // 指定旋转角度(逆时针)
    rotateDegree := "90"

    // 构建FFmpeg命令
    cmd := exec.Command("ffmpeg", "-i", inputPath, "-vf", "transpose="+rotateDegree, outputPath)

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

    log.Println("视频旋转完成")
}

コードでは、最初にパスが指定されていることがわかります。入力ビデオ ファイルへのパスと出力ビデオ ファイルへのパス。次に、FFmpeg の -vf オプションを使用してビデオ画面を回転します (transpose オプションを使用して回転角度を指定します。ここでは、ビデオを時計回りに 90 度回転するために「90」に設定します)。

最後に、cmd.Run() を実行して FFmpeg コマンドを実行します。実行が成功すると、「ビデオの回転が完了しました」というログ出力が表示されます。

次に、回転する必要があるビデオ ファイルをrotate.go と同じディレクトリに配置し、ビデオ ファイル名を「input.mp4」に変更します。次に、コマンド ラインで次のコマンドを実行してプログラムを実行します。

go run rotate.go

プログラムは「input.mp4」ファイルを読み取り、指定された回転角度に従って処理し、最後に「output.mp4」ファイルを生成します。 mp4」ファイル。

上記の手順により、Golang と FFmpeg を使用してビデオ画面を回転することができました。もちろん、ビデオの解像度やフレームレートの調整など、特定のニーズに応じてさらに多くのパラメータを設定することもできます。

要約すると、Golang と FFmpeg は、ビデオのさまざまな処理を実行するのに役立つ非常に強力なツールです。この記事の紹介とサンプルコードを通じて、読者はこれらをより柔軟に使用し、より興味深いビデオ処理機能を実現できると思います。

以上がGolang と FFmpeg を使用してビデオ画像を回転するためのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。