📽️
複数動画を一括で10分の1くらいに圧縮する方法(Win/Mac)
動画圧縮したい
動画をコマンドで一括圧縮する方法です。iPhoneの動画ファイルをバックアップしたかったので、使用しました。
一言で言えば、シェルスクリプトでffmpegを使った圧縮を一括処理するだけです。WindowsでもMacでも使用可能です。
動画圧縮する方法
事前セットアップ
Windowsの場合
WSL2を使います。Windows PCのセットアップ方法は、以下記事など参照ください。
WSL2がセットアップできたら、WSL2上で、以下コマンド実行してffmpegをインストールします。
$ sudo apt update
$ sudo apt install -y ffmpeg
Macの場合
Homebrewでffmpegをインストールします。ターミナルで以下コマンド実行してください。
$ brew install ffmpeg
Homebrewに関しては以下記事参照ください。
圧縮する方法
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
オプションの後の数字を小さくすると画質がよくなります(代わりに容量が大きくなります)。拡張子を増やしたい場合は、例にならってコピペしていけば良いでしょう。
まとめ
動画のバックアップ、なかなか大変ですね。容量無制限でそれなりの価格で使えるサービスがあれば良いのですが…まあすぐ破綻しそうですね。
以下ブログ記事も参照ください。
参考リンク
Discussion