H.264 と H.265 を試してみる
動画のエンコードとかなんとか
... Google フォト に動画をバックアップしようとしている「ぼく」だけど、
なんとなくクラウドの容量を節約したいなぁ、って思ってたりしたわけで。
どうにかしてファイルサイズを小さくできないかな、と
エンコードに挑戦してみた、っていうおはなし。
( H.264 と H.265 の違いしかないので、目当てのものじゃない人は戻ったほうがよさそうです)
すぐに結果が欲しい人は下まで飛ばしてください。
(ちょっとそれる)Google フォト のはなし
Google フォト に写真をアップロードするときには2つの方法があって、
・高画質
無制限にアップロードできる けれど。
> 画像であれば....
画素数が 16 メガピクセル(16,000,000 = 1600万画素)を超えていると 16MPに縮小 されちゃう。
(最近のスマホのカメラの「17M」とか「23M」だとひっかかる)
> 動画であれば...
画素数が 1080 p (1920 x 1080) を超えていると縮小されちゃう。
(スマホのカメラだと、ほぼひっかかる)
そうじゃなくても再圧縮はかかっちゃう。(でも、あんまり違いはない)
・元の画質
Google アカウントの容量を使うけれど、
画像でも動画でも、もともとのファイルと同じ解像度になる。
使っているスマホの SH-04H だと動画を 3840 x 2176 の画質で撮れるから、
「高画質」でアップロードすると縮小されちゃう。
でも、なんとかして使う容量を節約したいなぁ、と思って
AviUtl を使って編集することにしてみた。
(花火の動画だから、ある程度トリミングはできるし.....)
エンコードによるファイルサイズ(とか)の違い
あるとき撮った花火の動画を編集し終わって(クリッピングだけ...)さっそく出力(エンコード)しよう、と。
どのコーデックを使えばいいかわからなかったから、
なんとなく有名な H.264 と H.265 でくらべてみました。
ちなみに、再生した環境は Windows 10 の VLC media player で、
CPUは Intel i-4712HQ (2.3 GHz × 8コア)です。
(HWD は ハードウェアデコーディング を勝手に略しました)
・もともとのファイル (SH-04H の「SHカメラ」で撮った、 .mp4 ファイル)
※エンコードしたあとのファイル(下のほう)とは画素数が違います。
長さ | 1分 3秒 | |
FPS | 29.68 FPS | |
サイズ | 242 MB | |
画素数 |
3840 × 2176(4K2K) = 8.3 MP |
|
ビットレート | 32265 kbps | |
HWDあり | CPU | 90 % |
GPU負荷 | 35 % | |
HWDあり | CPU | 90 % |
GPU負荷 | 36 % |
けっこうカクカクしてました。
でも、これが普通の動画です。
(逆に、このファイルをふつうに再生できる Android はどうなってるんだろう)
長さ | 1分 3秒 | |
FPS | 29.68 FPS | |
サイズ | 131 MB | |
画素数 |
2850 × 2160 = 6.1 MP |
|
ビットレート | 17452 kbps | |
HWDなし | CPU | 29 % |
GPU負荷 | 7 % | |
HWDあり | CPU | 1 % |
GPU負荷 | 12 % | |
エンコードにかかった時間 | 8分 |
H.264 でエンコードしたら半分のサイズになりました。
再生するときのCPUへの負荷もなかなか小さいので、
スペックのそんなに高くないPCでも再生できるかも?
・H.265 エンコードしたもの
長さ | 1分 3秒 | |
FPS | 29.68 FPS | |
サイズ | 38 MB | |
画素数 |
2850 × 2160 = 6.1 MP |
|
ビットレート | 5044 kbps | |
HWDなし | CPU | 36 % |
GPU負荷 | 7 % | |
HWDあり | CPU | 55 % |
GPU負荷 | 99 % | |
エンコードにかかった時間 | 15分 |
ファイルサイズが 1/6 くらいにものすごく小さくなってました。
ただ、再生するときの CPU と GPU への負荷が
ある程度あるので、ちょっとカクカクしてしまうパソコンもあるかも。
ハードウェアデコードと相性が悪いと GPU か CPU が100%になってしまって再生できませんでした(クラッシュしちゃった)。
まとめ
・基本はエンコードしたほうがいい。でも再生できないものもある...
・CPU 負荷が少なく再生できるデバイスも多い
・H.265 に比べればファイルサイズは大きい
・エンコードはわりと早い
・H.265 でエンコードしたものは、
・CPU 負荷が大きく、再生できるデバイスはまだ少ない
・ファイルサイズがかなり小さい
・エンコードは遅い
・Google フォトでなぜか再生できない場合があった
花火の動画だから大きく差が出たのかもしれないけれど、
別の動画でも検証してみるといいかも?
(ちなみに、撮った写真)
きれいだった。