トップ > ボツカテゴリ > H.264で高画質 / 2015年02月18日 (水) 21時25分34秒



  • この解説記事をわかりやすくリニューアルしました。2016.12.10

        ニコニコ動画に高画質な動画をアップロードする方法

  • ↓↓↓以下の解説は、古いので読む必要はありません。



























目次


ポイント


  • ニコニコ動画に動画を投稿するうえで気をつけたいポイントはふたつあります。すなわち、(1)なにも考えずに動画を投稿すると、ニコニコ動画側で再エンコードされるという点と、(2)動画投稿時にエラーが出て投稿できないことがある、という点のふたつです。この2点はとても重要なので、しっかりと理解しておきましょう。


  • (1)は、ニコニコ動画側で強制的に動画が再エンコードされることによって、画質・音質が劣化することを意味しています。また(2)は、動画を投稿しようとしたさいに、ファイルサイズが大きいなどのエラーが表示されることがあるということです。

  • そこで、このページではAviUtlを使用して、ニコニコ動画に投稿できる高画質・高音質な動画を出力するための方法を見ていきます。

▲画面の上へ

サーバサイドエンコードについて


  • いま述べた(1)について述べておきますが、一定の要件を満たしていない動画はニコニコ動画に動画を投稿するさい、同サイトによって強制的に動画が再エンコードされます。このことをサーバサイドエンコードといいます。「ニコニコ動画に動画を投稿したら画質が悪くなった」という人がいますが、理由は動画がサーバサイドエンコードされたからです。


  • しかし逆に、一定の要件さえ満たしていればサーバーサイドエンコードは回避することが可能です。つまり、AviUtlでエンコードしてできた動画をそのままの画質・音質で投稿できるわけです。サーバーサイドエンコードを回避して動画を投稿するための要件をまとめたのが下表です。難しい用語があるかもしれませんが、簡単に見ておきましょう。

コンテナ MP4
映像コーデック MPEG-4 AVC/H.264
画面サイズ(解像度) プレミアム会員 制限なし
一般会員 1280x720以内
フレームレート 0.33fps~120fps
音声コーデック MP3、PCM AAC
サンプリングレート 22kHz、44.1kHz 48kHz以下
ファイルサイズ プレミアム会員 100MB以下
一般会員 40MB以下
ビットレート(映像+音声) プレミアム会員 制限なし
一般会員 656kbps以下(公式には600kbp以下)

▲サーバーサイドエンコードを回避するための要件。投稿可能な動画の要件も重複して掲載しています。

▲画面の上へ

MPEG-4 AVC/H.264とは


  • ここで、上表の「コーデック」のところで登場したMPEG-4 AVC/H.264について簡単に見ておきましょう。MPEG-4 AVC/H.264は、動画の圧縮規格のひとつです。従来の圧縮規格であるMPEG-2よりも高画質でファイルサイズの小さい動画を作成できます。MPEG-4 AVC/H.264は、たんにMPEG-4 AVCまたはH.264ともいいます。


▲H.264は、MPEG-2など他の動画圧縮技術と比較して高画質・高圧縮である点に特徴があります。数ある動画圧縮規格のうち、現在は主流のひとつです。

  • 用語が難しくても心配いりません。重要なのは、H.264形式とよばれる動画をニコニコ動画用にAviUtlで出力するという点です。AviUtl以外にもソフトウェアを用意する必要がありますが、解説のとおりにやっていけば必ずできます。

  • 解説が理解しづらいようであれば、つんでれんこを使うとよいでしょう。つんでれんこは、ニコニコ動画用に動画を自動でエンコードしてくれので、初心者に向いているアプリケーションです。かりに、AviUtlで編集した動画をつんでれんこで読み込みたい場合は、可逆圧縮コーデックを使用してエンコードするようにしましょう。詳細は、こちらをご覧ください。

▲画面の上へ

x264guiExのインストール


  • まずは拡張 x264 出力(GUI) Ex(以下、x264guiEx)を用意しましょう。x264guiExは、H.264形式の動画を作成するためのソフトウェアであるx264というものを、簡単な操作で扱えるようにしたAviUtl用のプラグインです。

  • x264guiExのインストール方法は以下のとおりです。

  1. 最新版のx264guiExをこちらからダウンロードする。
  2. ダウンロードした「x264guiEx_2.xx.zip」を解凍する。
  3. 「x264guiEx_2.xx」フォルダができあがる。
  4. フォルダを開き、「auo_setup.exe」をダブルクリックする。
  5. 「aviutl.exe」のあるフォルダを指定する。
  6. 「次へ」をクリックする。
  7. インストールが完了する。
  8. AviUtlを起動する。
  9. 「その他」→「出力プラグイン情報」で「拡張 x264 出力(GUI) Ex (x264guiEx) 2.xx by rigaya (x264guiEx.auo )」と表示されていることを確認する。


▲画面の上へ

x264guiExの簡単な使い方


  • ここまでできたら、実際に動画を投稿できるかテストしてみましょう。

AviUtlで動画を開きます。動画編集などは事前に行なっておいてください。

必須というわけではありませんが、リサイズしておきます。画面縦横比(アスペクト比)が4:3の場合は512x384に、画面縦横比が16:9の場合は640x360にリサイズすればよいでしょう。詳細は後述します。

これも必須というわけではありませんが、「設定」→「色変換の設定」で「[ 出力 ]」を「BT.601」にしておきます*1

「ファイル」→「プラグイン出力」で「拡張 x264出力(GUI) Ex」を選択します。


「ビデオ圧縮」をクリックします。動画を読み込んでいない場合は、このボタンをクリックできません。


プロファイル」をクリックして、一般会員は「[ ニコ動 ]」に、プレミアム会員は「[ ニコ動 プレミアム ]」にそれぞれマウスカーソルを移動します。


一般会員の場合は、「[ ニコ動 ]」にマウスカーソルを移動したあと、「[ 通常 ]」から好みのものを選択します。

プレミアム会員の場合は、「[ ニコ動 プレミアム ]」にマウスカーソルを移動したあと、「[ 短い動画(6分以下) ]」または[ 長い動画(6分以上) ]」から好みのものを選択します。

「x264」タブで、「上限ファイルサイズ( 映像+音声, MB)」にチェックが入っていることを確認します。そのうえで、一般会員は「40」、プレミアム会員は「100」がそれぞれ入力されていることを確認します


また、一般会員の場合にかぎり、「上限ファイルビットレート( 映像+音声, kbps)」にチェックが入っていることを確認し、「656」と入力されていることを確認します。プレミアム会員の場合はチェックを外しておいてください。


「OK」をクリックします。

適当なファイル名を入力し、動画の保存場所を決めて「保存」をクリックします。


エンコードが開始するので、しばらく待ちましょう。

動画を投稿します*2

▲画面の上へ

x264guiExの設定


  • x264guiExでの設定について簡単に見ておきます。x264guiExの設定画面は、左側が映像についての設定、右側が音声についての設定になっています。一般的に、x264guiExの設定項目の詳細な意味を正確に理解するのはとても困難です。どの設定をいじるとどうなるかということが、ある程度イメージできればよいでしょう。

  • 設定の詳細については、ニコニコ動画まとめwikiを参考にしてください。同サイトは、最初は用語が難しく感じるかもしれません。Flash Playerと色空間の話は複雑な問題なので、わからなくても気にする必要はないでしょう。

「x264」タブ



▲「x264」タブの設定例

  • ニコニコ動画用の動画を出力する場合は、「自動マルチパス」または「上限確認付 品質基準VBR(可変レート)」を選択します。ニコニコ動画にはファイルサイズおよびビットレートにつき制限があるのですが(ビットレート制限は一般会員のみ)、上記いずれかの項目を選択することで「上限ファイルサイズ」や「上限ファイルビットレート(映像+音声,kbps)」の設定ができるようになるからです(詳細はrigayaの日記兼メモ帳を参照)。


  • 「上限ファイルサイズ」は、一般会員なら40MB、プレミアム会員なら100MBに設定します(ニコニコ動画の仕様)。また、一般会員は「上限ファイルビットレート(映像+音声,kbps)」をONにして、「656」を入力しましょう。一般会員の場合、映像ビットレートと音声ビットレートの合計が656kbpsを超えた動画は投稿できない仕様だからです。プレミアム会員であればこのような制限はありません。

「レート・QP制御」タブ



▲「レート・QP制御」タブの設定例

  • 「レート・QP制御」タブで重要な項目は以下のとおりです。

説明
AQ(適応的QP)
<aq-mode>
「VAQ」または「AutoVAQ」にすると画質が向上する。後者を選択して1.0~1.3にするとメリハリのある画質になることも。
Psy-Rd(視覚心理最適化)
<psy-rd>
「RDO」は0~1.0がお薦め。実写など複雑な映像は高めがよい。それ以外は0.2~0.5など低めに。「trellis」は0のままで。
mbtree レート制御
<mbtree>
基本的にONでよい。
レート制御先行探査フレーム数
<rc-lookahead>
基本的に40のままでよい。数値を大きくすると画質が向上するが、最高でも60までにしておく。

「フレーム」タブ



▲「フレーム」タブの設定例

  • 「フレーム」タブで重要な項目は以下のとおりです。

説明
動き予測アルゴリズム
<me>
「Hexagonal Search」または「Uneven Multi-Hexagon」を選択。後者のほうが高画質だが、エンコード速度は遅くなる。
サブピクセル動き予測
<subme>
数字が大きいほど画質が向上する。ただし、エンコード速度は遅くなる。7~9が使いやすい。
動き検索範囲
<merange>
16または32にする。数値が大きいほうが圧縮率が向上する。ただし、エンコード速度は遅くなる。
動き予測方式
<direct>
基本的に「auto」でよい。
参照距離
<ref>
数値を大きくすると画質が向上し、圧縮率も向上する。再生負荷とエンコード時間を考えると3~6推奨。
最大連続Bフレーム数
<bframes>
数値が大きいほど高圧縮になる。通常は3~6にする。再生負荷が気になるときは3または4にする。
適応的Bフレーム挿入
<b-adapt>
「完全」にすると圧縮率が向上する。エンコード時間が気になるときは「簡易」にする。
ピラミッド参照
<b-pyramid>
基本的に「normal」でよい。
重み付きBフレーム
<weightb>
ONでフェード時の画質が向上する。基本的にON推奨。
重み付きPフレーム
<weightp>
ONでフェード時の画質が向上する。基本的に「Smart」のままでよい。問題がある場合は「Simple」で。
マクロブロック
<partitions>
チェックが多いほど高画質。再生負荷が気になるときは「p4x4」のチェックを外す。
キーフレーム間隔の上限
<keyint>
10秒間隔のシーク移動でよいなら300、1秒間隔のシーク移動なら30(30fpsの場合)。「-1」で自動設定。
インループ デブロックフィルタ
<deblock>
ONで画質が向上する。OFFで画質は下がるが、再生負荷は下がる。基本的にON推奨。-1で画像がシャープに。
CABAC
<cabc>
ONで画質が向上する。OFFで画質は下がるが、再生負荷は下がる。基本的にON推奨。
DCT係数間引き
<dct-decimate>
基本的にONでよい。
スキップMB検出
<fast-skip>
基本的にONでよい。
レート歪み最適化
<trellis>
「Final MB encode」または「All」を選択することで画質向上。

「拡張」タブ


  • 設定を変更する必要はありません。

音声



  • 通常は、「ABR (AAC) ビットレート指定」を選択したうえで、音声ビットレートを96kbps、112kbps、128kbps、144kbps、192kbpsのいずれかにすればよいでしょう。音声ビットレートを高くすると、そのぶん映像ビットレートは低くせざるをえないため、このあたりも意識して設定する必要があります*3

  • 動画の再生時間が長い場合や、音質を犠牲にして映像に多くのビットレートを割り当てたい場合は、「ABR (HE-AAC) ビットレート指定」を選ぶと効果的です。そのうえで、たとえば音声ビットレートを64kbpsに設定します。

▲画面の上へ

リサイズについて


リサイズする理由


  • リサイズする意義として、(1)画面の縦横比(アスペクト比)を修正できる、(2)動画再生時におけるPCの負荷を軽減できる、(3)ビットレートが低いことによる画質破綻を防ぎやすい、(4)一般会員は画面サイズが1280x720以内でないとサーバサイドエンコードされる、などがあげられます。(1)および(2)については、AviUtlの使い方で述べました。

  • (3)は、同一ビットレートの場合、リサイズした動画のほうがリサイズしていない動画よりもエンコード後の画質を維持しやすいという意味合いです。たとえば、画面サイズが1280x720なのに映像ビットレートを600kbpsにしてエンコードすると、画質が破綻します。しかし、640x360にリサイズしておけば、同じ600kbpsでエンコードしてもそこそこの画質にはなります。そこで、1280x720から640x360へリサイズするわけです。

  • (4)はそのままの意味です。一般会員の場合は、1280x720を超えた画面サイズの動画を投稿するとサーバサイドエンコードされてしまうため、動画投稿時に画質・音質が劣化してしまいます。そこで、1280x720以内にリサイズする必要があります。プレミアム会員の場合は、このような制限はありません。

リサイズの具体例


  • では、具体例を見ていきましょう。結論から述べると、アスペクト比が4:3の場合は512x384に、16:9の場合は640x360にリサイズするのが無難です。ニコニコ動画のプレイヤーの画面サイズ(中画面サイズ)は、512x384(4:3)または640x360(16:9)であるため、これに合わせるかたちになります*4

4:3 16:9

▲4:3の動画を再生したときと、16:9の動画を再生したときの見え方

  • 動画のアスペクト比がわからない場合は、真空波動研などを使えばわかります。参考までに、動画のアスペクト比について下表にまとめました。ゲームを録画した場合を想定しています。たとえば、GV-USB2などの従来型のビデオキャプチャーで録画してできた動画の場合は、通常は512x384にリサイズすればよいでしょう*5

画面サイズ アスペクト比 指定するとよい画面サイズ
通常のキャプチャーボード 720x480 4:3(3:2) 512x384(4:3)
HDキャプチャーボード 1280x720など 16:9 640x360(16:9)
PCゲーム(1) 800x600など 4:3 512x384(4:3)
PCゲーム(2) 1280x720など 16:9 640x360(16:9)

  • 他方、HDキャプチャーボードを使ってHD画質で録画した場合は、640x360にリサイズします。もっとも、640x360にリサイズせず、854x480または1280x720の画面サイズで動画を投稿してもかまいません。この場合、視聴者が画面を拡大(大画面サイズ、フルスクリーン)したさいに美しい画質が楽しめるというメリットがあります。上述した(1)~(3)を考慮したうえでリサイズについて判断してください。

リサイズの方法



  1. 「設定」→「サイズの変更」で「なし」になっていることを確認する。
  2. 「設定」→「Lanczos 3-lobed 拡大縮小の設定」の順にクリックする。
  3. 右上のチェックボックスにチェックを入れる。
  4. 空欄に「512 x 384」または「640 x 360」と入力する。
  5. 「指定」をクリックする。


  • もしリサイズ用のプラグインを使用していない場合は、「設定」→「サイズの変更」→「指定サイズ」で画面サイズを入力してください。また、拡張編集プラグインを使用している場合のリサイズ方法については、こちらをご覧ください。

  • アスペクト比には十分注意するようにしましょう。アスペクト比がおかしいと、映像が縦または横方向に伸びた動画になってしまいます。たとえば、720x480の動画を512x384にしないで640x360にリサイズすると、4:3の映像は横に伸びます。アスペクト比をまちがえたまま動画を投稿した場合、アスペクト比を修正するには動画をエンコードしなおし、再び投稿する必要があります。

▲画面の上へ

関連ページ


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

ページ名 内容 重要度
コメント H.264で高画質についての質問など -
動画の基礎知識 動画作成における基本的な事項 A
AviUtlの使い方 動画編集の方法 B+
AviUtl拡張編集 拡張編集プラグインの使い方 B+

▲画面の上へ


トップ > ボツカテゴリ > H.264で高画質 / 2015年02月18日 (水) 21時25分34秒




最終更新:2015年02月18日 21:25

*1 この設定は、あくまでもニコニコ動画に動画を投稿する場合の設定です。動画共有サイトに動画を投稿するわけではないという場合は、ふだんは「自動」でよいでしょう。

*2 動画ファイル以外にステータスファイルができる場合がありますが(.statsおよび.mbtree)、削除してかまいません。手動でステータスファイルを削除するのが煩雑である場合は、自動でこれを削除することもできます。x264guiExの画面右上にある「その他の設定」をクリックし、「自動マルチパス」タブで「自動マルチパス時、ステータスファイルも自動的に削除する」をONにします。

*3 ファイルサイズは、ビットレート×動画の再生時間で決まります。ここでいうビットレートというのは、映像ビットレートと音声ビットレートの合計のことです。したがって、ファイルサイズを一定以下にするためには、映像ビットレートと音声ビットレートの配分が重要になってきます。映像ビットレートを高くすれば音声ビットレートを低くせざるをえませんし、逆に音声ビットレートを高くすれば映像ビットレートを低くせざるをえません。

*4 ニコニコ動画Qバージョン以降では、中画面サイズ(通常サイズ)だけではなく大画面サイズも用意されています。大画面サイズでは、640x480(4:3)または854x480(16:9)で動画が再生されます。中画面サイズは、512x384(4:3)または640x360(16:9)ですので、基本的にはこれに合わせて動画を作成しましょう。4:3の動画の場合、左右に黒帯が表示されますが、不具合ではありません。

*5 もしこれらのビデオキャプチャーを使ってゲーム機の出力設定を16:9にして録画した場合は、640x360にリサイズします。