4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

最速で動画をGifに変換する

Posted at

(MacOSです。Homebrewは入っている前提で進めます。)

変換するの面倒...
ターミナルから変換できるようにしたけどいちいちコマンド覚えてない...
と思って、簡単に実行できるようにしたので紹介します。

なにをするか

ターミナルで一発で変換できるように、シェルスクリプトを作っておきます。
完了するとこんな感じに変換できるようになります。
movie.gif

順を追って、方法を紹介します。

1. ffmpegを導入

Gifへの変換にはffmpegを使用します。
インストールは以下のコマンド。

brew install ffmpeg

動画の変換は以下のコマンドで行えます。

ffmpeg -i 変換元のファイル名 保存先のファイル名

拡張子を見ていい感じに変換してくれるので、ファイル名には拡張子も含めてください。
また-rでフレームレートも指定することができます。

2. シェルスクリプトを書いたファイルを作成

ファイルを作成し、コマンドをそこに保存しましょう。
今回は「toGif」という名前でファイルを作成し、以下のコマンドを保存しました。
(このファイル名が、最終的に呼び出す時のコマンドになります)

toGif
#!/bin/bash
fileName=`basename $1`
name=${fileName%.*}

ffmpeg -i $1 -r 10 ~/Desktop/$name.gif
echo "Saved to desktop."

$ toGif 動画のパスの形式で実行する事を想定しています。
$name.gifの拡張子を変えれば他の形式に変換することもできます。
(MP4とか…それ以外浮かばないけど…)

少しだけ解説

fileName=`basename $1` では、
第一引数($1)として受け取ったファイルパスからファイル名を取り出し、
name=${fileName%.*}で、ファイル名から拡張子を取り除いています。

ffmpeg -i $1 -r 10 ~/Desktop/$name.gif
は、10FPSのGifに変換して、同じ名前でデスクトップに保存するように指定しています。

3. パスを通す

作成したファイルにパスを通します。(→ コンソールから呼び出せるようにします)
パスを通すにはホームディレクトリにある.bash_profileに、以下を追記します。
.bash_profileは、ログイン時に一度実行されるファイル的なものです。(認識間違っていたら教えて下さい)

export PATH=$PATH:作ったファイルのパス

私はDocuments下にscriptというフォルダを作り、そこにパスを通しているので

export PATH=$PATH:~/Documents/script

こんな感じのものを追記してあります。

(その他作成したシェルスクリプトもそこにまとめてあります。いちいちパス通し直さなくていいのでおすすめです。)

.bash_profileを更新した後は、

source ~/.bash_profile

で再読み込みしましょう。

以上で、コンソールから最速(?)で動画をGifへ変換できるようになりました。おめでとうございます。


もしよければ「いいね」していただけると喜びます。
類似記事の「最速で画像をリサイズする」もどうぞ。

「もっとこうしたほうがいいよ!!」「これもおすすめだよ!!」などあればぜひお教えください。
ありがとうございました。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?