目次 >> ffmpeg >> ffmpegのビデオコーデックの指定
ビデオコーデックは、-c:vもしくは-vcodecで指定する。
コーデックを指定しない場合、ffmpegでは、拡張子に応じて、自動的にコーデックが選ばれる。
ただし、自動的に選ばれるコーデックは、ffmpegのバージョンによって違い、例えば、mp4の拡張子でも、H.264が選ばれる場合と、H.263が選ばれる場合があったりする。H.264を使用したい場合は、明示的に、
ffmpeg -i exapmle.avi -vcodec libx264 exapmle.mp4
オプションをつけてやる必要がある。
2014年5月時点で、webmの拡張子ではVP8が使用されるが、このときVP9を使用したい場合などに、-vcodecオプションを使って明示的にビデオコーデックを指定する。
ffmpeg -i exapmle.avi -vcodec vp9 exapmle.webm
とすると、VP9が使用される。
2018年現在、主流はコンテナはmp4、圧縮コーデックはH.264である。現状では最も互換性の高い形式で、現在の主なOSで再生可能である。ffmpegでもmp4を出力動画の拡張子に指定した場合、デフォルトのコーデックとしてH.264が選択される。
現在普及しつつある次世代コーデックとしては、H.265があり、H.264の半分のファイルサイズで同等の画質が実現できる。エンコーダー、デコーダーとも実用の域に達しており、多くのOSでサポートされている。とはいえ古い機器では使えない場合が多いので注意が必要である。
webm形式はGoogleが主導するコンテナである。デフォルトで再生できない場合でも、フリーのソフトを導入するなどして、多くのOSで再生可能である。動画コーデックとしては、VP8およびVP9、音声コーデックとしてはVorbisおよびOpusが利用可能である。VP9およびOpusが最新のコーデックである。特にVP9はH.265に匹敵する画質を持つものとされる。ただし、普及度はYoutubeを除けば今一歩である。
flvはかつて動画サイトで最も一般的なフォーマットで、現在でも多くの動画サイトで使われているが、標準で再生をサポートしているOSはなく、すでに旧式に属するので、特別な事情がない限り選択する理由はない。最新のf4vもあるが、こちらは、ほとんど普及していない。
古くからWindowsで使用されてきたAVIは無圧縮形式を除き、現在では原則避けるべきである。理由は、ほかのOS上での互換性の問題もあるが、そのほかにAVIは様々なコーデックを選択できるため、逆にAVIファイルというだけでは、コーデックの推定はできない。また、ファイルサイズの制限もある。
無圧縮形式の用途は、Matlabなどで、圧縮する前の一時的なビデオを作成する場合に使用される。
Macでは、QuickTimeのmov形式が長らく使用されてきた。WindowsのAVI形式が、再生できないときに、コーデックを探し回る必要があったのに対し、movファイルはQuickTimeプレーヤーでほぼ問題なく再生できるのは利点であった。Windows版のQuickTimeプレーヤーもあり、コーデックにH.264を使うこともできる。もっとも、現在のOSX、iOSは、H.264でエンコードした、mp4ファイルも再生できるので、mov形式を積極的に使う理由はあまりない。
WMV形式は、PowerPointに埋め込む動画用としてしばしば使われる。PowerPointの動画は環境が変わると再生に問題が起きる場合が非常に多い。WMV形式は最も問題を起こす可能性が少なく、WindowsならXPから10まで、ほぼどのOSの、どのPowerPoint上でも問題なく再生できる。
ただしこの役割も、現在はH.264に取って代わられつつある。
最終更新日