ゲーム開発
Unity
UnrealEngine
C++
Blender
Houdini
ゲーム数学
ゲームAI
グラフィックス
サウンド
アニメーション
GBDK
制作日記
IT関連
ツール開発
フロントエンド関連
サーバサイド関連
WordPress関連
ソフトウェア設計
おすすめ技術書
音楽
DTM
楽器・機材
ピアノ
ラーメン日記
四コマ漫画
その他
おすすめアイテム
おもしろコラム
  • ゲーム開発
    • Unity
    • UnrealEngine
    • C++
    • Blender
    • Houdini
    • ゲーム数学
    • ゲームAI
    • グラフィックス
    • サウンド
    • アニメーション
    • GBDK
    • 制作日記
  • IT関連
    • ツール開発
    • フロントエンド関連
    • サーバサイド関連
    • WordPress関連
    • ソフトウェア設計
    • おすすめ技術書
  • 音楽
    • DTM
    • 楽器・機材
    • ピアノ
  • ラーメン日記
    • 四コマ漫画
      • その他
        • おすすめアイテム
        • おもしろコラム
      1. ホーム
      2. 20201109_01

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

      ツール開発shell自動化FFmpeg
      2020-11-09

      マイケル
      マイケル
      みなさんこんにちは!
      マイケルです!
      エレキベア
      エレキベア
      クマ〜〜〜〜〜
      マイケル
      マイケル
      突然ですがみなさんは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
      ↑対応形式の確認
      エレキベア
      エレキベア
      ずらずら出てきてすごいクマ〜〜〜!!
      マイケル
      マイケル
      それじゃさっそく使ってみよう!

      MOV動画をGIFに変換

      実行コマンド

      マイケル
      マイケル
      まずはMOV形式の動画ファイルからGIFファイルに変換してみます!
      下記コマンドを実行しましょう!
      ffmpeg -i 【入力ファイルパス】 -r 【フレームレート数】 【出力ファイルパス】
      ↑MOVからGIFへの変換コマンド
      [実行前]
      [実行後]

      ↑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文で回して変換しています!
      エレキベア
      エレキベア
      これなら一気に変換できるクマ!
      [実行前]
      [実行後]
      マイケル
      マイケル
      このように数秒で変換が完了します!!
      エレキベア
      エレキベア
      すごいクマ〜〜〜〜〜!!
      その辺のフリーソフト使うよりずっといいクマね

      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
      エレキベア
      エレキベア
      さっきのスクリプトの流用クマね
      [実行前]
      [実行後]
      マイケル
      マイケル
      こちらも数秒で変換が完了しました・・・。
      エレキベア
      エレキベア
      恐るべしクマ・・・・!!

      おわりに

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

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


      ツール開発shell自動化FFmpeg
      2020-11-09

      関連記事
      【Houdini20.5】主要な環境変数と設定方法についてまとめる【Windows/Mac】【Steam版】
      2025-05-05
      【Unity】Timeline × Excelでスライドショーを効率よく制作する
      2024-10-31
      【Node.js】廃止されたAmazonアソシエイト画像リンクをAmazon Product Advertising API経由で復活させる
      2024-01-08
      【Electron × Vue3】カテゴリ情報のCSVデータを操作するツールを作る
      2023-12-31
      【Electron × Vue3】画像をリサイズして任意の場所に保存するツールを作る
      2023-12-31
      【Electron × Vue3】Electron × Vue3 × TypeScript × Vite でツール開発環境を整える
      2023-12-31
      【Flutter3】Googleスプレッドシートと連携した英単語学習アプリを作る
      2022-12-11
      【Python】Pythonスクリプトをexe、app化する【cx_Breeze】
      2021-08-29