Golang と FFmpeg を使用してビデオ字幕を追加する
字幕は重要なビデオ要素であり、特に国境を越えて視聴者がビデオ コンテンツをより深く理解できるようになります。音声コミュニケーションや聴覚障害のある人々にとって重要な役割を果たします。この記事では、GolangとFFmpegを使って動画に字幕を追加する方法を紹介します。
まず、字幕を追加するビデオ ファイルと字幕ファイルの形式を明確にする必要があります。ここでは、一般的なビデオ形式 MP4 と字幕形式 SRT を例に説明します。
最初のステップは、FFmpeg をインストールして構成することです。 FFmpeg は、字幕の追加などのさまざまな操作をコマンド ラインで実行できるオープン ソースのビデオ処理ツールです。インストール パッケージとインストール ガイドは、FFmpeg の公式 Web サイトにアクセスして入手できます。
インストールが完了したら、FFmpeg を呼び出してビデオ字幕を追加する Golang コードの作成を開始できます。まず、os/exec パッケージとログ パッケージを Go プロジェクトに導入する必要があります。
import (
"log" "os/exec"
)
次に、FFmpeg コマンドを実行する関数を定義します。この関数は、ビデオ ファイル パス、字幕ファイル パス、および出力ファイル パスをパラメータとして受け取ります。
func addSubtitleToVideo(videoPath string,subtitlePath string,outputPath string) {
cmd := exec.Command("ffmpeg", "-i", videoPath, "-vf", "subtitles="+subtitlePath, outputPath) err := cmd.Run() if err != nil { log.Fatal(err) }
}
関数では、exec パッケージの Command メソッドを使用してコマンドを作成しますオブジェクトを指定し、FFmpeg のコマンド ライン パラメータを設定します。ここでのパラメータには、入力ビデオ ファイル パス (-i オプション)、字幕ファイル パス (-vf オプション)、および出力ファイル パスが含まれます。
最後に、cmd の Run メソッドを呼び出してコマンドを実行します。コマンド実行時にエラーが発生した場合は、ログパッケージのFatalメソッドを使用してエラーメッセージを出力し、プログラムを終了します。
次に、main 関数で addSubtitleToVideo 関数を呼び出して、ビデオ字幕を追加します。
func main() {
videoPath := "/path/to/video.mp4" subtitlePath := "/path/to/subtitles.srt" outputPath := "/path/to/output.mp4" addSubtitleToVideo(videoPath, subtitlePath, outputPath)
}
main 関数では、ビデオ ファイル パス、字幕ファイル パス、出力ファイル パスを指定して、addSubtitleToVideo メソッドを呼び出すだけです。関数 。
最後に、コマンド ラインで go run コマンドを実行して、プログラムをコンパイルして実行する必要があります。
$ go run main.go
プログラムが実行されると、字幕を含む新しいビデオ ファイルが生成されます。
要約:
Golang と FFmpeg を使用すると、ビデオ字幕を簡単に追加できます。わずか数行のコードで、FFmpeg コマンドを呼び出してビデオ ファイルを処理し、指定した場所に字幕を追加できます。
もちろん、これは単なる単純な例です。実際のアプリケーションでは、字幕の色やフォントサイズの設定など、必要に応じてより複雑な操作を実行できます。具体的な操作については、関連ドキュメントやFFmpegの情報を参照してください。
この記事が、Golang と FFmpeg を使用してビデオ字幕を追加する方法を理解するのに役立つことを願っています。ご質問やご不明な点がございましたら、お気軽にお問い合わせください。読んでくれてありがとう!
以上がGolang と FFmpeg を使用してビデオ字幕を追加するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。