AviUtl

【Unity】H.264動画のエンコード(圧縮)について

unity-H264-video-encoding

アプリ内(100MB)以内で、どの程度の尺の動画を入れることができるか検証してみました。

AVI(非圧縮)動画サイズ

検証用のオリジナル動画

解像度は1280×720pixelです。

30s60s90s
容量2.32GB4.63GB6.96GB

AfterEffectsでエンコード(MP4・H264)した動画サイズ

まずはAEでエンコードテスト

H.264 品質別サイズ

30秒の動画をMP4(H264)で圧縮

品質050100
容量24.4MB87.5MB377MB
画質汚いぎりぎり綺麗

H.264 尺別サイズ

さらに細かく品質を試して、ぎりぎりの画質と判断した品質40にして、エンコードしてみました。

30s60s90s
容量65.7MB105MB281MB

まとめ

結果、AEでのエンコードは画質も悪く、容量をぎりぎり抑えてもアプリ内(100MB)に入れるには30秒程度になる。

AviUtlでエンコード(MP4・H264)した動画サイズ

調べてみて、h.264で細かくチューニングできて、高画質・低容量にエンコードにできる

AviUtl(+プラグイン x264guiEx)を導入してみました

aviutl.info

H.264 尺別サイズ

プロファイルはyoutube設定です。

30s60s90s
容量8.58MB17.1MB25.7MB

まとめ

画質もきれいなままで、AEでエンコードした時よりサイズもかなり小さくなっています。

これであれば、尺が90秒でもアプリ内に動画入れることが可能。

※ただしこのソフトは動画によってはプロファイル設定によって画像がおかしくなる可能性があるので、
その場合はいくつか試す必要があります。

ビルド後の動画サイズ

ビルドしたら圧縮されて、さらに容量が減るのではと思いましたのでテスト

Android(mono)30s60s90s
容量8MB17MB25MB
iOS (il2cpp)30s60s90s
容量9MB18MB26MB

まとめ

ほとんど変わらず。動画のサイズのままと考えた方がよさそうです。

総まとめ

エンコードの方法しだいで、想像以上に容量が減ることがわかりました。

こだわればアプリ内(100MB以内)でも数分の動画を入れることができそうです。

まとめ記事の紹介

参考記事

参考書籍

gitの入門書です。

created by Rinker
¥2,484
(2019/03/20 01:51:12時点 Amazon調べ-詳細)

LifeHackに。

ABOUT ME
すいみん
東京在住。デザイナー寄りのテクニカルアーティスト。 ブログは技術検証の備忘録として書いています。