縦型動画への変換前後の比較。左が 16:9 の横長映像、右は 9:16 に切り出した縦長の状態

左が 16:9 の元映像、右が crop=ih*9/16:ih,scale=1080:1920 で 9:16 に切り出した出力。左右が大きく失われることが見て取れます。

素材: Big Buck Bunny © Blender Foundation, CC BY 3.0

この記事でわかること

  • 横動画(16:9)を縦動画(9:16)に変換する方法
  • 中央クロップ(crop)で縦動画を切り出す方法
  • 黒帯(pad)や背景でパディングする方法
  • ぼかし背景付きで縦動画に変換する方法
  • Instagram Reels / TikTok向けの推奨解像度設定

動作確認: FFmpeg 8.1 / Windows — 本記事のコマンド 3 件を検証スクリプトで実行し、全て成功しました(2026-09-06) 対象 OS: Windows / macOS / Linux


縦動画フォーマットの基本

項目
アスペクト比 9:16
解像度(標準) 1080×1920 px
解像度(最小) 540×960 px
フレームレート 24〜60fps

方法1: 中央クロップ(crop)

横動画から中央を縦動画サイズで切り出します。被写体が中央にある場合に最適です。

1920×1080 → 1080×1920 中央クロップ

まず高さを1920にスケールアップし、そこから幅1080で中央クロップします:

ffmpeg -i input.mp4 -vf "scale=-1:1920,crop=1080:1920:(iw-1080)/2:0" output_vertical.mp4

横動画から9:16サイズを中央で切り出す(スケールなし)

1920×1080の動画から中央の1080×1080を切り出し、縦長にする場合:

ffmpeg -i input.mp4 -vf "crop=1080:1080:(iw-1080)/2:(ih-1080)/2,scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(1080-iw)/2:(1920-ih)/2" output_vertical.mp4

方法2: 黒帯パディング(pad)

動画全体を縮小して上下に黒帯を加えます。全体が見えますが黒帯が目立ちます。

横動画を縦フォーマットに黒帯付きで収める

ffmpeg -i input.mp4 -vf "scale=1080:-2,pad=1080:1920:0:(1920-ih)/2:black" output_padded.mp4

カラー背景でパディング

ffmpeg -i input.mp4 -vf "scale=1080:-2,pad=1080:1920:0:(1920-ih)/2:color=0x1a1a2e" output_padded_color.mp4

方法3: ぼかし背景パディング(推奨)

元の動画をぼかして背景に使い、その上に元の動画を重ねます。黒帯がなく視覚的に自然です。

ffmpeg -i input.mp4 -filter_complex "[0:v]scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920,boxblur=20:3[bg];[0:v]scale=1080:-2[fg];[bg][fg]overlay=(W-w)/2:(H-h)/2[out]" -map "[out]" -c:v libx264 -b:v 8M -pix_fmt yuv420p -c:a copy output_blur_bg.mp4

この方法の処理の流れ:

  1. [bg]: 元動画を1080×1920に引き伸ばし(アスペクト比無視)、ぼかし背景を作成
  2. [fg]: 元動画を幅1080に縮小(アスペクト比維持)
  3. overlay: ぼかし背景の上に中央配置で合成

方法4: 特定位置でのクロップ

被写体が中央でない場合、クロップ位置を調整します。

x 座標を数値で当てるのはエンコードし直しながらの試行錯誤になりがちです。先に構図だけ決めたい場合は動画クロップツールでプレビュー上の矩形をドラッグし、確定した座標を下のコマンドに写すと 1 回のエンコードで済みます。

左側を優先してクロップ(x=0)

ffmpeg -i input.mp4 -vf "scale=-1:1920,crop=1080:1920:0:0" output_left.mp4

右側を優先してクロップ

ffmpeg -i input.mp4 -vf "scale=-1:1920,crop=1080:1920:iw-1080:0" output_right.mp4

任意のx座標でクロップ

ffmpeg -i input.mp4 -vf "scale=-1:1920,crop=1080:1920:300:0" output_custom.mp4

アスペクト比を正確に確認する

ffmpeg -i input.mp4 -vf "crop=iw:ih*9/16:(iw-iw)/2:(ih-ih*9/16)/2" output.mp4

音声を維持する

すべてのコマンドで -c:a copy または -c:a aac -b:a 256k を追加することで音声を保持できます:

ffmpeg -i input.mp4 -vf "scale=-1:1920,crop=1080:1920:(iw-1080)/2:0" -c:v libx264 -b:v 8M -pix_fmt yuv420p -c:a aac -b:a 256k output_vertical.mp4

crop フィルタの基本構文

crop=w:h:x:y
パラメータ 説明
w 切り出す幅
h 切り出す高さ
x 切り出し開始位置(左から)
y 切り出し開始位置(上から)

iw(元の幅)、ih(元の高さ)などの変数が使用できます。


関連記事


動作確認: FFmpeg 8.1 / Windows — 本記事のコマンド 3 件を検証スクリプトで実行し、全て成功しました(2026-09-06) 一次ソース: ffmpeg.org/ffmpeg-filters.html#crop / ffmpeg.org/ffmpeg-filters.html#pad


よくある質問

TikTok の推奨解像度は?

1080×1920(9:16)が最も無難です。TikTok 側で再エンコードされるため、ビットレートは 5〜8 Mbps で十分です。

横動画を縦に変換すると画質が落ちる?

解像度が下がる方向(クロップ)なら劣化はほぼ無視できます。逆に上下に黒帯を付けて 9:16 にする方法は推奨しません — 視聴体験が悪くなります。

iPhone で撮った縦動画が横向きで再生される

iPhone は撮影時に「回転メタデータ」を埋め込みます。一部のプレーヤーがこれを読まずに横向き再生します。ffmpeg -i in.mov -metadata:s:v rotate=0 -vf transpose=1 out.mp4 で物理回転して保存するのが確実です。

YouTube Shorts と TikTok で別々に作るべき?

基本同じファイルで OK です。両プラットフォームとも 1080×1920 推奨で、長さ上限が違うだけ(Shorts 最大3分(2024年後半に60秒から拡大) / TikTok 10分)。動画の長さで使い分けてください。

Reels と Shorts はどちらにアップが先?

プラットフォームの「最初の投稿者」を判定するアルゴリズムがあるため、メインプラットフォームに先にアップして、他はあとで投稿することをおすすめします。