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

目次 >> ffmpeg >> 動画品質の設定

動画品質の設定

ここでは全コーデック共通の項目について説明する。

ビットレート固定モードと品質固定モード

ビットレート固定モード

旧来、動画エンコードではビットレートを指定してエンコードするのが普通であった。
これの利点は、作成されるファイルサイズがあらかじめわかるという点である。
ただし動画の品質については、動画の内容やサイズによって変わってくるので、ビットレートをいくつか変えてみて満足する値を探す必要がある。

品質固定モード

一方、品質固定モードは、H.264などでのデフォルトのエンコードモードである。
なおこのモードは、比較的新しく、このモードをサポートしていないコーデックもあるので注意が必要である。
この利点は、動画の縦横サイズや内容にかかわらず、あらかじめ指定した品質の動画が作成できる点である。
ただし、ファイルサイズは予測できない。動きの少ないものであれば、ファイルサイズは小さくなるし、サイズが大きくて動きの激しいものは一般的にファイルサイズが大きくなる。

最大ビットレート指定の品質固定モード

このモードは、二つのモードを混ぜたようなモードである。
原則、指定された品質を保つようにエンコードするが、ビットレートは、指定されたビットレートを超えないようにエンコードされる(すなわちその部分は品質が落ちる)。
ただし、最大ビットレートをあまりに低く指定すると、常にそのビットレートでエンコードするようになってしまい、ビットレート固定モードと変わらなくなってしまうので注意が必要である。

品質固定モードでの動画品質の指定 -crf

-crf値で動画の品質を指定する。
小さい値ほど品質は良くなる。
コーデックにより、とれる値の範囲、デフォルト値は違い、また同じ数値でもコーデックにより結果が変わってくる。

ffmpeg -i exapmle.avi -crf 10 exapmle.mp4

最終更新日


本文中の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.

動画のビットレートを指定する -b:v

ビットレート固定モードではこの値を指定する。-b:vオプションで指定。何もつけない場合はバイト/秒。kやMなどをつけるとkbpsやMbpsになる。
以下は300kbpsに指定した例。3例とも同じ意味である。
ffmpeg -i exapmle.avi -b:v 300000 exapmle.mp4
ffmpeg -i exapmle.avi -b:v 300k exapmle.mp4
ffmpeg -i exapmle.avi -b:v 0.3M exapmle.mp4
ビットレートは大きいほどきれいな動画が出来上がる。最新のコーデックを使うほど基本的に小さいビットレートで古いコーデックの大きなビットレートと同等の画質が得られるようになる。また、画像サイズが大きい動画ほど、ビットレートを大きくする必要がある。最終的には、適切なビットレートは何度か試してみて目で見て確認してみるしかない。なお単位のkは1000であり1024ではない。

2パスエンコード

ビットレート固定モードの場合、時間に余裕がない場合を除き、2パスエンコードを行うのが望ましい。
1パス目で動画を解析し、2パス目で解析結果を基に最適な動画を作成する。
なお、品質固定モードの場合は2パスエンコードは意味がないので注意。
やり方は、

ffmpeg -i example.avi -b:v 300k -pass 1 example.mp4
ffmpeg -i example.avi -b:v 300k -pass 2 example.mp4

と、-passを1、2と変えてエンコードする。2パスエンコードの場合、ビットレートを必ず明示的に指定する必要がある。
-passlogfileで、ログファイルを指定することもできる。

最終更新日


本文中の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.