読者です 読者をやめる 読者になる 読者になる

CGメソッド

CG制作に関してのヒント

MENU

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

Unity Unity-Tips Freesoft Freesoft-AviUtl

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

AVI(非圧縮)動画サイズ

検証用のオリジナル動画

解像度は1280×720pixelです。

30s 60s 90s
容量 2.32GB 4.63GB 6.96GB 

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

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

H.264 品質別サイズ

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

品質 0 50   100
容量 24.4MB 87.5MB 377MB  
画質 汚い ぎりぎり 綺麗  

H.264 尺別サイズ

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

30s 60s 90s
容量 65.7MB 105MB 281MB  

まとめ

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

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

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

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

aviutl.info

H.264 尺別サイズ

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

30s 60s 90s
容量 8.58MB 17.1MB 25.7MB  

まとめ

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

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

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

ビルド後の動画サイズ

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

Android(mono) 30s 60s 90s
容量 8MB 17MB 25MB  
iOS (il2cpp) 30s 60s 90s
容量 9MB 18MB 26MB  

まとめ

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

総まとめ

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

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