ffmpegの使い方

Posted by     "roadman" on Friday, October 11, 2019

TOC

ffmpegの使い方

 機能は多すぎて全ては説明できませんが、主に動画の情報を調べたり、動画の変換、音声の取り出し、動画作成などに使います。

ffmpegとは?

 無料で使えるオープンソースの動画変換、編集、配信まで行えるソフトです。動画編集をする方なら知らない方はいないでしょう。  基本的にコマンドラインで操作するためGUIしか馴染みがない人は最初は辛いかもですが、あらゆる機能が無料で使える上に高機能なので、覚えておいて損はないです。 正直機能が多すぎて全部覚えることなど無理なのですが、自分が必要なところだけ覚えればいいでしょう。

公式サイト

ffmpegインストール方法

macの場合

  • macならbrewコマンドが入っていれば以下の方法でinstallできる。

    brew install ffmpeg
    
  • コマンドラインで作業する場合、何かと便利なのでbrewコマンドはいれておいたほうがいい。

windowsの場合

  • 公式サイトからダウンロードしましょう。ダウンロードサイト
    • Versionは最新のもの、ArchitectureはWindows 64-bit、LinkingはStaticを選んでDownload Buildを押すとzipファイルでダウンロードされる。

ffmepgの基本的な使い方

  • 基本的な使い方は以下の入力方法。

    ffmpeg [入力用オプション] -i [入力ファイル名] [出力用オプション] [出力ファイル名]
    
  • 例としてオプションが必要ない場合。以下ではmp4ファイルから音楽データを抜き出してmp3ファイルに出力している。特にオプション指定がなくても、出力ファイルのサフィックス(mp3)から、ffmpegが出力形式を自動的に判別する。

    ffmpeg -i himehina.mp4 himehina.mp3
    
  • また、動画のコーデックなどの情報だけを知りたい場合は入力ファイル名を指定するだけでいい。

    ffmpeg -i himehina.mp4
    
  • 色々情報は出てくるがStreamVideoAudioのところを見ればいい。

    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709), 914x520 [SAR 1:1 DAR 457:260], 5393 kb/s, 60 fps, 60 tbr, 6k tbn, 12k tbc (default)
    Metadata:
      creation_time   : 2019-09-30T18:05:13.000000Z
      handler_name    : Core Media Data Handler
      encoder         : H.264
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 313 kb/s (default)
    

パターン1:movファイルからmp3/aacを取り出す(mac)

  • mac限定だが、デスクトップのプレイ動画などをquicktimeのデスクトップ録画で作った場合、ファイル形式はmovになる。movファイルはVideoはh264、Audioはaacで作る。
  • aacでもmp3でも音声を取り出すだけなら以下のように出力ファイル名を指定すればいい。ただし、mp3はmovのAudio形式と違うためエンコードが発生して遅くなるので注意されたし。

    ffmpeg -i himehina.mp4 himehina.mp3
    または
    ffmpeg -i himehina.mp4 himehina.aac
    
  • オプションを指定しないと、サンプリングレートは元の動画のAudioの44.1kHz、ビットレーどは64kbpsになった。

  • ビットレートを下げたい場合は-abオプションを使う。`-ab`オプションは、キロバイトで指定するので、32kbにしたい場合は以下のようになる。

    ffmpeg -i himehina.mp4 -ab 32k himehina.mp3
    
  • mp3のID3 tagに情報を書き込むこともできる。詳細はこちらのサイトをみてもいい。

    ffmpeg -i himehina.mov -ab 32k -metadata title="himehina music" -metadata artist="himehina" -metadata album="himehina album" himehina.mp3
    

パターン2:movファイルからmp4ファイルを作成する

  • movのままだとスマフォで再生できなかったりするのでmp4に変換しよう。基本的には今までと同じで出力ファイルの拡張子をmp4にするだけなんだが、スマフォ用にサイズを下げたいので例では少しオプションを指定する。

    • 画像サイズをリサイズするために-vfを指定する。scale=320:-1は、横幅320指定で、縦幅はアスペクト比はそのままで自動的にサイズ指定する。
    • -rはfpsの指定。movは普通に録画すると60fpsだったりするが、映像的には30fpsでも十分なので指定している。

      ffmpeg -i himehina.mov -vf scale=320:-1 -r 30 himehina.mp4
      

パターン3:元動画から同じ形式で好きなところを切り出す

  • 元動画から特定の箇所を秒数で切り出す方法です。

    • -c copyをつけると元動画と同じ形式での切り出しなので、高速です(違う形式を指定するとエンコードが行われるため処理時間がかかります)。
    • -ssが、切り出しを開始する動画先頭からの秒数です。
    • -tが、切り出す長さです。

      ffmpeg -ss 120 -i himehina.mov -t 30 -c copy himehina.mov
      

終わりに

  • 他にも色々書いておきたことはあるので、ffmpegを使うたびに更新していきます。