しかし、「良い」目標ビットレートを決定する方法があるかどうか疑問に思っています…
適切なターゲットビットレートは、次のいずれかのビットレートです。
- マテリアルをストリーミングしているネットワーク(3Gネットワーク、自宅のWiFiなど)でサポートされており、計算が非常に簡単です
- よさそうだ、これは非常に主観的な尺度
22 Mbit / sまたは45 Mbit / sは、平均的なユーザー、特にh.264のような既に圧縮されたビデオでは、実際に非常に高いです。あなたは間違いなく先に進み、常に許容できるストレージ容量と失われたい品質の大きさに関して、「適切な」値にビットレートを下げることができます。
1080pビデオのサイズを本当に必要としない場合、または編集する処理能力がない場合は、1080pビデオのサイズを720pに変更することもできます。
…または可変ビットレートを実行しようとする点がある場合
固定ビットレートのポイントは、送信されるビデオの最大ビットレートを制限するボトルネックがあるストリーミングメディアシナリオに適応することです。今日のマルチメディアの世界では、これは必ずしも意味をなさない。
ビデオを一定のビット/秒に絞ると、基本的にエンコーダーは常に同じ量のビットを使用して同じ時間フレームをエンコードするように指示します。それが最良のアプローチですか?あなたが今までに推測したかもしれないように、そうではありません。HandbrakeからCRFガイドを引用(これについては後で説明します):
目は、静止しているオブジェクトが動いているときよりも詳細に知覚します。このため、ビデオコンプレッサーは、物事が動いている場合はより多くの圧縮を適用(詳細を低下)し、物事が静止している場合はより少ない圧縮(詳細を保持)を適用できます。主観的には、ビデオは高品質のように見えます。
そのため、可能な限り可変ビットレートを使用するのは理にかなっています。同じファイルサイズの固定ビットレートビデオであっても、ビデオの見栄えが良くなります。
さらに、最も有名なx264であるほとんどのエンコーダーは、固定ビットレートを使用するように指示すると非常に性能が低下することがよくあります。フレームに何ビットを費やしたいのかという意味で、彼らにもう少し「自由」を与える方が良いです。結局のところ、それはエンコーダーの仕事であり、あなたではありません。そして、それは「一定の品質」と呼ばれます。
それで十分です–実際にはそれはどういう意味ですか?FFmpegを使用してビデオをエンコードする場合、すでに十分なツールを使用しています。現在x264もインストールされており、両方の最新バージョンを使用している場合、現在無料で入手できる最高のエンコーダーの1つを使用しています。固定ビットレートでエンコードする代わりに、x264で使用する金額を選択できます。これを行うには、Constant Rate Factorオプションを使用します。
非常に簡単な場合、これは17〜23の値を設定することを意味します。再多重化のためのより優れたツールがあるため、MOVではなくMP4を出力コンテナとして選択します。
ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4
値が低いほど品質が良くなり、出力が大きくなります。逆に、高いほど、品質は低くなります。同時に、当然ながら必要な平均ビットレートを削減します。の詳細については、x264エンコーディングガイドをご覧くださいffmpeg
。
ここでのタスクは、次のようなCRF値を見つけることです。
- 全体的なビットレートを、余裕のあるレベルまで下げます
- 品質をあまり低下させないので、ビデオはまだきれいに見えます
はい、これには多くのエンコードと試行錯誤が伴いますが、これはビデオのチューニングとエンコードを行う際の日常業務です。
ああ、コマンドラインが気に入らなければ、Handbrakeはまったく同じことを行う無料のクロスプラットフォームツールです。CRFスライダーもあります。