映像を挿入して動画時間を伸ばすことができる tpad フィルタの使い方。映像のフレームレートに合わせるのでフレーム数、時間の指定だけでよい。映像時間が伸びるので音声時間と合わなくなるときは -shortest をつけると短い方でカットされる。

音声も時間を延ばすには、
音声の先頭に無音を挿入する adelay
音声の最後に無音を挿入する apad

基本コマンド

映像の最初に100フレーム真っ黒な映像を挿入する。
ffmpeg -i input -vf tpad=start=100 -c:a copy output

映像の最初に10秒間、真っ白な映像を挿入する。
ffmpeg -i input -vf tpad=start_duration=10:color=white -c:a copy output

映像の最後に50フレーム、最後のフレームをコピーする。
ffmpeg -i input -vf tpad=stop=50:stop_mode=clone -c:a copy output

公式ドキュメント:FFmpeg Filters Documentation : tpad

オプション

  • start[int]
    映像の最初に挿入されるフレーム数
    既定値:0
    範囲:0 から INT_MAX まで
  • stop[int]
    映像の最後に挿入されるフレーム数。-1 は無限に挿入
    既定値:0
    範囲:-1 から INT_MAX まで
  • start_mode[int]
    最初に挿入される映像の種類の指定
    • 0, add:color で指定した色。既定値
    • 1, clone:最初のフレーム
  • stop_mode[int]
    最後に挿入される映像の種類の指定
    • 0, add:color で指定した色。既定値
    • 1, clone:最後のフレーム
  • start_duration[duration]
    映像の最初に挿入される時間
    既定値:0
  • stop_duration[duration]
    映像の最後に挿入される時間
    既定値:0
  • color[color]
    add で指定する色。16進数のrrggbb形式か、色名を指定

3 thoughts on “映像の前後にフレームを挿入する tpad

  • 山田

    ffmpeg -i input.mp4 -an -filter_complex “[0:v]setpts=PTS/2.000[v0];[v0]tpad=’stop_duration=1′” output.mp4

    上記のように指定した場合、
    まず、元動画の倍速の映像が流れ、次に元動画の半分の時間の黒画面が流れ、
    最後にstop_durationで指定した時間分の黒画面が流れます。

    希望の結果としては、
    まず、元動画の倍速の映像が流れ、次にstop_durationで指定した時間分の黒画面が流れて欲しいのですが、tpadで行うことは無理なのでしょうか?

    お手数おかけいたしますがご教示ください。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)