良くわからない人用の超簡単な解説
動画コーデックはVP9かH.265を使っとけ!だめならH.264だ!
ハードウェアエンコードは早くて画質が悪い!ソフトウェアエンコードは遅くて画質が良い!
NVencやQSVやVCEがハードウェアエンコードで、普通にCPUを使うのがソフトウェアエンコードだ!
ソフトウェアエンコードはCPUを使用するから特に配信時は処理落ちに注意!
配信先に制限があるか、回線が劣悪なら固定ビットレートを使え!そうでないなら可変ビットレートだ!
動画コーデック
第三章にも書いたとおり、動画もまた感覚的なものであるので、それ用の専用のコーデックがある。
動画の中のデータは、動画部分が占める割合が(普通は)最も多いので、このコーデックの選択により、同じ画質でも大きくデータ容量が変わる。よって、この動画コーデックの違いは踏まえておきたい。
また、当然対応するコンテナフォーマットも違う。対応しているコンテナでないと収容できないので、これらも覚えておきたい。
また、音声コーデックでも書いた通り、ビットレートの違いで動画を比較することは同じコーデックで無いかぎりできない。
コーデックの違いを比較する場合は基本的にビットレートを揃えてから比較する。
動画コーデックの種類
H.264
H.264は現在かなり主流のコーデックである。
しかし、後継のH.265よりも当然のことながら圧縮率で劣るので、これから段々使用されなくなってくる恐れがある。
ブルーレイディスクで使われることがある。
DivX,Xvid
一時期はDivX,Xvidがもてはやされた時代もあったが今やそうでもなくなってきた。
DivXとXvid、元は同じであるが、XvidはDivXの商用化に反対する一部が分裂して出来たものである。
H.265
H.265はH.264の後継である。H.264の半分のビットレートで同等の画質になるらしい。
まだ新しく、それ故に対応していないコンテナフォーマットもいくつかあるが、これからはこれが主流になる可能性がある。
VP9
VP9は、H.265に対抗するべくできたコーデックであり、フリーなコーデックである。
H.265に対抗すると言うだけあって、H.265と同じビットレートであれば同等レベルの画質になる。
Youtubeは再エンコードする際に動画部分にVP9コーデックを用いている。
もちろん、動画コーデックにも可逆圧縮コーデックはあるが、やはりファイルサイズが大きくなりがちなので省略する。
ただし、原本として持っておいたり、編集途中などで一旦出力し、さらに他の動画で使う場合等は可逆圧縮でも良いかもしれない。
尚、未圧縮もあるが、流石に未圧縮はデータが大きすぎ、いくらなんでも無茶なので書く気はない。
動画のエンコードについて
動画コーデックはファイルサイズの大きい動画を扱うので、符号化させるのにかなり時間がかかる。
そのため、コンテナフォーマットや音声コーデックでは扱わなかったが、ここではエンコードについての知識も書いておこう。
例えば動画を編集する時や、配信する時に、避けて通れないのがエンコードである。
エンコード方法については、
ハードウェアエンコードと
ソフトウェアエンコードがある。
注:キャプチャーボードにおけるハードウェアエンコードとソフトウェアエンコードの違いはここでは取り扱わないので、注意。
ハードウェアエンコードはCPUやGPUの中にある専用回路を用いてエンコードする。
ソフトウェアエンコードはCPUの普通の計算機能を用いてエンコードする。
仮想通貨について勉強している人は、ASICというものを知っているかもしれないが、
ハードウェアエンコードはASICを使ってマイニングをするようなものである。
ではハードウェアエンコードのみを使えばいいのかと言えば、動画においてはそうではない。
ハードウェアエンコードは速度に優れるが、ソフトウェアエンコードよりもビットレートあたりの画質が悪くなる。
ただし、物によっては数十倍の速度でエンコードできるので、 ある程度容量を食ってもいいが高速にエンコードしたい場合はハードウェアエンコード、
容量や帯域幅(配信時)の制限が厳しかったり、そもそも対応していない場合や、画質あたりのビットレートを落としたい場合はソフトウェアエンコードを使うと良いだろう。
ただ、H.265のハードウェアエンコードからはハードウェアエンコードでもそこそこ画質が良くなってきており、もしかしたら今後ハードウェアエンコードにとってかわられる可能性はある。
また、NVencやQSVやVCEと言ったものはハードウェアエンコードのための機能である。
配信時に気をつけるべきことは、ソフトウェアエンコードの場合、CPUの使用率があまりに高くなると処理しきれなくなり、配信に支障をきたす場合がある。
ハードウェアエンコードの場合、リアルタイムエンコード時でも2passエンコードする余裕がある場合もあるい、これで同じビットレートでも画質を上げることもできるが(特に動きの多いものでは)、CPUでは基本的に処理が大きすぎてしまうので、配信時に2passエンコードするようなことは少ない。
また、第三章でも書いた通り、VBRとCBRとABRがあるが、
ニコニコ生放送のように制限が厳しい配信先や、通信速度が低く一秒間に多くのデータ量を送れない場合は確実にCBRにしなければいけないし、
保存目的や、自分の通信環境が良好で、多くのデータをどんどん送れるような回線を持っていて、かつ配信先の制限がゆるい場合はVBRを使うべきだろう。
この章のまとめ
VP9かH.265を使うべし。だめならH.264を使うべし。
処理の早さはソフトウェアエンコードよりもハードウェアエンコードのほうが圧倒的に早い。
ただし、画質あたりのビットレートはソフトウェアエンコードのほうが高い。
ただ、段々ハードウェアエンコードも進化してきており、今後ハードウェアエンコードにとってかわられる可能性はある。
また、配信先に応じてCBRにするかVBRにするかを決めると良い。
PR
COMMENT