🎥

movの動画ファイルをmp4に圧縮する、そしてコマンドライン引数でファイルを受け取る

2023/12/11に公開

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