FFmpeg(エフエフエムペグ)を使って4Kサイズで撮った動画を一気にリサイズする

カメラの性能も上がり、4Kサイズで撮影できるビデオも普及し始めました。
しかし、4Kサイズで撮るメリットってあんまりない気はするんですよね

サイズの比較
・4K   ・・・ 3840 * 2160
・フルHD ・・・ 1920 * 1080
・HD   ・・・ 1280 * 720

スマホやタブレットで見るならHDサイズでも十分耐えうる解像度です。
ブルーレイに焼いて綺麗に見たいという人もいるでしょうが、大多数の人が望んでるのかなと
強いて言えば、動画編集(フルHDサイズ)する際に4Kサイズだからこそ部分的な拡大をしても画質が荒れないというメリットは大きいです。

でも、動画編集をする際に4Kサイズのメリットに助かる場面などほぼなく、無駄に容量が大きく編集作業も時間が掛かるというデメリットの方が大きくなってしまいます。
それでも撮影時は4Kサイズで撮っておきたいですよね。

AdobeのCreative Cloudに入っていれば、Media Encoderを使って一括で動画のサイズを小さくできますが、なんたって高価です。
そこで、FFmpegを使ってバッチ処理で一括でリサイズしてしまいましょう。

FFmpegのインストールは前回の記事を参照してください。
FFmpeg(エフエフエムペグ)を使って普通に撮った動画ファイルをタイムラプス風に変換する

【フォルダに対象ファイルを入れる】

今回もデスクトップ上に『movie』というフォルダを作って、その中で動かします。
デスクトップ上に『movie』というフォルダを作って、その中に変換したいファイルを設置します

2.19GBのファイルもありますね。
このファイルの記録時間って5分程度なんです。
30分回し続けると15GBぐらいいってしまいます。

次はシェルスクリプトファイルを作ります。
ターミナルを立ち上げて、

処理の中身は
・対象フォルダ内のMP4ファイルを全て検索
・元のファイル名を取得
・FFmpegを使ってサイズをフルHD(1920)サイズへリサイズ
・リサイズしたファイル名は末尾に _sizedown を付ける

FFmpegのコマンドで -vf scale=1920:-1 とあるのがサイズ変更のコマンドです。
横幅や高さに合わせてアスペクト比キープできるで、サイズ変更には便利なコマンドです。
今回は横を1920と指定して、高さはアスペクト比キープで調整されています。

気をつけないといけないのが、幅が1920以下のファイルが存在しているとサイズを拡大することになってしまいます。
画質が粗くなることになりますのでファイルの設置時には気をつけてください。

シェルスクリプトファイルを保存したら実行です

ファイル分だけ処理がループします。

完了したフォルダを見ると

1920サイズへ変換

ファイルの容量がかなり少なくなったのが分かりますね。

もう1つ小さく1280サイズに変換した場合は
1280サイズへ変換

2.19GB が 95MBになています!

驚異的な容量削減です。
画質は落ちますが、編集時にはこのファイルを使うとエンコード時間が減るので助かります。
4Kサイズでないとダメな部分には4Kサイズを使用して、その他は書き出しサイズに落としたファイルを使うほうがよさそうです。