【FFmpeg】shellコマンドでファイル形式変換!動画をGIFに変換してみる

shell
マイケル
マイケル
みなさんこんにちは!
マイケルです!
エレキベア
エレキベア
クマ〜〜〜〜〜
マイケル
マイケル
突然ですがみなさんはGIF動画を作成する際、
どのようなツールを使っているでしょうか?
エレキベア
エレキベア
フリーソフトやWEBブラウザサービスクマかね〜〜
マイケル
マイケル
やっぱりそうなるよね。
でもそれだと広告や制限があったり、ソフトを開くのもめんどくさいと感じませんか?
マイケル
マイケル
そこで今回紹介する「FFmpeg」というコマンドラインツールを使用することで、
手軽にファイル形式を変換できるようになります!
エレキベア
エレキベア
そんな便利なのがあるクマか
マイケル
マイケル
さっそく触ってみよう!
スポンサーリンク

FFmpegとは

FFmpegとは
  • 動画や音声のファイル形式を変換できるフリーのコマンドラインツール!
  • 350種類以上の形式に対応!
  • 「Mac」「Windows」「Linux」等、様々なOSに対応!
エレキベア
エレキベア
350種類以上なんてすごいクマ〜〜〜!!
マイケル
マイケル
2007年から開発されていて成長してきたみたいだね。
無料でこんな便利なツールがあったなんて驚いたよ!

インストール

マイケル
マイケル
それじゃさっそくインストールしてみよう!
マイケル
マイケル
Windowsユーザなら下記サイトからダウンロード、
MacやLinuxなら下記brewコマンドでインストールできます!

Screenshot 2020 11 09 21 16 55
brew install ffmpeg
↑インストールコマンド
エレキベア
エレキベア
インストールも簡単クマね
マイケル
マイケル
ちなみに対応形式は下記コマンドで確認できるよ!
ffmpeg -formats
↑対応形式の確認
Screenshot 2020 11 09 21 22 59
エレキベア
エレキベア
ずらずら出てきてすごいクマ〜〜〜!!
マイケル
マイケル
それじゃさっそく使ってみよう!

MOV動画をGIFに変換

実行コマンド

マイケル
マイケル
まずはMOV形式の動画ファイルからGIFファイルに変換してみます!
下記コマンドを実行しましょう!
ffmpeg -i 【入力ファイルパス】 -r 【フレームレート数】 【出力ファイルパス】
↑MOVからGIFへの変換コマンド
[実行前]
Screenshot 2020 11 09 21 29 21
[実行後]
Screenshot 2020 11 09 21 29 54
Screenshot 2020 11 09 21 29 59
Screenshot 2020 11 09 21 30 06
↑GIFファイルが作成された!
マイケル
マイケル
このように変換されてGIFファイルが作成されます!
エレキベア
エレキベア
すごいクマ〜〜〜!!!

shellファイルの作成

マイケル
マイケル
これを使用して複数ファイル処理できるよう、
シェルスクリプトを作成してみました!
# MOV→GIF変換処理
cd 【ファイル格納先パス】
for filename in *.mov;
do
    # フレームレート:5fps
    echo "*** START ${filename} CONVERT ***"
    ffmpeg -i $filename -r 5 "${filename%.*}.gif"
    echo "*** END ${filename} CONVERT ***"
done
echo "*** COMPLETE ***"

# 終了待機
sleep 3
マイケル
マイケル
同階層内のMOVファイルをfor文で回して変換しています!
エレキベア
エレキベア
これなら一気に変換できるクマ!
[実行前]
Screenshot 2020 11 09 21 31 08
[実行後]
Screenshot 2020 11 09 21 31 58
マイケル
マイケル
このように数秒で変換が完了します!!
エレキベア
エレキベア
すごいクマ〜〜〜〜〜!!
その辺のフリーソフト使うよりずっといいクマね

WAVをMP3に変換

実行コマンド

マイケル
マイケル
ついでにWAVファイルからMP3ファイルへの変換も試してみましょう!
下記コマンドで変換することができます!
ffmpeg -i 【入力ファイルパス】 -vn -ar 【サンプリング周波数】 -ac 【チャンネル数】 -b:a 【ビットレート】 【出力ファイルパス】
↑WAVからMP3への変換コマンド
エレキベア
エレキベア
同じようにオプションを指定して実行するクマね

shellファイルの作成

マイケル
マイケル
先程と同様、シェルスクリプトを作成して実行してみます!
コードはこちらになります!
# WAV→MP3変換処理
cd 【ファイル格納先パス】
for filename in *.wav;
do
    # サンプリング周波数:44100Hz チャンネル数:2 ビットレート:192kbit
    echo "*** START ${filename} CONVERT ***"
    ffmpeg -i $filename -vn -ar 44100 -ac 2 -b:a 192k "${filename%.*}.mp3"
    echo "*** END ${filename} CONVERT ***"
done
echo "*** COMPLETE ***"

# 終了待機
sleep 3
エレキベア
エレキベア
さっきのスクリプトの流用クマね
[実行前]
Screenshot 2020 11 09 21 41 20
[実行後]
Screenshot 2020 11 09 21 41 32
マイケル
マイケル
こちらも数秒で変換が完了しました・・・。
エレキベア
エレキベア
恐るべしクマ・・・・!!

おわりに

マイケル
マイケル
というわけで今回はFFmpegを使ったファイル形式の変換でした!
どうだったかな??
エレキベア
エレキベア
こんなのがあるなら早く使っておけばよかったクマ・・・。
マイケル
マイケル
形式変換系のソフトは広告が口説いイメージだしね・・・。
これを機にFFmpegを使ったGUIツールを作ってみてもいいかもしれないね!
エレキベア
エレキベア
他の形式も試してみるクマ〜〜〜〜!!
マイケル
マイケル
それでは今日はこの辺で!
アデューー!!

【FFmpeg】shellコマンドでファイル形式変換!動画をGIFに変換してみる 〜完〜

コメント