【ffmpeg】動画の解像度を指定してリサイズ、アスペクト比を維持したまま解像度を変更する、回転する

# 概要

- ffmpegで動画のアスペクト比を維持したまま縮小（拡大）する方法
- ffmpegで動画の解像度を指定しリサイズ(サイズを変更)する方法

## アスペクト比を維持したままリサイズ

自動で設定したいほうに ``-1`` をセットする

**例**
動画の横幅(width)を 1280 にする。高さ(height)はアスペクト比を維持して自動で設定する

```
ffmpeg -i in.mp4 -vf scale=1280:-1 out.mp4
```

**例**
動画の高さ(height)を 720 にする。横幅(width)はアスペクト比を維持して自動で設定する

```
ffmpeg -i in.mp4 -vf scale=-1:720 out.mp4
```


## 解像度(width x height)を指定する

**例**
動画のサイズを 1280x720 にする

```
ffmpeg -i in.mp4 -s 1280x720 out.mp4
```

### 16:9の代表的解像度
<table>
<tr><td>通称</td><td>width(px)</td><td>height(px)</td><td>ffmpegオプション</td></tr>
<tr><td>8K</td><td x:num="">7680</td><td x:num="4320">4320</td><td x:fmla="=&quot;-s &quot;&amp;B2&amp;&quot;x&quot;&amp;C2">-s 7680x4320</td></tr>
<tr><td>4K</td><td x:num="">3840</td><td x:num="2160">2160</td><td x:fmla="=&quot;-s &quot;&amp;B3&amp;&quot;x&quot;&amp;C3">-s 3840x2160</td></tr>
<tr><td>WQHD</td><td x:num="">2560</td><td x:num="1440">1440</td><td x:fmla="=&quot;-s &quot;&amp;B4&amp;&quot;x&quot;&amp;C4">-s 2560x1440</td></tr>
<tr><td>FHD</td><td x:num="">1920</td><td x:num="1080">1080</td><td x:fmla="=&quot;-s &quot;&amp;B5&amp;&quot;x&quot;&amp;C5">-s 1920x1080</td></tr>
<tr><td>WXGA++</td><td x:num="">1600</td><td x:num="900">900</td><td x:fmla="=&quot;-s &quot;&amp;B6&amp;&quot;x&quot;&amp;C6">-s 1600x900</td></tr>
<tr><td>HD</td><td x:num="">1280</td><td x:num="720">720</td><td x:fmla="=&quot;-s &quot;&amp;B7&amp;&quot;x&quot;&amp;C7">-s 1280x720</td></tr>
<tr><td></td><td x:num="">1024</td><td x:num="576">576</td><td x:fmla="=&quot;-s &quot;&amp;B8&amp;&quot;x&quot;&amp;C8">-s 1024x576</td></tr>
<tr><td></td><td x:num="">768</td><td x:num="432">432</td><td x:fmla="=&quot;-s &quot;&amp;B9&amp;&quot;x&quot;&amp;C9">-s 768x432</td></tr>
<tr><td></td><td x:num="">640</td><td x:num="360">360</td><td x:fmla="=&quot;-s &quot;&amp;B10&amp;&quot;x&quot;&amp;C10">-s 640x360</td></tr>
<tr><td></td><td x:num="">480</td><td x:num="270">270</td><td x:fmla="=&quot;-s &quot;&amp;B11&amp;&quot;x&quot;&amp;C11">-s 480x270</td></tr>
<tr><td></td><td x:num="">320</td><td x:num="180">180</td><td x:fmla="=&quot;-s &quot;&amp;B12&amp;&quot;x&quot;&amp;C12">-s 320x180</td></tr>
<tr><td></td><td x:num="">160</td><td x:num="90">90</td><td x:fmla="=&quot;-s &quot;&amp;B13&amp;&quot;x&quot;&amp;C13">-s 160x90</td></tr>
</table>

### 4:3の代表的解像度

<table>
<tr><td>通称</td><td>width(px)</td><td>height(px)</td><td>オプション</td></tr>
<tr><td>QUXGA</td><td x:num="">3200</td><td x:num="2400">2400</td><td x:fmla="=&quot;-s &quot;&amp;B2&amp;&quot;x&quot;&amp;C2">-s 3200x2400</td></tr>
<tr><td>QXGA</td><td x:num="">2048</td><td x:num="1536">1536</td><td x:fmla="=&quot;-s &quot;&amp;B3&amp;&quot;x&quot;&amp;C3">-s 2048x1536</td></tr>
<tr><td>UXGA</td><td x:num="">1600</td><td x:num="1200">1200</td><td x:fmla="=&quot;-s &quot;&amp;B4&amp;&quot;x&quot;&amp;C4">-s 1600x1200</td></tr>
<tr><td>QVGA</td><td x:num="">1280</td><td x:num="960">960</td><td x:fmla="=&quot;-s &quot;&amp;B5&amp;&quot;x&quot;&amp;C5">-s 1280x960</td></tr>
<tr><td>XGA</td><td x:num="">1024</td><td x:num="768">768</td><td x:fmla="=&quot;-s &quot;&amp;B6&amp;&quot;x&quot;&amp;C6">-s 1024x768</td></tr>
<tr><td>SVGA</td><td x:num="">800</td><td x:num="600">600</td><td x:fmla="=&quot;-s &quot;&amp;B7&amp;&quot;x&quot;&amp;C7">-s 800x600</td></tr>
<tr><td>VGA</td><td x:num="">640</td><td x:num="480">480</td><td x:fmla="=&quot;-s &quot;&amp;B8&amp;&quot;x&quot;&amp;C8">-s 640x480</td></tr>
<tr><td>QVGA</td><td x:num="">320</td><td x:num="240">240</td><td x:fmla="=&quot;-s &quot;&amp;B9&amp;&quot;x&quot;&amp;C9">-s 320x240</td></tr>
<tr><td>QQVGA</td><td x:num="">160</td><td x:num="120">120</td><td x:fmla="=&quot;-s &quot;&amp;B10&amp;&quot;x&quot;&amp;C10">-s 160x120</td></tr>
</table>

## 映像を回転角度を指定して回転する

・180度回転する

```
ffmpeg -i in.mp4 -vf "rotate=180*PI/180" out.mp4
```

・90度右回転（時計回り）する

```
ffmpeg -i in.mp4 -vf "rotate=90*PI/180" out.mp4
```

・90度左回転（反時計回り）する

```
ffmpeg -i in.mp4 -vf "rotate=-90*PI/180" out.mp4
```