ソフトウェア
 Computer >> コンピューター >  >> ソフトウェア >> ソフトウェア

ffmpegで動画を高画質GIFに変換する方法|基本コマンドとオプション徹底解説

数週間前、WhatsAppで「動画が送信できない」という問題についてお伝えしました。友人たちとネタ動画(ミーム)を共有したいのに、技術的な壁が立ちはだかる――そんな経験はありませんか? 前回のガイドでは、HD動画を送信することでこの問題を回避する方法を紹介しました。しかし、手元にあるのがSD画質のコンテンツだけだったらどうすればよいのでしょうか。スマートフォンでは簡単ではありませんが、デスクトップ環境であれば選択肢は豊富にあります。

今回のチュートリアルでは、長年にわたり支持されてきた強力なメディア編集ツール「ffmpeg」を改めて取り上げます。ffmpegは、オーディオとビデオに関するあらゆる処理を一手に担える万能ツールです。多様な形式への変換、クリップの分割・結合、サイズ変更、特定フレームの抽出、字幕の追加、再生速度の変更など、できることは枚挙にいとまがありません。本記事では、その中でも「動画をアニメーション画像(GIF)に変換する方法」に焦点を当てて解説します。

ffmpegで動画を高画質GIFに変換する方法|基本コマンドとオプション徹底解説

なぜ動画をGIFに変換するのか?

冒頭で触れたとおり、アプリやサービスによっては技術的な制限のため、動画コンテンツを友達とうまく共有できないことがあります。音声なしの映像部分だけが必要なケースや、ファイルサイズや形式に制限があるケースもあるでしょう。さらに、ダウンロード用ファイルとして渡すのではなく、チャット画面に直接埋め込んで表示したいというニーズもあります。埋め込みの方が、よりスムーズなミーム共有体験につながるからです。

そこで、動画クリップで何ができるのかを検証してみました。まず、SD画質のコンテンツでもHD画質へトランスコードすることは問題なく可能です。同様に、動画クリップをGIF画像へ変換することもできます。ただし、初期設定のまま変換すると、低解像度でループしないファイルが出来上がりがちです。それでは真面目なミーム製作者として恥ずかしい仕上がりになってしまいます。

それでは早速、動画ファイル(MP4、MOVなど)をGIFに変換していきましょう。

ffmpegのコマンドライン

オンラインの変換サイトに頼ったり、怪しいアプリをスマホにインストールしたりせずに済む、最も手軽な方法は、無料のオープンソースユーティリティ「ffmpeg」(デスクトップ版)を使うことです。Linuxユーザーであれば、ディストリビューションのリポジトリから直接インストールできます。Windowsユーザーは公式サイトから実行ファイルをダウンロードすれば、すぐに使い始められます。

基本のコマンドは次のとおりです。
ffmpeg -i [入力ファイル] -vf "fps=XX,scale=YYYY:-1:flags=lanczos" -loop 0 [出力ファイル]

具体的な例を見てみましょう。
ffmpeg -i Test.mov -vf "fps=24,scale=1920:-1:flags=lanczos" -loop 0 Test.gif

それぞれのオプションの意味を順番に解説します。

  • -i:入力ファイル名を指定します。変換対象となる動画のことです。
  • -vf:変換時に適用する動画フィルタのオプションを指定します。
  • fps=XX:フレームレートを定義します。元動画のフレームレートに合わせると、フレーム落ちや補間による劣化を防げます。たとえば一般的な24FPSの動画なら「24」と指定します。必須ではありませんが、値を変えると(別途フレーム遷移速度を指定しない限り)GIFの再生が元動画より遅く、または速くなる可能性があります。
  • scale=YYYY:-1:動画の拡大・縮小を行います。HD画質のGIFを作成する際にも活躍します。縦横両方のサイズを指定してもよいですし、片方のみ指定してもう片方をffmpegに自動算出させる(-1を指定する)ことも可能です。上記の例では幅1920pxのHD GIFへ変換しており、高さは元動画のアスペクト比に従って決まります。16:9で撮影された動画なら高さは1080pxになります。もちろん逆に、高さを基準に指定することもできます。なお、実際には320pxや640pxといった小さめのサイズを利用するのがおすすめです。その理由は後ほど説明します。以下のような書き方もあります。

scale=1920:1080
scale=-1:640

  • flags:スケーリングに使うアルゴリズムを定義します(GIMPなどでのリサンプリングと同じ考え方です)。カラーチャンネルの操作など、ここでできることはほかにも多数ありますが、実用上はデフォルト設定で十分です。「lanczos」「neighbor」「bicubic」などを試してみてください。
  • -loop 0:無限にループ再生するGIFを生成するようffmpegに指示します。
  • 最後に出力ファイル名を指定します。

あとはffmpegを実行するだけで変換は完了です。以下、完成イメージのサムネイルです。静止画では動画やGIFの動きの全体像は伝わりませんが、これには大きな理由があります。

ffmpegで動画を高画質GIFに変換する方法|基本コマンドとオプション徹底解説

ffmpegで動画を高画質GIFに変換する方法|基本コマンドとオプション徹底解説

その理由とは「ファイルサイズ」です。元の動画は5秒のクリップで3.5MBでしたが、変換後のGIFはなんと61.5MB! 別のクリップで試したところ、こちらは86MB対152MBと差はいくぶん小さかったものの、結果はクリップに含まれる情報量に大きく左右されます。帯域を簡単に圧迫しかねないため、ここでは実際のファイルは掲載していません。ヒントとして言っておくと、この問題には回避策があります。詳細は別記事で改めて解説する予定です。

ともあれ、これで変換完了。ミーム化もバッチリです。

まとめ

ffmpegは恐ろしいほど複雑でありながら、極めて有用なツールです。およそ5,000ものフラグやオプションを備え、まさに「何でもできる」といった代物です。多少の忍耐と粘り強さは必要ですが、動画や音声の加工において、これ以上の道具は見つかりません。今回はGIFを作成するという目的のもと、その一端をご紹介しました。

本記事で紹介したテクニックを実践すれば、あなたもより洗練されたミーム職人になれるはずです。高品質なコンテンツづくりにもきっと役立ちます。変換の原理は入出力形式を問わず共通しているため、「SD動画からHD動画を作る」といった用途にも応用できます。GIFはさらに踏み込んだ選択肢と言えるでしょう。少しでも参考になれば幸いです。次回は、GIFファイルを作成するさまざまな方法や、それぞれのメリットを網羅した記事をお届けします。お楽しみに!

それでは、また次回。

  1. HitPaw Video Converter徹底レビュー|初心者でも使える高速・多機能な動画変換ソフト

    動画変換ソフトは世の中に数多く存在するため、どれを選べばよいのか迷ってしまうものです。しかし、他のソフトにはない独自の機能を持つコンバーターであれば、選択がぐっと楽になるかもしれません。「HitPaw Video Converter」はmacOSとWindowsの両方に対応し、多彩な便利機能を備えた動画変換ツールです。非常にシンプルで直感的なインターフェースを持ち、仕事や趣味で頻繁に動画変換を行うものの、高価なプロ向けツールまでは用意していないという方にとって、見逃せない存在といえるでしょう。本記事では、HitPawが提供する機能を詳しく見ていき、あなたのニーズに合うかどうかを検証します。※本

  2. 無料のペアレンタルコントロールソフトでサイトをブロックする方法|Windows 10・Xbox・おすすめアプリ徹底解説

    数十年前の子どもたちは、テレビの前でアニメを見たり、両親と一緒に映画館へ最新作を観に行くのが普通でした。しかし、インターネットやスマートフォン、タブレット、ノートPCといった日々進化するテクノロジーがもたらしたデジタル時代において、現代の子どもたちはお気に入りの番組や映画が放送される時間を待つ必要がなくなりました。 スマホやタブレットのボタンをひと押しするだけで、ほぼすべてのテレビ番組や映画を視聴し、音楽を聴き、ゲームで遊ぶことができます。 しかしその利便性の裏には、サイバー攻撃、ネットいじめ、露骨な内容や不快なコンテンツへの露出といった危険が潜んでおり、これはすべての保護者にとって大きな悩