ffmpegでtimelapse動画を生成する
08-08-2023
フリーだけど高機能なffmpegでtime lapseな動画を作成してみました。
コマンドはこんな感じです。
ffmpeg -i audio-shop.mp4 -r 30 -filter:v "setpts=0.06667*PTS" -vcodec libx264 -an timelapse.mp4
コマンドの各部分はこんな感じ:
ffmpeg
:ffmpeg
コマンドを実行するための開始部分-i audio-shop.mp4
: 入力としてaudio-shop.mp4
というファイル名の動画ファイルを指定-r 30
: 出力動画のフレームレートを30fpsに設定-filter:v "setpts=0.06667*PTS"
: フレームの再生速度を変更するためのフィルターを適用
ここでは、元の動画の15倍の再生速度でtimelapseしています。-vcodec libx264
: 出力動画のビデオコーデックをlibx264
に設定-an
: 音声ストリームを無効にします(音声なしで出力動画を作成)timelapse.mp4
: 出力ファイルの名前をtimelapse.mp4
に指定
某所のストリーミングデータを変換してもほとんど動きが無いのでわかりやすいようにネットから拾ってきた香港映画「無間道」の1シーンを変換してみました。
向かって左がオリジナル動画、そして右が上のコマンドで生成したtimelapse動画です。
ストリーミングデータを直接timelapse動画として保存するときは上のコマンドの audio-shop.mp4という元ファイルの部分をURLに置き換えてやればokです。
ENJOY!