スクリーンショット動画やカメラで撮影した動画をwebサイトに掲載したい。だけど長さもそんなに長くないし、YouTubeなどにアップロードして埋め込むほどでもない…!
そんなときに便利なのが、GIF動画です。Gif動画には
- リサイズや品質を適切なものにすれば、容量を非常に小さくできる
- 再生ボタンなどがなく、スクロールし画面内に入ったときに自動的に再生される。
- 動画背景として利用する際、GIF動画ならスマートフォンでも再生させることができる
など、様々なメリットがあります。
私は主に操作方法の説明をスクリーンショット動画で撮影し、mp4形式からGIF動画に変換したうえでブログに載せることが多いです。
その際のGIF形式への変換として、無料のオープンソースソフトウェアである”FFmpeg”を利用して、ファイルサイズを小さくしたうえでブログに掲載しています。
そこで今回は、FFmpegの基本的な使い方とファイルサイズを小さくするオプションをご紹介いたします。
目次
ffmpegとは無料で音声・動画の録音・変換・ストリーミングを行えるオープンソースのメディア編集ツール
FFmpegとは、音声・動画の録音・変換・ストリーミングを行うことができるツールです。無料・オープンソースで提供されています。
FFmpegは基本的にはコマンドラインから操作します。いわゆる"黒い画面"から操作しますが、非常にシンプルな記述で扱いやすいです。GUIで扱えるものもあるとのこと。
FFmpegはクロスプラットフォームでのメディアフレームワークであり、「Linux」「Mac OS X」「Windows」などさまざまなOSに対応しています。
ffmpegコマンド: 画像サイズを小さく、品質を下げてファイルサイズ容量を小さくする
ファイルサイズを小さくするため、下記ffmpegコマンドをよく使用します。
ffmpeg -i input.mp4 -crf 35 -vf scale=800:-1 output.gif
input.mp4をoutput.gifに変換し、そのサイズに画像サイズをヨコ幅800pxに調整、画像品質は35を指定し品質を落としています。
本来、FFmpegの最低限の使い方として、動画をgifに変換するだけなら
ffmpeg -i input.mp4 output.mp4
のみでOKです。
しかし往々にしてファイルサイズが大きくなるため、前述のようにオプションをつけてffmpegを利用することが多くなるでしょう。
FFmpegのオプション一覧は下記の記事が参考になりました。
FFmpegの出力オプションを検証して、動画の圧縮率を調べてみた | じゃぶじゃぶゲーム
ffmpegオプションの利用方法と2つのオプションを解説
オプションはinput.mp4 と output.gifのあいだに書きます。
冒頭のコマンドで使用していた、-crfオプションと-vf scaleオプションについて解説します。
-crfオプション
-crf オプション: 品質を固定モードにして指定。
crfの後の値は0~63の数値を入れます。値が小さいほど品質が高くなります。推奨値は15~35で、30くらいがいいくらいだと思います。劣化が気になるようなら小さい値に設定しましょう。
私は劣化がほとんど気にならなかったので、推奨値ギリギリの35を指定しています。
-vf scale=数値:-1 オプション
vf scale=数値:-1
上記のオプションを付けることで、縦横比を保ったまま画像サイズを変更できます。
ffmpeg -i sample.mp4 -vf scale=320:-1 sampleout.mp4
縦横比をそのままに、sample.mp4から幅が320pxの動画を作ることが出来きます。縦のサイズ−1(-vf scale=320:-1 部分)と指定するだけで、アスペクト比から自動計算されます。
FFmpegの動画圧縮・変換コマンドの使い方 – Mankind Inc.
画像サイズ調整には-sオプションがあるが、縦横比を保ってはくれない
なお、画像サイズ調整には他に-sオプションがありますが、-sオプションは
-s 640x320 #px単位で数値で指定。ヨコx縦。数値と数値のあいだはx(エックス)
のように、縦横をそれぞれpx単位で指定する必要があります。
アスペクト比を保って調整してくれる訳ではないため、縦横比を自動計算してサイズ調整してくれるvf scaleオプションの方が扱いやすいかなと思います。
FFmpegで動画をH.265エンコードして容量を大幅に節約する
なお、H.265という動画圧縮規格を利用することで、品質をほとんど落とさずに容量を大幅に削減することが可能なようです。
詳細は下記の参考サイトからご確認ください。
Leave a Reply