FFmpeg Cookbook
EN

ループ&ブーメラン動画

動画を何回か繰り返すループ動画や、再生と逆再生を続けるブーメラン動画を作ります。処理はブラウザの中で行います。

動画はサーバーに送られません
動画をドラッグ&ドロップ、またはタップして選択
MP4 / MOV / WebM ほか、最大 100MB
—
—
ループはクリップ全体を繰り返します(出力は最大60 秒)。ブーメランは順再生のあと逆再生する(ミュート)モードで、逆再生は全フレームをメモリにバッファするため短い入力(10 秒以下)が必要です。
処理中… 0%

対応する FFmpeg コマンド

現在の設定に対応するコマンドラインです。設定を変えるとリアルタイムで更新されます。

ffmpeg -stream_loop 1 -i input.mp4 -t 60 -map "0:v:0?" -map "0:a:0?" -c:a aac -b:a 128k -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset veryfast -crf 23 -pix_fmt yuv420p -movflags +faststart output.mp4

使い方

  1. 動画をドロップ100MB までの短い動画を選びます。ブーメランは 10 秒以下の動画でだけ作れます。
  2. モードを選ぶループは同じ動画を繰り返し、ブーメランは再生のあとに逆再生します。
  3. オプションを設定ループでは、繰り返し回数と、音声を残すかどうかを選びます。
  4. 作成してダウンロード「ループを作成」(ブーメランでは「ブーメランを作成」)を押し、再生して確かめてから MP4 をダウンロードします。

うまくいかないとき

ブーメランが失敗する・メモリ不足になる

原因:逆再生では、動画のすべてのフレームをメモリにためてから並べ替えるため、ブラウザのタブには重い処理です。

対処:10 秒以下の動画を使います。長い場合は、先にトリミングします。

ループが思ったより短い

原因:ループの出力は最長 60 秒で、それを超える分は切れます。

対処:指定した回数をすべて入れたいときは、短い動画を使うか、繰り返し回数を減らします。

ブーメランに音が無い

原因:逆再生した音は不自然になるため、ブーメランは音なしで書き出します。

対処:音が必要なら、あとから「BGM追加・音声ミックスツール」で音楽を足します。

よくある質問

ループとブーメランの違いは?

ループは動画全体を頭から指定の回数だけ再生します。ブーメランは再生したあとすぐに逆再生し、行って戻る動きを作ります。

なぜブーメランはミュートなの?

逆再生した音は不自然に聞こえるため、ブーメランは音なしで書き出します。音が必要なら、あとから音楽を足します。

なぜブーメランは短尺限定なの?

逆再生では、動画のすべてのフレームをメモリにためます。ブラウザで使えるメモリには限りがあるので、ブーメランの入力は 10 秒までにしています。

動画はアップロードされますか?

いいえ。すべて ffmpeg.wasm でブラウザの中で処理し、ファイルは外部に送りません。

くわしい説明(設定の意味・制限・FFmpeg のコマンド)

設定の意味

モード
ループ=動画を頭から繰り返します。ブーメラン=再生したあとに逆再生します。ブーメランは 30fps で、1280×720 に収まる大きさに縮小・拡大します。
繰り返し回数(ループのみ)
全体で何回再生するかです(2 回・3 回・5 回)。出力は 60 秒を超えた分が切れます。
音声(ループのみ)
ループの音声を残すか(AAC 128 kbps)、ミュートにします。ブーメランは常に音なしです。

使えるブラウザと制限

  • ループの出力は最長 60 秒、ブーメランの入力は最長 10 秒です(逆再生は多くのメモリを使います)。入力は 100MB までです。
  • ブーメランは常に音なしです。

同じ処理を FFmpeg のコマンドで

クリップを3回ループ(最長60秒)
ffmpeg -stream_loop 2 -i in.mp4 -t 60 -map 0:v:0? -map 0:a:0? -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset veryfast -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart out.mp4
-stream_loop 2 は「さらに 2 回読む」という意味で、合わせて 3 回再生します。scale は幅と高さを偶数にそろえる指定です。
ブーメラン(順+逆、ミュート)
ffmpeg -i in.mp4 -filter_complex "[0:v]fps=30,scale=1280:720:force_original_aspect_ratio=decrease:force_divisible_by=2,setpts=PTS-STARTPTS,split[f][b];[b]reverse,setpts=PTS-STARTPTS[r];[f][r]concat=n=2:v=1:a=0,format=yuv420p[v]" -map "[v]" -an -c:v libx264 -preset veryfast -crf 24 -movflags +faststart out.mp4
force_divisible_by=2 がないと、縦長の動画では幅が奇数(1080×1920 なら 405)になることがあり、4:2:0 の H.264 では書き出せません。