Twitterに投稿 はてなブックマークに追加 Yahoo!ブックマークに追加 Google Bookmarksに追加

目次 >> ffmpeg >> ffmpegのビデオコーデックの指定

ビデオコーデックの指定

ビデオコーデックを指定する。-vcodec -c:v

ビデオコーデックは、-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が使用される。

動画コンテナおよびコーデックの選び方

2014年現在、主流はコンテナはmp4、圧縮コーデックはH.264である。現状では最も互換性の高い形式で、現在の主なOSで再生可能である。ffmpegでもmp4を出力動画の拡張子に指定した場合、デフォルトのコーデックとしてH.264が選択される。

次世代コーデックとしては、H.265があり、H.264の半分のファイルサイズで同等の画質が実現できるとされる。エンコーダー、デコーダーともほぼ実用の域に達しているが、通り使えるオプションが少なかったり、対応する機器が少ないなどの問題はある。

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形式を積極的に使う理由はあまりない。

最終更新日


本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて17.04、18.04のようにバージョン番号をつけて区別しています。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2014 Chikuma Engineering Co., Ltd. All Rights Reserved.