📽️

複数動画を一括で10分の1くらいに圧縮する方法(Win/Mac)

2021/11/07に公開

動画圧縮したい

動画をコマンドで一括圧縮する方法です。iPhoneの動画ファイルをバックアップしたかったので、使用しました。

一言で言えば、シェルスクリプトでffmpegを使った圧縮を一括処理するだけです。WindowsでもMacでも使用可能です。

動画圧縮する方法

事前セットアップ

Windowsの場合

WSL2を使います。Windows PCのセットアップ方法は、以下記事など参照ください。

https://zenn.dev/karaage0703/articles/211d89cc0a29a1

WSL2がセットアップできたら、WSL2上で、以下コマンド実行してffmpegをインストールします。

$ sudo apt update
$ sudo apt install -y ffmpeg

Macの場合

Homebrewでffmpegをインストールします。ターミナルで以下コマンド実行してください。

$ brew install ffmpeg

Homebrewに関しては以下記事参照ください。

https://karaage.hatenadiary.jp/entry/2016/05/13/073000

圧縮する方法

WindowsのWSL2上かMacのターミナルで、動画ファイルが入ったディレクトリ上で以下コマンド実行してください。

$ wget https://raw.githubusercontent.com/karaage0703/scripts/master/compress_all_video.sh
$ ./compress_all_video.sh

outputというディレクトリが作成され、圧縮されたファイルが生成されていきます。

compress_all_video.shの中身は以下のようになっています。

#!/bin/sh
OUTPUT_DIR=output
mkdir $OUTPUT_DIR

for FILE in *.MP4
do
    ffmpeg -i "$FILE" -crf 40  "$OUTPUT_DIR/$FILE"
done

for FILE in *.MOV
do
    ffmpeg -i "$FILE" -crf 40  "$OUTPUT_DIR/$FILE"
done

-crfオプションの後の数字を小さくすると画質がよくなります(代わりに容量が大きくなります)。拡張子を増やしたい場合は、例にならってコピペしていけば良いでしょう。

まとめ

動画のバックアップ、なかなか大変ですね。容量無制限でそれなりの価格で使えるサービスがあれば良いのですが…まあすぐ破綻しそうですね。

以下ブログ記事も参照ください。

https://karaage.hatenadiary.jp/entry/2021/11/15/073000

参考リンク

https://syobochim.hatenablog.com/entry/2021/01/07/004600

https://qiita.com/ftakebayashi/items/ea3ad7021d777e9db9b3

Discussion