owned mediaウェブ制作に役立つコンテンツを発信中!

ffmpegで動画ファイルのフォーマット変換やエンコードを行う

最終更新日: Update!!
動画ファイルのフォーマット変換やエンコードにはAdobeのPremiere Proといった動画編集ソフトがおなじみですが、ツール操作の知識が必要であったり、プロ仕様ということでハードルが高い印象があります。そこで今回はffmpegを使って動画ファイルのフォーマット変換やエンコードをやってみたいと思います。  
動画編集ツールffmpegについて
ffmpegは動画データや音声データを変換できるフリーのソフトです。基本的にはCUIとしてコマンドライン上での操作になるので、コマンド操作をあまりしない場合だと慣れないかもしれません。   ffmpegで動画ファイルのフォーマット変換やエンコードを行う   いろんな動画ファイルや音声ファイルのフォーマットをサポートしており、画像データも扱えます。またオプションも豊富に用意されており、コーデックなどの様々な指定を簡単に実行することも魅力です。  
ffmpegのインストール(macOS)
まずはffmpegをインストールする必要があります。インストール方法は公式サイトから実行ファイルを直接ダウンロードする方法もあるようですが、今回はHomebrewでインストールを進めていきます。下記コマンドでffmpegのインストールが開始します。
$ brew install ffmpeg
  インストールが完了すると正常にインストールできたかを確認します。バージョン名が表示されればOKです。
$ ffmpeg -version
   
ffmpegをコマンドライン上で操作する
実際のfmpegの操作は全てコマンドで操作していきますが、操作方法も特に難しくはありません。基本的なコマンドをベースに必要に応じてオプションを追加していくだけです。今回はユースケースに合わせてサンプルのコマンドを上げていきます。   ffmpegで動画形式を変換する
$ ffmpeg -i INPUT_FILE OUTPUT_FILE
  動画フォーマットを変換します。変換前のファイルに続けて変換後のファイル名を指定して実行します。この時のエンコードには自動でデフォルトの設定が適用されるようです
// コマンドの例
$ ffmpeg -i sample.mov sample.mp4
    コーデックやビットレートなどをオプション指定して動画をエンコード
$ ffmpeg -i INPUT_FILE [option] OUTPUT_FILE
  コーデックのいろんなオプションを指定できます。基本的な入力方法は先ほどと同じです。
// コマンドの例
$ ffmpeg -i sample.mov -vcodec h264 -acodec mp3 -b:v 5000k -r 29.97 -s 1280x720 -pix_fmt yuv420p sample.mp4
  以下はオプションの一例です、コーデックの種類や各種レートの値も一括で指定できます。
-vcodec ビデオコーデック
-acodec オーディオコーデック
-b:v ビデオビットレート
-b:a オーディオビットレート
-r フレームレート(毎秒)
-ar サンプリングレート(音声周波数)
-s 解像度
-aspect アスペクト比
-pix_fmt ピクセルフォーマット
  補足:デフォルトのコーデックではQuickTime Playerで再生できないことがあるそうです。再生できるようにするためにはピクセルフォーマットのオプションにてyuv420pを指定する必要があります。 (参考記事) 【備忘録】ffmpegを利用した動画ファイルフォーマット変換     動画ファイルから音声ファイルを抽出
$ ffmpeg -i INPUT_FILE -acodec copy OUTPUT_FILE
  動画ファイルに含まれる音声データをそのまま抽出することができます。
// コマンドの例
$ ffmpeg -i sample.avi -acodec copy sample.mp3
    動画ファイルの詳細情報を表示
$ ffmpeg -i VIDEO_FILE
  コーデックの種類や各種レートの値などの動画データに含まれるメタデータを表示できます。エンコードの際に参考とすることができます。  
  いかがでしょうか、このほかにも動画のトリミングや静止画として書き出しなどいろんなことができるようですが、またそれは後日別記事でまとめていきたいと思います。ffmpegではコマンド一発で手軽にフォーマット変換やエンコードができるのがいいですね。   (参考にさせて頂いたサイト様) ffmpegの最も基本的な使い方 ffmpeg に関する覚え書き
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram