🎥
movの動画ファイルをmp4に圧縮する、そしてコマンドライン引数でファイルを受け取る
MacOS
動画圧縮ツール: FFmpeg
ffmpegについて
FFmpegは、ビデオを圧縮するために必要なツールです。Homebrewを使ってインストールするのが一般的です。ターミナルで以下のコマンドを実行します。
brew install ffmpeg
手動でファイル指定して圧縮する
基本はこの一行でOK
ffmpeg -i <オリジナル動画.mov> -vcodec libx264 -crf 23 <圧縮後ファイル名.mp4>
※ 40分ほどの画面録画はオリジナルで20GBほど、時間はしばらくかかるけど圧縮後は1GBと1/20サイズへ。
でも毎回ファイルパスを書いたり圧縮後のファイル名を書いたりするのが面倒なので、簡単なshell scriptを作って、ファイルをコマンドライン引数で受け取り、元の位置で圧縮後ファイルを吐き出すようにする
コマンドライン引数でファイルを受け取る
よく使うのでとりあえずDesktopに下記スクリプトを作成
minify_video.sh
#!/bin/bash
# 入力されたファイルのパスを取得
FILE_PATH=$1
# 拡張子を除いたファイル名を取得
BASE_NAME=$(basename "$FILE_PATH" .mov)
# ファイルが存在するディレクトリを取得
DIR_PATH=$(dirname "$FILE_PATH")
# 圧縮コマンドの実行
ffmpeg -i "$FILE_PATH" -vcodec libx264 -crf 23 "${DIR_PATH}/${BASE_NAME}_minify.mp4"
注意: macの画面録画はmov拡張子なのでスクリプトはmovにハードコーディングしています
実行権限を付与する
cd Desktop
chmod +x minify_video.sh
使うとき
./minify_video.sh /path-to/original_file.mov
オリジナルファイルのパスはドラッグアンドドロップでオッケー
だいぶ楽になりました
Discussion