動画変換に使えるFFmpegメモ

動画にまつわるトラブル

[問題] 自分のPCで見れるのに別のPCでは見れない → [原因] コーデックが入っていない為

コーデックって何?

対象の動画ファイルから復号化して映像を取り出すソフトウェアです。
世の中には複数のコーデックが存在し、OSにあらかじめインストールされているものもありますが、新しいコーデックになると古いPCではコーデックがインストールされておらず見れない現象が起こります。

拡張子ではコーデックを判断できない

動画ファイルにはaviやmp4などの拡張子がありますが、aviやmp4だからどのPCでも見れるという認識は誤りです。
aviやmp4の規格を調べると「コンテナ」という単なる入れ物を定義しているに過ぎません。
中身が対応していないコーデックで符号化されていれば、その動画は見ることができないわけです。
また、コーデックには映像と音声それぞれにあり、場合によっては映像だけで音声が流れないとか、逆に音声だけ再生されるといった現象も起こります。
再生されるようにするには必要なコーデックをインストールしないといけません。
ただ、複数のPCから見る場合にはすべてのPCにコーデックをインストールするのは手間です。OSが対応しているコーデックを使うように動画を変換するのがいいでしょう。

まとめ

自分のPCで見れるようにするにはコーデックのインストール
複数のPCから見れるようにしたければ、広くサポートされている無難なコーデックでの保存をおすすめします。

Windows Media Player for Windows XP でサポートされている codec



ここからはFFmpegを使って動画を変換する方法を紹介します。

目次

0.FFmpegのメリット

逆にデメリットとしては、敷居が高いことでしょう。

1.FFmpegでできること

2.手っ取り早く使うためのFFmpegコマンド

// デフォルト設定で動画変換
ffmpeg -i [入力ファイルパス] [出力ファイルパス]

// ビットレートを上げて画像品質を良くする(ffmpegのデフォルトは200k、変換後に粗いと感じたら利用する)
ffmpeg -i [入力ファイルパス] -b:v 1.5M [出力ファイルパス]

// 連番画像(PNG)を「00000.png」のようなファイル名で出力
ffmpeg -i [入力ファイルパス] %05d.png
// 音声(wav) をmp3形式に変換する (オーディオビットレートを128kBに指定)
ffmpeg -i [入力ファイルパス] -ab 128k xxx.mp3
// 音声(wav) をogg形式に変換する (オーディオコーデックにlibvorbisを指定、ビットレートを128kBに指定)
ffmpeg -i [入力ファイルパス] -ab 128k -acodec libvorbis xxx.ogg

3.FFmpegの「あるあるネタ」

4.動画変換のためのざっくりとした解釈

なんかもう詳しい内容がありました。→ FFmpeg (wikipedia)