FFMPEGで動画に文字を重ねるときに、文字を表示する時間を指定する

FFMPEGを使うことで、動画に簡単に文字を重ねることができます。

ただし、何もオプションを指定せずにFFMPEGで文字を重ねた場合、その文字は動画の最初から最後までずっと入ってしまいます。

そのような用途でも良いケースもあれば、文字は特定の時間だけ表示されれば良いというケースもあるでしょう。

今回は後者の需要において、特定の時間だけ文字を重ねる方法を紹介します。

すなわち、例えば「動画が始まってから開始10秒の地点から30秒間だけ文字を重ねる(それ以外の時間には文字を重ねない)」ということができるようになります。

それでは、早速やり方を確認してみましょう。

FFMPEGの実行バイナリファイルの入手に関しましては、もし入手方法がわからないという方がいらっしゃいましたら、以下の記事を参考にしてみてください。

FFMPEGは画像・動画や音声の記録・変換などが可能なフリーソフトで、コマンドラインから使用することができます。 グラフィカルなイ...

FFMPEGで動画に文字を重ねるときに、文字を表示する時間を指定する

実施したいことを実現できるFFMPEGのコマンドは以下となります。

ポイントについて説明します。

  • 今回の機能を実現するポイントは「enable=’between(t,1,8)’」の箇所です。これにより、動画内の1秒~8秒の時間内のみ、指定したテキストを重ねることができます。他の時間では、テキストは表示されません。
  • 「x=40:y=40」で、文字の重ねる位置を指定できます。x及びyは動画の左上を(0,0)としたときの座標位置です。
  • 「fontsize=64」で、文字の大きさを指定できます。
  • 「fontcolor=blue」で、文字色を指定できます。この場合は青になります。
  • 「text=’test’」で、”test”という文字を重畳します。
  • 「fontfile=C\\://WINDOWS/Fonts/arial.ttf」でフォント「arial」を指定します。フォントについては、Windows10の私の環境では記述の場所にありましたが、環境によって異なるかもしれないため、フォントファイルがある場所を指定してください。フォントのファイルは以下の画像のようなデータです。

動画を出力すると、動画の最初は文字が表示されていませんでしたが、指定した1秒が経過すると、以下のように左上にウィンドウ付きで「test」の文字が入りました。

これにより、動画の指定した時間のみ、テキストを重ねることができるようになりました。

まとめ

今回は、FFMPEGで動画にテキストを重ねる際に、一部の時間だけテキストを重ねる方法を紹介しました。これにより、さらに柔軟な動画編集を行えるようになります。

スポンサーリンク

シェアする

フォローする