†ぽんこつビデオ工房†

画面の切り抜き 16:9⇔4:3変換とL字帯除去

作成開始日 2018.10.12
最終更新日

ffmpegによるクロップの書式
ffmpeg -i inpfile -vf crop="横サイズ:縦サイズ:横起点;縦起点" outfile
-vf crop= :ビデオフィルターのクロップ(切り抜き)を指定
横サイズ、縦サイズ :切り抜く画像のサイズ
横起点、縦起点 :左上を原点としたオフセット(左からの距離、上からの距離)

ワイド放送で放映されるアナログ時代の作品の左右の黒帯をカット

元サイズを720x480とし、左右90ずつの黒帯を取り除く場合

ffmpeg -i inpfile -vf crop="540:480:90:0" -aspect 4:3 outfile
540:切り抜き後の横サイズ;720-90-90=540
480:切り抜き後の縦サイズ;元のまま
90:横方向の切り抜きの開始位置;黒帯の幅は90なので(正確には91を指定すべき?)
0:縦方向の切り抜きの開始位置;縦方向はいじらないので

以下のような指定が現実的。ピクセルサイズは540×480ではなく、640×480の方がキリが良いし、アスペクト比とも一致する。また、ff-mpeg4/q0ならばほぼ無劣化で変換可能。

ffmpeg -i inpfile -vf crop="540:480:90:0" -s 640x480 -aspect 4:3 -vcodec mpeg4
 -qscale 0 outfile

アナログ時代に放映されていたワイド放送の上下の黒帯をカット

元ファイルは352×480(LPモード)とし、上下64ドットずつの黒帯を取り除く。今回は切り抜き後のピクセルサイズが352×352の正方形になるので、ちょっと混乱しやすい。

ffmpeg -i inpfile -vf crop="352:352:0:64" -aspect 16:9 outfile
1番目の352:切り抜き後の横サイズ;元のまま
2番目の352:切り抜き後の縦サイズ:480-64-64=352
0:横方向の切り抜きの開始位置;横方向はいじらない
64:縦方向の切り抜きの開始位置;上側の黒帯の幅(これも正確には65?)

これに関しても、352×352ではなく、360×360や640×360で保存する方が便利かも。

災害情報等のL字帯をカットする

元サイズを720×480、帯のサイズは左から98ドット、下から70ドットとする。切り取り後のサイズは622×410となる((720-98)×(480-70))。

ffmpeg -i inpfile -vf crop="622:410:98:0" outfile
622:切り取り後の横サイズ;720-98=622
410:切り取り後の縦サイズ;480-70=410
98:横方向の切り抜きの開始位置;左から98ドット
0:縦方向の切り抜きの開始位置;上側には帯はないので

L字帯の場合は縦横両方向に切り抜きが必要になる上に、切り抜き後のサイズの比率が半端で、再生時に支障が出ることもある。たとえば、上記の指定そのままでは、端に緑帯が出ることがある。また、622×410は縦横比1.517で、元の720×480の1.500よりも若干大きい。元の1.5の比率にするなら、横サイズは622ではなく、615とすべきだろう。また、横サイズを8の倍数にするなら、616とすべきだろう。横サイズは微妙な問題があるので616や620も試してみると良い。こうした問題を最少限に抑えるためにも、サイズとアスペクト比は明示的に指定すること。

ffmpeg -i inpfile -vf crop="622:410:98:0" -s 720x480 -aspect 16:9 outfile


【ぽんこつビデオ工房目次】 【ホーム】