FFmpegで動画にテキストを追加する方法は?

涼しげなブルーの照明に包まれた洗練されたオーディオ編集スタジオ
Ffmpegを使ってビデオプロジェクトにテキストを統合する技術をマスターしよう

Transkriptor 2023-04-03

FFmpegとは?

FFmpegは 、オーディオ、ビデオ、イメージなどのデータを扱うためのプログラム集を提供するフリープロジェクトです。 ファイルを変換、記録、ストリーミング、再生するために使用されるツールである。

FFmpegは幅広いフォーマットとコーデックをサポートし、トランスコード、リサイズフィルター、ウォーターマークや 字幕の 追加、ビデオからオーディオの取得、複数のビデオまたはオーディオファイルのマージなどのタスクに使用されます。 また、WindowsではFFmpegを使ったGIFの作成、FFMPEGを使ったMP4ファイルの結合が可能です

FFmpegはメディア業界で広く使われており、Windows、macOS、Linux、Unixなど、ほとんどのOSで利用可能です。

FFmpegを使うには?

ここでは、FFmpegのよくある使用例を紹介します:

  1. ビデオファイルをあるフォーマットから別のフォーマットに変換する:

コード:ffmpeg -i input_video .mp4 output_video.avi

このコマンドは、 input_video.mp4 output_video.avi に変換します。 FFmpegは、出力形式に適したコーデックを自動的に選択します。

  1. 動画のリサイズを行う:

コード:ffmpeg -i input_video .mp4 -vf scale=640:480 output_video .mp4

このコマンドは、 input_video.mp4 を 640×480 ピクセルの解像度にリサイズし、その結果を output_video.mp4 に保存します。

  1. 動画から音声を抽出する:

コード:ffmpeg -i input_video .mp4 -vn output_audio . mp3

このコマンドは、 input_video.mp4 からオーディオトラックを抽出し、 output_audio.mp3 に保存します。

  1. 2つの動画を連結させる:

コード:ffmpeg -i input_video1 .mp4 -i input_video2 .mp4 -filter_complex concat output_video .mp4

このコマンドは、 input_video1.mp4 input_video2.mp4 を連結して、結果を output_video.mp4 に保存します。

  1. 動画に透かしを入れる:

コード:ffmpeg -i input_video .mp4 -i watermark.png -filter_complex “overlay=10:10” output_video .mp4

このコマンドは、 watermark.png の画像を input_video.mp4 の左上隅に 10 ピクセルのオフセットで追加し、結果を output_video.mp4 に保存します。

これらは、FFmpegでできることのほんの一例です。 また、AndroidでFFmpegを使用することも可能です。 詳しくは、オンラインチュートリアルや動画配信、ChatGPTのようなAIチャットボットを参考にしてください。

ffmpegのロゴ

FFmpegの便利な動画編集コマンドとは?

  1. 動画をトリミングする:

コード:ffmpeg -i input_video .mp4 -ss 00:00:05 -t 00:00:10 -c copy output_video .mp4

このコマンドは、 input_video.mp4 を、5秒後に開始し、10秒後に終了するようにトリミングし、その結果を output_video.mp4 に保存します。

  1. 自分の動画に画像や動画のオーバーレイを追加する:

コード:ffmpeg -i input_video .mp4 -i overlay_image.png -filter_complex “overlay=10:10” output_video .mp4

このコマンドは、 input_video.mp4 の座標 (10, 10) に overlay_image.png ファイルをオーバーレイとして追加し、その結果を output_video.mp4 に保存します。

  1. ビデオの解像度を変更する:

コード:ffmpeg -i input_video .mp4 -vf scale=1280:720 -c:a copy output_video .mp4

このコマンドは、 input_video.mp4 の解像度を 1280×720 ピクセルに変更し、その結果を output_video.mp4 に保存します。

  • drawtextのオプションとして、 textfile reload を追加:

コード:ffmpeg -i input.mp4 -vf “drawtext=fontfile=/path/to/font.ttf:textfile=text.txt:reload=1:fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2” -codec:a コピー output.mp4

FFmpegで動画にテキストを追加する方法は?

FFmpegで動画にテキストを追加するには、 drawtext フィルタを使用します。 drawtext フィルターでは、テキストのフォント、サイズ、色、位置などを指定することができます。

ここでは、 drawtext フィルタを使って動画にテキストを追加する基本的なコマンドを紹介します:

コード:ffmpeg -i input_video .mp4 -vf “drawtext=text=’Hello World’:fontfile=/path/to/font.ttf:fontsize=50:fontcolor=white:x=100:y=100” -codec:a コピー output_video .mp4

このコマンドでは

  • -i input_video.mp4 は、入力ビデオファイルを指定する。
  • -vf "drawtext=..." は、適用するビデオフィルタを指定します。この場合、 drawtext フィルタとなります。
  • text='Hello World' は、動画に付加するテキストを指定します。
  • fontfile=/path/to/font.ttf は、使用するフォントファイルを指定します。
  • fontsize=50 は、フォントサイズをポイント単位で指定します。
  • fontcolor=white は、文字色を指定します。
  • x=100:y=100 は、ビデオ内のテキストの位置を指定するもので、左上端を (100, 100) ピクセルとする。
  • -codec:a copy は、入力ビデオからのオーディオストリームを再エンコードせずに出力ビデオにコピーすることを指定します。
  • output_video.mp4 は、出力ビデオファイルを指定します。

Fontfileとは?

FFmpegの fontfile オプションは、ビデオや画像内のテキストをレンダリングするために使用されるフォントファイルのパスを指定するために使用します。

FFmpegの drawtext フィルタを使用してビデオにテキストを追加する場合、 fontfile オプションを指定して、テキストに使用する特定のフォントを選択することができます。

Fontfileオプションを使用せずにFFmpegコマンドにフォントを含めるには?

FFMPEGコマンドでfontfileオプションを指定せずにフォントを使用するためには、システムにインストールされているフォントを使用します。

以下は、システムにインストールされているフォントを使用するコマンドの例です:

コード:ffmpeg -i input_video .mp4 -vf “drawtext=text=’Hello World’:fontcolor=white:x=100:y=100:font=Arial” -codec:a コピー output_video .mp4

GitHubとは?

GitHubは、開発者がソフトウェアプロジェクトをホストして管理し、他の人とコラボレーションし、コードの変更を追跡して管理することを可能にするWebベースのプラットフォームです。 バージョン管理、課題追跡、コードレビュー、チームコラボレーションのためのツールを提供します。

FFmpegで “StackOverflow “テキストを追加する方法?

コード:ffmpeg -i input_video .mp4 -vf “drawtext=text=’StackOverflow’:fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100” -codec:a コピー output_video .mp4

このコマンドの様々なオプションが何をするのかを説明します:

  • -i input_video.mp4 は、入力ビデオファイルを指定する。
  • -vf "drawtext=text='StackOverflow':fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100" テキストを描画するためのビデオフィルタグラフを設定する。 このコマンドは、 /path/to/font.ttf にあるフォントファイルを使用して、座標 (100, 100) のビデオにテキスト “StackOverflow” を、フォントサイズ 30、フォント色白で描画します。
  • -codec:a copy は、入力ビデオからのオーディオストリームを再エンコードせずに出力ビデオにコピーします。
  • output_video.mp4 は、出力ビデオファイルの名前を指定します。

FFmpegのDrawtextフィルターを使ってタイムコードやタイムスタンプを表示する方法とは?

コード:ffmpeg -i input_video .mp4 -filter_complex “drawtext=fontfile=/path/to/font.ttf:text=’%{pts:hms}’:fontsize=24:fontcolor=white:x=10:y=10” -codec:a copy output_video .mp4

このコマンドの様々なオプションが何をするのかを説明します:

  • -i input_video.mp4 は、入力ビデオファイルを指定する。
  • -filter_complex は、同じコマンドで複数のフィルタを使用することができます。
  • drawtext はフィルターの名前です。
  • fontfile=/path/to/font.ttf は、使用したいフォントファイルのパスを指定します。
  • text='%{pts/:hms}' は、表示するテキストを設定します。 %{pts/:hms} はプレースホルダーで、現在のタイムコード(時:分:秒のフォーマット)に置き換えられます。
  • fontsize=24 は、フォントサイズを24に設定します。
  • fontcolor=white は、文字色を白に設定します。
  • x=10 y=10 で、動画上のテキストの位置を設定します。
  • -codec:a copy は、入力ビデオからのオーディオストリームを再エンコードせずに出力ビデオにコピーします。
  • output_video.mp4 は、出力ファイル名を指定する。

音声テキスト変換

img

Transkriptor

オーディオファイルやビデオファイルをテキストに変換する