ツール

【Mac】画面録画movファイルをgifに変換する

eyecatch-mac-mov-gif

以前の記事でMacの純正の機能を使用してMacの画面録画を行う方法を紹介しました。

画面録画すると、デスクトップ等に、〇〇.movというファイルが作成されます。これをspace barなどでさくっとQuick Lookすると中身を確認することが出来ます。

ファイルサイズの削減やその他の用途のため、このmovファイルをgif形式に変換したいときがあります。

色々方法はありますが、一番簡単な方法は、ffmpegを使用する方法でしたので、今回はMacでffmpegを用いてmovファイルをgif形式に変換する方法をシェアします。今回の方法は、mov - >gifだけでなくmp4 - >gifなどにも対応しています。

Homebrewのインストール

Macでffmpegをダウンロードインストールするには、Homebrewを使用します。

Homebrewとは

OSや言語毎にパケージマネージャとよばれるツールが開発・提供されており、ソフトウェアや拡張機能のインストールはパッケージマネージャを利用して行うことが一般的になってきています。HomebrewはMacOS環境における便利でよく使われているスタンダードなパッケージマネージャです。

HomebrewはMacに対応したいろいろなコマンドラインツールをインストールするプラットフォームのようなものと思っておいてもらって大丈夫です。

既にインストール済みの場合は、このセクションはスキップしてください。

Homebrewのインストール

macOS(またはLinux)用パッケージマネージャー — Homebrew

Homebrewの公式サイトに表示されているコマンドをターミナルに入力しreturnを押します。

途中でパスワードを入力し、Installation Successと表示されたらインストール完了です。

正常にインストールされていることを確認するために、brew -vとターミナルで打ち込みreturnを押します。

Homebrew 2.2.11
Homebrew/homebrew-core (git revision xxxxx; last commit 202x-xx-xx)

このように表示されていれば大丈夫です。

ffmpegのインストール

次にffmpegをインストールします。

続けて、ターミナルで、brew install ffmpegと入力し、returnを押します。先程インストールしたHomebrewを用いて、ffmpegをダウンロード・インストールしています。

インストールの完了を確認するために、ffmpegと入力し、returnを押します。

ffmpegの情報が表示されれば完了です。

ffmpegの使い方

cdコマンド等を用いて、変換元ファイルのあるディレクトリに移動します。

ffmpegコマンドの基本
ffmpeg [入力オプション] -i [入力ファイル名] [出力オプション] [出力ファイル名]

例: ffmpeg -i sample.mov -r 24 sample.gif

このようにコマンドを打ち込みreturnを押すと、変換が始まります。ファイルサイズにもよりますが、数秒で変換が完了し、同じディレクトリに、変換後のファイルが作成されます。上記の例ですと、sample.movと同じディレクトリに、sample.gifが作成されます。

ffmpegでmovをgifに変換する

拡張子の変更は、出力ファイル名の拡張子を自動的に判別して行ってくれます。なので、例えばmovファイルをgif形式に変換したい場合は、出力ファイルをxxxxx.gifとするだけでgif形式に変換してくれます。

対応する拡張子を確認する

以下のコマンドを入力し、returnを押すことでffmpegの対応するフォーマットを確認することが出来ます。

ffmpeg -formats

ずらっと一覧で表示されますが、100を超えるフォーマットに対応しているので、これ一つで十分ではないかと思います。

その他ffmpegの変換オプション

その他、変換に関して様々なオプションがあり コーデック ビットレート フレームレート オーディオ形式 サンプリングレート等を出力オプションに指定することが出来ます。

例えば、gifの場合はそのまま変換するとファイルサイズが大きくなったりするので、リサイズしたりフレームレートを小さくしたりすると良いです。

フレームレート10でgifに変換
ffmpeg -i sample.mov -r 10 sample.gif

動画はパラパラ漫画みたいなものと捉えればイメージがしやすいのですが、フレームレート10とは、1秒間に10枚の画像をパラパラしているというイメージです。

なので、フレームレートを下げると、必然的にカクつきますが、ファイルサイズは大きく削減することが出来ます。

リサイズすることでも、ファイルサイズを削減することができます。

// 横1280px×縦720pxにリサイズ
ffmpeg -i sample.mov -s 1280×720 sample.gif

// アスペクト比を維持しつつ横1280pxにリサイズ
ffmpeg -i sample.mov -vf scale=1280:-1 sample.gif

// アスペクト比を維持しつつ縦720pxにリサイズ
ffmpeg -i sample.mov -vf scale=-1:720 sample.gif

その他、簡単なトリミングもffmpegで出来るので、かなり便利です。

以上です。