FFmpegとは?
FFmpegは、オーディオ、ビデオ、イメージなどのデータを扱うためのプログラム集を提供するフリープロジェクトです。 ファイルを変換、記録、ストリーミング、再生するために使用されるツールである。
FFmpegは幅広いフォーマットとコーデックをサポートし、トランスコード、リサイズフィルター、ウォーターマークや字幕の追加、ビデオからオーディオの取得、複数のビデオまたはオーディオファイルのマージなどのタスクに使用されます。 また、WindowsではFFmpegを使ったGIFの作成、FFMPEGを使ったMP4ファイルの結合が可能です
FFmpegはメディア業界で広く使われており、Windows、macOS、Linux、Unixなど、ほとんどのOSで利用可能です。
FFmpegを使うには?
ここでは、FFmpegのよくある使用例を紹介します:
- ビデオファイルをあるフォーマットから別のフォーマットに変換する:
コード:ffmpeg -i input_video.mp4output_video.avi
このコマンドは、input_video.mp4
をoutput_video.avi
に変換します。 FFmpegは、出力形式に適したコーデックを自動的に選択します。
- 動画のリサイズを行う:
コード:ffmpeg -i input_video.mp4-vf scale=640:480 output_video.mp4
このコマンドは、input_video.mp4
を 640×480 ピクセルの解像度にリサイズし、その結果をoutput_video.mp4
に保存します。
- 動画から音声を抽出する:
コード:ffmpeg -i input_video.mp4-vn output_audio.mp3
このコマンドは、input_video.mp4
からオーディオトラックを抽出し、output_audio.mp3
に保存します。
- 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
に保存します。
- 動画に透かしを入れる:
コード: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 -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
に保存します。
- 自分の動画に画像や動画のオーバーレイを追加する:
コード: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
に保存します。
- ビデオの解像度を変更する:
コード: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 -iinput.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
は、出力ファイル名を指定する。