【macで録画】ffmpegでgifが汚いを避けるためpngパレットを使う!

おすすめのオンラインプログラミング学習

macで録画、ffmpegでgif生成の方法をまとめておきます。

macで録画ffmpegでgif生成

iPhoneやMacの画面を録画する方法

iPhoneはyosemite以降、Macと接続して録画できます。
MacはMojave以降、画面の録画ができます。Appleが簡単に解説してくれています。

Macの画面をビデオに収録する方法 — Appleサポート

h264形式で保存先はデスクトップのようです。

保村先はオプションでかえられます。なお、スクリーンショットの撮影もできますよ。

コマンドラインを使わない方法

そのあと、picgif lite(未検証だけどたぶんffmpegじゃない?)、コマンドラインでffmpegで変換となります。

仮想環境のParallels DesktopがあればScreenToGifを使ってもよいです。ただし、ScreenToGifはmovがインポートできません。macのもののため拡張子はmov一択のため、mp4に変換したい場合はコンバーターをかまさないといけません。

MOV MP4 変換 - ビデオファイルをオンラインで変換する
MOV MP4 変換 - 無料でオンラインMOV(QuickTime File Format)ファイルをMP4(MPEG-4 Part 14)ファイルに変換する - ビデオをオンラインで変換する。

MAC録画 > コンバーター > ScreenToGifの順番ですね。

ScreenToGifの使い方はこちらです。

ScreenToGifのffmpegでmp4出力 /gif分割【使い方】
個人的な覚書を兼ねていますが、ScreenToGifの使い方を解説していきます。 普通の使い方を解説してくれているサイトはたくさんあるため、その解説は簡単にとどめ、ffmpegでmp4出力、gif分割、ipadやandroidアプリと...

それはめんどくさいという人はコマンドラインからの操作が楽です。個人的に採用しているのはコマンドラインです。

スポンサーリンク

電子書籍のおすすめ比較

ffmpegの使い方

ffmpegをMACにインストール

ターミナルを起動し、インストール。

$ brew install ffmpeg

バージョン確認。

$ ffmpeg -version

ffmpegでgifの作り方

変換。

$ ffmpeg -i input.mp4 output.gif
$ ffmpeg -i test.mov -vf scale=1280:-1 -r 10 test.gif
↓アスペクト比を維持したい場合は、この方法を使います。

vf scale=横幅ピクセル:-1。
-r フレームレート

滑らかに見せたいアニメーションはフレームレートをあげた方がよいです。ただし、10から60にすると容量が倍ぐらいになります。落とし所を探しましょう。他には画像自体のサイズをリサイズする方法もあります。

ffmpegのgifが汚い、改善のコツはパレットの生成

しかし、単純に変換するだけだとGifが汚いです。ブロックのパターンみたいなものができてしまいます。

その場合、pngのパレットを先に生成します。1kbのパレットができます。

$ ffmpeg -i input.mov -vf palettegen palette.png

そのパレット情報を元に変換すればOKです。

$ ffmpeg -i input.mov -i palette.png -filter_complex paletteuse output.gif

まとめるとこうなります。filter_complex内にフレームレートとリサイズはいれてあげればOKです。

$ ffmpeg -i input.mov -i palette.png -filter_complex "fps=60,scale=1280:-1,paletteuse" output.gif
スポンサーリンク

imagemagickの使い方

もうひとつffmpegとあわせて使えるimagemagickがあります。imagemagickをあわせて利用した方ができることが多いかもしれませんん。MacでもWindowsでも利用できます。

imagemagickをMACにインストール

ターミナルを起動し、インストール。

$ brew install imagemagick

バージョン確認。

$ convert -version
Version: ImageMagick 7.X

ffmpegとimagemagickでmp4からgifに変換する方法

ファイルがある場所に移動します。

Windowsの場合は、エクスプローラからコマンドプロンプトを起動してもいいかもしれません。アドレスバーにcmdでenterを押します。
ffmpeg -i sample.mp4 -an -r 8 %04d.png
magick convert *.png output.gif

ffmpegでpngの連番に変換してimagemagickでgifに変換します。フリーツールを使うと、gifが汚いなどのトラブルが起きやすいですが、この方法は綺麗に変換できるでしょう。

ffmpeg 入力オプション -i 入力ファイル名 出力オプション 出力ファイル名
オプションは省略可(例)ffmpeg -i input.mov output.mp4
-anはオーディオなし
-rはフレームレート
%04d.pngは4桁の連番png

前後のフレームを削る

pngにした時点でirfanviewで確認して前後のフレームを削ってもいいかもしれません。

IrfanView - Official Homepage - One of the Most Popular Viewers Worldwide
IrfanView ... one of the most popular viewers worldwide.

他の方法としては動画の時点で前後のフレームを削ってもいいかもしれません。ただ、再保存のときにコーディックやクオリティなどの確認が必要になりますよね。

前後のフレームを削っても作業には何ら影響はありません。

ffmpegとImageMagickで縦横比を保持したまま長編でリサイズ

サイズが大きいためリサイズの工程を挟んであげます。

ffmpeg -i sample.mp4 -an -r 8 %04d.png
magick convert *.png -thumbnail 300x resize_%04d.png
magick convert resize_*.png output.gif

エラー:”convert”は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません

バージョン7からコンバートの方法が変わったようです。

convert *.png test.gif

7以降は以下のとおり。

magick convert *.png test.gif

動画編集ソフトのおすすめはDaVinci Resolve

最近、おすすめの動画編集ソフトはDaVinci Resolveです。ダヴィンチってレオナルド・ダ・ヴィンチかた取ったんですかね。

詳しくはこちらの記事をみてください。

動画編集/プログラミング/資産運用などUdemyのおすすめコース
プログラミング、動画編集、資産運用などudemyのすべて実経験でおすすめコースをまとめていきます。Udemyは日本に来る前から愛用しています。 udemyはセールがあるため、とりあえず会員登録してお気に入りに登録しておくことがおすすめ...

ご参考になれば幸いです。

人気記事  安いオンラインプログラミングスクールおすすめ比較
  • 無料体験あり、オンライン完結あり
  • プログラミングスクールはオンラインで格安に!
  • 電子書籍並みの価格で買える動画学習サイトも一緒に紹介!初心者から上級者向け英語コンテンツまであり。ソースコードは言語関係なしに世界共通!
スポンサーリンク
おすすめのオンラインプログラミング学習
neruをフォローする
スポンサーリンク
ebookbrain

コメント

タイトルとURLをコピーしました