トップ > ボツ編 > 動画の容量を小さくする方法/ 2010年10月01日 (金) 20時53分32秒



目次




総説


動画の容量を小さくする理由


  • ニコニコ動画(以下「ニコニコ」と表記)に動画を投稿するさい、投稿しようとしている動画のファイルサイズに注意しなくてはいけません。なぜなら、投稿できる動画のファイルサイズには制限があり、この制限をクリアしないと動画を投稿することができないからです。たとえば、サイズが500MBある実況プレイ動画を作成したとします。これをそのままニコニコに投稿しようとしても、サイズ制限に引っかかるためエラーが表示されます。

  • では、どれくらいまでのファイルサイズなら投稿できるのかということになりますが、この点については会員の種類や、動画ファイルの形式によって異なります。たとえば、一般会員(無料会員)がWindows ムービーメーカーを使って作成したWMV形式の動画を投稿しようとするなら、100MB以内にファイルサイズを抑えなくてはいけません。

一般会員 プレミアム会員
対応している動画形式 FLV、MP4、DivX、WMV、MPEG-2など
1個あたりのファイルサイズ FLV、MP4 40MB以内 100MB以内
その他の形式 100MB以内
FLV、MP4のビットレート上限 600kbps 制限なし

エンコードの必要性


  • そこで、動画のファイルサイズを小さくする方法が問題になります。つまり、いまHDDに保存してある動画のファイルサイズを、どのようにして小さくするのかということです。方法はいくつか考えられますが、もっとも基本的で効果が大きいのは、ビットレートを小さくしてエンコード(再エンコード)する方法と、動画の長さ(再生時間)を短くする方法です。

  • どういうことかというと、動画のファイルサイズはビットレート×再生時間で決定されるので*1、再生時間が同じであればビットレートが小さいほうが動画のファイルサイズも減少することになります。たとえば、5Mbps(5,000kbps)で15分の動画と、300kbpsで15分の動画とでは、後者のほうが動画のファイルサイズが小さくすむわけです。そこで、一定以下のファイルサイズになるようにビットレートを指定してエンコードすればよいのです。ただし、画質は場合によってはかなり落ちます。

ファイルサイズ 画質
低ビットレート 小さい 低画質
高ビットレート 大きい 高画質

▲再生時間が同じである場合、低ビットレートの動画のほうがファイルサイズは小さくなります。

  • また、動画のファイルサイズがビットレート×再生時間で決まるということは、ビットレートを変更せずとも再生時間を短くしてエンコードすることでも、動画のファイルサイズを減らすことが可能です*2。たとえば、ビットレートが300kbpsで再生時間が15分の動画と、ビットレートが300kbpsで再生時間が30分の動画とでは、前者のほうがファイルサイズは小さくなります。ただし、動画ファイルの数が増えてしまうというデメリットがあります。

ファイルサイズ 動画の投稿回数
短時間 小さい 増える
長時間 大きい 減る

▲ビットレートが同じである場合、再生時間が短い動画のほうがファイルサイズは小さくなります。

▲画面の上へ

サーバサイドエンコード


サーバサイドエンコードとは


  • ニコニコ用に動画をエンコードしてファイルサイズを小さくするさい、サーバサイドエンコードというものに注意しなくてはいけません。これは、ニコニコに動画を投稿するときに自動的に行われるエンコードのことです。サーバサイドエンコードされると画質・音質は劣化しますから、サーバサイドエンコードを回避する必要があるのです。

  • たとえば、Windows ムービーメーカーを使って動画をエンコードしたとします(WMV形式の動画となります)。この段階ですでに画質・音質は劣化しています。そして、ニコニコに動画を投稿するさいに、再びエンコード(サーバサイドエンコード)されるので、さらに画質・音質は劣化します。そうすると、最初は高画質・高音質の動画であったとしても、最終的には低画質・低音質の動画になってしまうかもしれません。

  • そこで、サーバサイドエンコードを回避する必要があるわけです。サーバサイドエンコードを回避するための要件はいくつかあり、これらすべての要件を満たしていればサーバサイドエンコードされることはありません。ニコニコに投稿されている高画質な動画は、少なくともサーバサイドエンコードを回避するための要件を満たしているのです。

サーバサイドエンコードの回避要件


  • サーバサイドエンコードを回避するための具体的な要件は下記表のとおりですが、すべてを覚える必要はありません。重要な項目だけ覚えておきましょう。とりあえずは「MP4」「MPEG-4 AVC/H.264」「AAC」といったキーワードと、「1ファイルあたりのサイズ」「平均ビットレート(映像+音声)」における数字を覚えておけば十分です。よくわからない用語については動画の基礎知識をご覧ください。

コンテナ FLV1 FLV4 MP4
映像コーデック H.263 On2 VP6 MPEG-4 AVC/H.264
ビデオサイズ プレミアム会員 制限なし
一般会員 800×600以内
フレームレート 0.33fps~120fps
音声コーデック MP3、PCM AAC
サンプリングレート 22kHz、44.1kHz 48kHz以下
1ファイルあたりのサイズ プレミアム会員 100MB以下
一般会員 40MB以下
平均ビットレート(映像+音声) プレミアム会員 制限なし
一般会員 600kbps以下

  • 以前はサーバサイドエンコードの回避を狙ってFLV形式の動画を投稿する人が多かったのですが、2010年現在はより高画質なMP4形式の動画を投稿する人が多いようです。このページでは、MediaCoderというソフトウェアを使って、動画のファイルサイズを小さくしつつサーバサイドエンコードを回避できる動画を作成するための方法を載せています。

  • より高画質にこだわる場合などは、H.264で高画質をご覧ください。Aviutlというソフトウェアを使用した方法を書いておきました。また、手軽さを求める場合はニコエンコというソフトウェアを使うのもよいでしょう。つんでれんこ(開発終了)というソフトウェアもあります。

▲画面の上へ

確認事項


  • 実況プレイ動画がすでに完成していることを前提として解説しています。すなわち、「実況プレイ動画は完成していて、あとは投稿するだけだが、ファイルサイズがオーバーしている」という状態を想定しています。ファイルサイズを調べるには、動画ファイル上で右クリックして「プロパティ」をクリックします。そして「全般」タブの「サイズ」というところを見てください。

  • カット編集はMediaCoderで行うことができますが、あくまでも簡易的な機能でしかありません。そのためMediaCoderを使うのは、動画編集をしたあとか、または動画編集をせずにエンコードしたいときにほぼ限られるでしょう。MediaCoderは動画編集をするためのソフトウェアではなく、あくまでもエンコードするためのソフトウェアということです。

  • また、もう1点注意しておきたいことがあります。アマレココアマレコ・ライトアマレコTV、およびDxtoryといったキャプチャーソフトを使って録画した場合で、ビデオコーデックAMVコーデックまたはDxtoryコーデックを使用している動画は、MediaCoderではエンコードできません


▲MediaCoderが対応していない動画をエンコードしようとすると、「Failed to load MEncoder. This is possible that the decoder is absent or it doesn't support the specified file.」 というエラーが表示されます。「OK」をクリックすると上記画像のように表示されます。

  • この場合、ほかの動画形式にいったん変換するか、AviUtlやニコエンコなど別のエンコーダーを使用してエンコードしてください*3。MediaCoderが対応しているほかのコーデックを使用して録画するか、または未圧縮で録画するという方法もあります。難しいことはしたくないというのであれば、現在のところニコエンコを使用するのがもっともよいでしょう。AMVコーデックやDxtoryコーデックで録画した動画もエンコードできます。

ビデオコーデック名 MediaCoderでの動作
MPEG-2
MPEG-4 AVC/H.264
DivX
WMV
Huffyuv
AMV ×
Dextory ×

▲画面の上へ

MediaCoderの準備


  • MediaCoderを使って、動画のファイルサイズを小さくしてみましょう。MediaCoderを使えば、あまり時間をかけず簡単にできます。

ダウンロード


  • まずは公式サイトダウンロードページから、MediaCoderをダウンロードします。「Get MediaCoder」という項目にある「Choose your MediaCoder edition to download」→「MediaCoder Full Edition」の順にクリックします。そして、「MediaCoder x86 Edition」または「MediaCoder x64 Edition」の「Latest Version」をクリックしてください。

  • 32bitマシンの場合は「MediaCoder x86 Edition」を、64bitマシンの場合は「MediaCoder x64 Edition」をそれぞれ選ぶことになります。PCが32bitマシンか64bitマシンか不明であるときはOSをご覧ください。

  • 「Please choose a download server」というページが表示されるので、「Server 1」を選択します。するとMediaCoderのダウンロードが開始します。

インストール


  • つぎに、このファイルをダブルクリックしてインストールします。基本的に画面を順に進めていくだけでかまいませんが、「Choose Components」の画面が表示されたら「Audio Components」のプラスアイコンをクリックし、「Nero AAC Encoder」にチェックが入っていることを確認します。


▲インストール時、「Choose Components」の画面で「Audio Components」の「Nero AAC Encoder」にチェックが入っていることを確認してください。

  • インストールが終了したらMediaCoderを起動してみましょう。デスクトップにMdieaCoderのショートカットアイコンがあります。MediaCoder起動時、自動的にWebページが開きますが、ページ下部にある「ナビゲーション、次の起動時にこのページ」にチェックを入れて「Start Now」をクリックしておくと、次回からは通常の起動となります。Webページは開きません。


  • MediaCoderを日本語化しておきます。MediaCoderを起動→「Options」→「User Interface Language」→「Japanese」→「OK」の順にクリックし、MediaCoderを再起動します。


▲画面の上へ

MediaCoderの設定


動画ファイルの読み込み


  • では、動画ファイルを開いてMediaCoderの設定をしましょう。動画ファイルは、「ファイル」→「ファイルの追加」から読み込めます(または「追加」ボタン)。ファイルを空欄に直接ドラッグ&ドロップして読み込むこともできます。

「Generic」タブ


  • 「出力フォルダ」で動画の保存場所を選択します。「参照」をクリックして指定しましょう。

「ビデオ」タブ



  • 「ビデオを有効にする」にチェックが入っていることを確認し、「形式」を「H.264」に、「モード」を「CBR」にします。「xxxKbps」の欄にはビデオビットレートを入力します。さきほど述べたとおり、ここで入力すべき数値は会員の種類や動画の再生時間によって異なります

  • MP4形式の動画にしますので、前述した表を参考にしてビットレートを入力しましょう。細かい数値についてはあとで微調整します。いまはとりあえず適当な数値でかまいません。よくわからない場合は200~500にしておきます。

  • 右側の「x264」タブには画質を決定づける設定項目がありますが、とくに変更する必要はありません。

「オーディオ」タブ



  • 「オーディオを有効にする」にチェックが入っていることを確認し、「エンコーダ」を「Nero Encoder」または「FAAC」にします。どちらでもよいのですが、ここでは前者を使用することにします。また、「形式」は「LC-AAC」を選択します。


  • 「レートモード」を「CBR」にします。「ビットレート/品質」にある「xxxKbps」にはオーディオビットレートを入力します。とくに音質にこだわらないかぎり64でよいでしょう。ある程度音質にこだわりたい場合は、128または192にしておきます。

「コンテナ」タブ



  • 「コンテナ」を「MP4」にします。「多重チャンネル」は「自動選択」にします。

「画像」タブ



  • リサイズ」にチェックを入れ、「512×384」または「512×288」を選択します。どちらを選択すべきかはアスペクト比によります。

  • たいていは512×384(4:3)を選べば問題ないはずですが、512×288(16:9)を選ぶべきところを512×384にしてしまうと、映像が縦に伸びた状態になってしまいます。逆に、512×384を選ぶべきところを512×288にしてしまうと、映像が横に伸びた状態になってしまいます。

▲画面の上へ

MediaCoderによるエンコード


ファイルサイズの確認


  • 最後に動画をエンコードします。右側にある「概要」タブの「推定ファイルサイズ」を見て、所定のファイルサイズになるのか確認します*4。MP4形式の動画を出力するので、一般会員なら40MB以下プレミアム会員なら100MB以下でなくてはいけません。


  • かりに推定ファイルサイズがオーバーしている場合は、「ビデオ」タブや「オーディオ」タブでビットレートを調整しなおします。あまりギリギリにならないようにしましょう。

エンコードの開始


  • エンコードは、「menu_job」→「変換開始」で開始します(または「スタート」ボタン)。プレビュー画面が表示され、エンコードの進捗状況を確認することができます。

  • エンコードが終了したら、「再生」→「menu_play_result」で動画を再生してみましょう(または「プレビュー」ボタン)。問題がなければ、あとは動画をニコニコに投稿するだけです。

  • エンコードを終了した動画はリスト欄に「Done」と表示されます。ファイル名を選択して「Delete」キーを押すか、右クリックして「選択したアイテムを削除」をクリックすると、一覧からファイル名を削除することができます。


▲画面の上へ

Tips


  • SMILEVIDEOに動画を投稿するさい、「エンコードしています…。」と表示されますが、これは動画のアップロード時に必ず表示されます。

  • MediaCoder起動時に表示される絵は、非表示にすることができます。Firefoxがインストールされていることが条件ですが、「ファイル」→「設定」→「Overall」をダブルクリック→「User Interface」をダブルクリック→「Show splash for specified time...」を選択し、フォームに「0」と入力 →「Apply」ボタンを押します。

▲画面の上へ

関連ページ


  • このページと関連性の強いページは以下のとおりです。

ページ名 内容 重要度
コメント 動画の容量を小さくする方法についての質問など -
動画の基礎知識 動画作成における基本的な事項 A
H.264で高画質 ファイルサイズを小さくする方法 B+
SMILEVIDEOの仕様 ニコニコ動画の仕様について B

▲画面の上へ


トップ > ボツ編 > 動画の容量を小さくする方法/ 2010年10月01日 (金) 20時53分32秒
最終更新:2010年10月01日 20:53

*1 ここでは単位の違いを度外視しています。1バイトは8ビットなので、通常は単位を合わせるためにさらに8で割った値がファイルサイズになります。

*2 再生時間を短くする方法として、動画編集ソフトで不要な部分をカットしていくという手法があります。重要でないところ、冗長なところをピンポイントでどんどん省いていけば、自然と動画の再生時間は短くなります。また、録画する時間を短くする方法もよいでしょう。具体的には、1回あたりの録画時間を10分などと事前に決めておいて、10分経過した時点で録画を停止、その後また10分録画して停止、という作業を繰り返すのです。

*3 ほかの動画形式に変換するというのは、ここではMediaCoderで読み込める動画ファイルにするということです。たとえば、アマレココで録画したとします。そして当該動画ファイルをAviUtlで読み込み、DivX形式にエンコードします。最後に、それをMediaCoderで読み込んで再エンコードするということです。ただ、通常のコーデックで動画をエンコードしてしまうとエンコードのたびに画質・音質が劣化していきます。そこで、いまの例ではAviUtlで動画をエンコードするさいにはHuffyuv (ハーフワイユーブイ)というコーデックをインストールして使うのがよいでしょう。画質・音質が劣化していない状態の動画ファイルをAviUtlで作成できるので、高画質・高音質を維持したままMediaCoderで再エンコードすることができます。一連の流れとしては、録画→AviUtlでHuffyuvを使用してエンコード→MediaCoderで再エンコードということになります。また、ほかのエンコーダーを使用してエンコードするというのは、MediaCoderを使用せずにAviUtlなどを使ってエンコードするということです。

*4 なお、「ビデオ」タブの「モード」で「Quality-based」を選択しているときは、推定ファイルサイズは「N/A」と表示されます。