【ffmpegの使い方】gifでpngパレット/macでmovからmp4に変換する方法

プログラミング学習

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

(追記)今はKapという便利なアプリがあるためそちらを使うことが多いです。詳しくはこちらの記事で。

ffmpegのことを知りたい人はこのまま読み進めてください。

movからmp4に変換する方法比較(拡張子を変更)

movからmp4に変換する方法はたくさんありますね。

拡張子の直変え、iMovie、QuickTime、VLCメディアプレーヤー、HandBrake、iMyMac、DaVinci Resolve(ダヴィンチリゾルブ)、オンラインのコンバーター、fffpegなど様々な選択肢があります。

この中で使いたくないのはオンラインのコンバーターです。アップロードしたりダウンロードしたりがありますし、セキュリティ的な点からも大丈夫かもですがなるべく避けたいところです。

直に拡張子を変更する方法は使っていいのか?

1番簡単な方法ですが、直にfinderにあるファイルの拡張子を名前変更するだけの方法が裏技的に紹介されています。簡単ですが、なぜそんなことをしていいのか理由が気になります!?ぐぐったところ

MP4は、実際には古いMOV形式のサブセットです。

https://www.imymac.jp/video-converter/how-to-convert-mov-to-mp4-on-mac.html

あまり深追いはしていませんが、サブセットということが発覚しました。とりあえず問題がでなければこの方法でもよいかもしれません。実際にテストするときはこの方法を使っています。

コンテナの理解、MovとMp4の違い

しかし、本番のデータに使うのはダメじゃないですかね。日本語情報がないので英語圏で軽く調査ところ

Can I rename MOV to MP4?

In some scenarios, you can make a change by renaming the file. For instance, because of the fact that MP4 is a subset of QuickTime, you can change the MOV file just by renaming and changing the extension from MOV to MP4. Sometimes, changing the file extension manually by changing the text is enough. However, this does not always work. It depends on the settings of the file format.To ensure capability, it is a good idea to use conversion software.This can ensure that the file works properly and that no data is lost in the transfer.

https://www.movavi.com/learning-portal/mov-vs-mp4.html

やっぱりソフトウェアを使った方がよさそうです。😅

Macに動画編集ソフトDaVinci Resolveが入っているため、それで変換しています(iMovieは初心者向けなので却下)。

参考になれば幸いです。ここから別の話です。

スポンサーリンク

【ffmpegの使い方】gif生成

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

そのあと、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の使い方はこちらです。

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

スポンサーリンク

ffmpegの使い方(ffmpegでgifが汚いを避けるためpngパレットを使う!)

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です。ダヴィンチってレオナルド・ダ・ヴィンチかた取ったんですかね。

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

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

コメント

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