トップ > ボツカテゴリ > FFMPEG Launcher / 2016年06月01日 (水) 19時55分48秒




この記事は、現在古くなっており、読む必要はありません。2017.8.2



ニコ生で画質を上げたいならこれ!FFMPEG Launcher

  • FFMPEG Launcher(以下、FFMLと略)は、ニコニコ生放送で使用できる高画質配信用ソフトです。


▲FFML

FFmpegを簡単に利用できる

  • FFMLは、FFmpegというソフトを簡単に利用できるようにしたものです。FFmpegでライブ配信をすると高画質な配信ができるのですが、その一方で手間がかかり難解というデメリットがありました。そこで、FFmpegを簡単に配信で使えるようにしたのがFFMLです。

高画質な配信ができる

  • FFmpegにより、数ある配信ソフトと比較して有利な環境で高画質な配信が可能となります。なぜなら、音声ビットレートを下げることで稼いだビットレートを映像のほうに回すことができるからです(後述)。よく使われているNLEXsplitよりも高画質な映像にしやすいでしょう。

自動枠取りできる

  • FFMLには自動枠取り機能があります。手動で枠を取る手間を省くことができ、難しい設定は必要ありません。FFML単体で可能です。

目次


最初に覚えておきたいこと


高画質にできる理由


  • FFML(正確にはFFmpeg)を使うとなぜ高画質な配信ができるのでしょうか。これを理解するためには、まずニコニコ生放送の仕様を理解する必要があります。ニコニコ生放送では、ビットレートに制限があります*1。最高でも映像ビットレートと音声ビットレートを合わせて480kbps(通常は384kbps)でしか配信できないため、他サイトと比較するとニコニコ生放送では低画質な映像となります。

映像+音声(2時~19時30分) 映像+音声(通常の時間帯)
FFML(FFmpeg) 456kbps + 24kbps = 480kbps 360kbps + 24kbps = 384kbps
ほかの配信ソフト 384bkps + 96bkps = 480kbps 288kbps + 96kbps = 384kbps

▲ビットレートの設定例

  • ビットレートに制限がある以上、ニコニコ生放送で高画質な映像を配信するためには、映像ビットレートを可能なかぎり高くし、逆に音声ビットレートは低くしなくてはいけません。たとえば、映像ビットレートを456kbps、音声ビットレートを24kbpsにすれば高画質にできるわけですが、音声ビットレートは下げなくてはいけません。しかし、このような設定にすると音質が極端に悪くなってしまいます*2

  • そこで、音声ビットレートは下げつつも、できるだけ音質が悪くならないようにしなくてはいけません。では、どのようにして音質を維持するのか、その答えがFFmpegです。FFmpegは、FDK-AACというソフトを組み込むことができます。そして、FDK-AACこそが低ビットレートで音質を維持するために必要なものなのです。音声ビットレートが24kbpsでも視聴に耐えうる音質にできるので、余ったビットレートは映像に回してあげましょう。

ビルドが必要


  • いま述べたFDK-AACを組み込んだFFmpegを利用するためには、ある程度時間がかかります。というのも、ビルドという作業が必要になるからです。ビルドとは、ここではFFmpegを私たちが実際に使える状態にする(実行可能なファイルにする)ことをさしています。難しそうに感じるかもしれませんが、便利なビルドツールがあるので簡単です。


配信初心者には向かない


  • FFMLは、わかりやすくて使いやすい配信ソフトです。しかし、まったくの配信初心者には向きません。なぜなら、FFMLにはPC画面を視聴者に見せる機能や、PCの音を配信する機能がないからです(詳細は後述)。したがって、FFMLに加えて別途ソフトを用意しなくてはいけないケースが出てきます。ニコニコ生放送に慣れないうちは、公式配信ソフトであるNLEを使用したほうがよいでしょう。そのほうが簡単です。

  • また、OBS Studioという配信ソフトを使用する方法もあります。この配信ソフトもFFMLと同様、音声ビットレートを下げつつ音質を維持することが可能です。ビットレートは映像のほうに割り当てましょう。PC画面を視聴者に見せる機能や、PCの音を配信する機能もあるので、お薦めです。

        詳細は、OBS Studioの詳しい使い方を参照


▲画面の上へ

FFmpegのビルド


  • 上で述べたとおり、FDK-AAC対応のFFmpegを使用するためにはビルドする必要があります。ビルドツールとして、今回はオレ流FFMpegビルドツールGUI版というソフトを使います。

  1. オレ流FFMpegビルドツールGUI版の巻にアクセスする。
  2. ソフトをダウンロードする。
  3. ウィルス対策ソフト(アンチウィルスソフト)は念のために止めておく。
  4. ソフトを解凍し、フォルダを開く。
  5. ore_Setup.exe」をダブルクリックする。
  6. 適当なドライブを選択し、「構築開始」をクリックする。
  7. しばらく待つ。
  8. デスクトップ上に「GUI版ビルドツール」および「FFMPEG置き場」のショートカットアイコンができる。
  9. 「GUI版ビルドツール」のショートカットアイコンをダブルクリックする。
  10. 一撃ビルド」をクリックする。
  11. しばらく待つ(筆者の環境では30分近くかかった)。
  12. デスクトップ上の「FFMPEG置き場」のショートカットアイコンをダブルクリックする。
  13. ffmpeg.exe」ができていることを確認する*3


  • ビルド中、「コンピューターに MSVCR120.dll がないため、プログラムを開始できません。この問題を解決するためには、プログラムを再インストールしてみてください。」というエラーが表示された場合は、Visual Studio 2013 の Visual C++ 再頒布可能パッケージをインストールしてください。


▲画面の上へ

FFMLのダウンロード


ダウンロードの方法


  • つぎに、FFMLをダウンロードしましょう。

  1. 或ル人ノ棲息地 【ニコニコ実験場】にアクセスする。
  2. 上記コミュニティの「置き場」というところに、FFMLをダウンロードできるURLが記載されているので、アクセスする。
  3. FFMLをダウンロードする。

7z形式について


  • 注意したいのですが、ダウンロードしたファイルは7z形式となっています。これを解凍するためには、7-Zipという解凍ソフトが必要です。同ソフトがない場合はインストールしましょう。

  1. 7-Zip公式サイトにアクセスする。
  2. 「64ビット」の「ダウンロード」をクリックして7-Zipをダウンロードする*4
  3. 7-Zipをインストールする。


7zファイルの解凍


  • 7zファイルを解凍する方法は以下のとおりです。

  1. 「FFML_v0.0.1.xx.x.For.NET4.5.7z」上で右クリックする。
  2. 「7-Zip」にカーソルを重ねる。
  3. 「ここに展開」を選択する。
  4. 7zファイルが解凍される。
  5. 生成された「FFML_v0.0.1.xx.x.For.NET4.5.7z」フォルダをCドライブなど任意の場所に移動する。


▲画面の上へ

FFML以外に必要なソフト・機能


  • FFMLで配信する場合、別途ソフト・機能が必要なケースがあります。

PCの画面を視聴者に見せるためのソフト


  • FFMLを使用してゲーム配信する場合は、PCに表示したゲーム画面を取り込んで視聴者に見せるためのソフトが必要です。下表で示したような画面キャプチャー機能を持ったソフトを別途用意します。機能の豊富さ、扱いの簡単さで選ぶのであれば、XSplitまたはFFsplitがよいでしょう。どちらも配信ソフトですが、配信機能は使いません*5

PinP(複数画面) テキストの表示 PCの音の取り込み プレビュー画面 備考
NDC × × なし 簡単に使える
SCFH DSF × × あり
SCFF DSF × × あり
XSplit あり 配信ソフト(有料)。多機能
FFsplit あり 配信ソフト
アマレコTV × × あり ライブ機能・ミキサー機能を使用

  • アマレコTVのライブ機能およびミキサー機能を使うことでもゲームの映像・音声を配信できますが、必ずしも両機能は使わなくてもかまいません。たとえば、アマレコTVに表示したPS3のゲーム画面をFFsplitで取り込むという方法も可能です。ライブ機能およびミキサー機能の使い方を理解している人だけ、両機能を使うようにしてください。

PCの音を視聴者に聞かせるためのソフト


  • FFMLでPCの音を配信するためには、(1)PCに搭載されているステレオミキサー機能を使用します。または、(2)XSplitやFFsplitなどを使用する方法でもかまいません。よくわからない場合は、FFsplitをインストールしてください。FFsplitがあれば、ステレオミキサー機能を使わずにPCの音とマイクの音をミックスして、FFMLで配信できます

組み合わせについて


  • どのソフト・機能を組み合わせてもかまいません。たとえば、FFsplitで画面をキャプチャーし、なおかつ同ソフトでPCの音とマイクの音をミックスしてもよいですし、あるいは、NDCで画面をキャプチャーしつつ、PCの音はステレオミキサー機能を使って配信するという方法でもよいでしょう。いずれにせよ、使用するソフトは別途インストールしておいてください


▲どのソフト・機能を使うのかという設定は、FFMLの「【FFMPEG】基本設定」タブの「デバイス」の部分で行います。

▲画面の上へ

FFMLの簡単な使い方


  • FFMLの使い方を簡単に見ていきましょう。

まず、「【FFMPEG】基本設定」タブで「【映像】」の部分を下記画像を参考に設定します。「デバイス」の部分は、各自で適切なものを選択してください。


▲画像クリックで拡大。画像では「FFsource」を選択していますが、これはFFsplitの画面キャプチャー機能を使用する設定だからです。

つぎに、「【音声】」の部分を下記画像を参考に設定します。「デバイス」の部分は、やはり各自で適切なものを選択します(詳細は後述)。「コーデック」と「ビットレート」の設定も重要です。


▲画像クリックで拡大。「FFsplit Playback Mixer」を選択しているのは、FFsplitの機能(PCの音を取り込む機能)を使用する設定からです。

「【FFMPEG】高度な設定」タブ→「共通設定」タブを開き、「品質基準VBR(-crf)」を「23.0」にします。


「【FFMPEG】高度な設定」タブ→「コーデック」タブを開き、「プリセット」を「slow」または「slower」にします。画質重視なら「slower」、もう少しPCの負荷を軽くしたいなら「slow」にしましょう。


すぐ下にある「【音声】プリセット」の「プロファイル」を「aac_he_v2」にします。ここは、「【FFMPEG】基本設定」タブの「コーデック」で「FDKAAC」を選択しているときのみ設定できます。


「【FFMPEG】高度な設定」タブ→「複合フィルタ」タブを開き、「音声ミックスを有効にする」にチェックを入れます(XSplitの場合はチェック不要)。そして、「音声デバイス」で「マイク」を選択します(詳細は後述)。


▲「マイク」の表記は環境によって異なります。

「【FFML】設定」タブ→「一般」タブを開き、「ブラウザ」でふだん使用しているWebブラウザを選択してください。たとえば、Internet Explorerであれば「IEComponent」を選択します。「取得状態」に自分のユーザーIDが表示されれば成功です。


▲niconicoを見るのに使っているWebブラウザを選択します。

右横の「ffmpeg.exe のPATH指定」で、さきほどビルドした「ffmpeg.exe」の場所を指定します。


ニコニコ生放送で枠を取り、「本番開始」をクリックします*6


FFMLの「配信開始」ボタンをクリックすると配信が開始します*7


途中で配信を終了するときは、「ツール」→「ニコ生」で「生放送を終了する」をクリックします*8


▲画面の上へ

FFsplitの設定例


  • FFsplitの各種機能を使用する場合の設定を掲載しておきます。同ソフトを使用しない場合は読み飛ばしてください。

画面キャプチャーする場合


  • まず、以下のようにして解像度を変更しましょう。画質に関係してきます。

  1. Options」をクリックする。
  2. 「Encoder」タブを開く。
  3. 「Video Resolution」を640x360にする。
  4. 「OK」をクリックする。


  • FFsplitで画面キャプチャーする場合、以下のように設定します。

  1. Quick Region」または「Quick Window」をクリックする*9
  2. 「Quick Region」を選択した場合は、画面上をマウスでドラッグして取り込み範囲を設定する。「Quick Window」を選択した場合は、取り込みたいウィンドウをクリックする。
  3. 「LAYER」にソースが追加される。
  4. FFsplitのプレビュー画面に表示されている映像が見切れているときは、同画面上で右クリックして「Fit to Canvas」をクリックする。


  • FFsplitの「LAYER」は、他の配信ソフトでいうところのソースです(削除や並べ替えが可能)。「LAYER」の「New」からもソースを追加できます。また、「CANVAS」は他の配信ソフトでいうところのシーンです(複数のシーンを切り替え可能)。

PCの音とマイク音声をミックスする場合


  • FFsplitでPCの音とマイク音声をミックスする場合、以下のように設定します。

  1. 「Options」をクリックする。
  2. 「Capture」タブを開く。
  3. 「Capture Playback Device」が「Default Windows Palyback Device」になっていることを確認する。
  4. 「Capture Recording Device」で「マイク」を選択する*10
  5. 「OK」をクリックする。


▲画面の上へ

XSplitの設定例


  • XSplitの各種機能を使用する場合の設定を掲載しておきます。同ソフトを使用しない場合は読み飛ばしてください。

  1. XSplitの右上にある矢印ボタンをクリックし、「Resolution」で「640 x 360」を選択する。
  2. 「ツール」→「一般設定」の順にクリックする。
  3. 「オーディオ」タブを開く。
  4. 「マイク」で「マイク」を選択する。
  5. 「OK」をクリックする。

▲画面の上へ

画質についての設定


解像度


  • まず解像度の設定は、「【FFMPEG】基本設定」タブで行います。「自動認識」のチェックは基本的に入れておくようにしましょう*11。そのうえで「出力解像度」の設定を640x360に変更します。ニコニコ生放送の画面サイズが640x360なので、これに合わせるかたちになります。


ビットレート


  • 映像ビットレートの設定も「【FFMPEG】基本設定」タブで行います。音声ビットレートとの兼ね合いで、「合計ビットレート」が480kbpsになるように映像ビットレートを設定しましょう。下記画像のように設定するのが無難ですが、音質をもう少し上げたい場合は音声ビットレートを48kbps、映像ビットレート432kbpsにしてもかまいません。


  • なお、FFMLは時間帯によってビットレートを自動的に制御するため、ニコニコ生放送の384kbpsというビットーレート上限を意識する必要はありません。2時~19時30分のビットレート上限である480kbpsになるように設定します。

エンコードモード


  • 「【FFMPEG】高度な設定」タブ→「共通設定」タブの「品質基準VBR (-crf)」は、基本的に「23.0」にしておきます。理論上はこの数値を小さくするほど高画質にできる(画質を維持しやすい)のですが、ニコニコ生放送で配信する場合はむやみに小さくしたところで意味はないでしょう。


プリセット


  • プリセットの設定は、「【FFMPEG】高度な設定」タブ→「コーデック」タブの「【映像】基本プリセット」で行います。9種類のプリセットのなかから任意のものを選択してください。お薦めは「slow」または「slower」です。FFMLを使う以上、画質にある程度拘りがあるはずですし、PCにかかる負荷との関係でバランスがとれたプリセットです。


  • 画質をさらに細かく設定したい場合は、「外部プリセット指定」でプリセットを読み込みます。プリセットは自分で作成してもよいですし、配布されているものも使用できます。

▲画面の上へ

音声デバイスについての設定


  • PCの音マイクの音を配信するための設定は、(1)「【FFMPEG】基本設定」タブ、および(2)「【FFMPEG】高度な設定」タブ→「複合フィルタ」タブで行います。この音声デバイスの設定については、さまざまなパターンが考えられます。混乱しないように注意しましょう。

FFsplitの機能を使用する場合


  1. 「【FFMPEG】基本設定」タブにある「【音声】」の「デバイス」で「FFsplit Playback Mixer」を選択する。
  2. 「【FFMPEG】高度な設定」タブ→「複合フィルタ」タブの「音声ミックスを有効にする」にチェックを入れる。
  3. 「音声デバイス」で「FFsplit Microphone Mixer」を選択する。
  4. FFsplitのほうで設定する(上述)。


XSplitの機能を使用する場合


  1. 「【FFMPEG】基本設定」タブにある「【音声】」の「デバイス」で「XSplitBroadcaster」を選択する。
  2. 「【FFMPEG】高度な設定」タブ→「複合フィルタ」タブの「音声ミックスを有効にする」のチェックを外す*12
  3. XSplitのほうで設定する(上述)。


ステレオミキサー機能を使用する場合


  • ステレオミキサー機能を使用する場合は、【FFMPEG】基本設定」タブで「ステレオ ミキサー」を選択し、Windowsのほうでマイクミュートを解除します。【FFMPEG】高度な設定」タブ→「複合フィルタ」タブの「音声ミックスを有効にする」のチェックは外しましょう。

▲画面の上へ

自動枠取り


  • 自動枠取りする方法は以下のとおりです。

「ツール」→「ニコ生」で「新規番組を登録する」をクリックします。


各種設定をし、必要な情報を入力します。ここで「枠取り開始」をクリックすると枠を取ることができます。枠を取る必要がないのであればウィンドウを閉じてください。


「【FFML】設定」タブ→「一般」タブを開き、「コメントサーバ」および「アラート」の各種項目にチェックを入れます。


「ツール」→「ニコ生」で「配信終了時、自動的に新規番組を登録する」にチェックを入れます。


以上の設定で、枠が終了後FFMLが自動的に次枠を取得します*13

▲画面の上へ

その他


  • 配信中でも設定を変更できますが、いったん配信を停止してから配信しないと設定が反映されないので注意しましょう。

  • シャープフィルタをかけると画質をシャープにできます。「【FFMPEG】高度な設定」タブ→「共通設定」タブで「フィルタを有効にする」にチェックを入れて、「unsharp=3:3:0.5」などと入力します(3個めの数字を-1.5~1.5の範囲で)。ただ、シャープをかけすぎると文字が読みづらくなります。

  • 「【FFML】設定」タブ→「一般」タブで「FFMPEG 実行画面を表示する」のチェックを外すことで、配信開始時に別ウィンドウで開く画面が表示されなくなります。また、「配信状況」タブの「グラフ」タブにグラフが表示されるようになります。

▲画面の上へ

関連ページ


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

ページ名 内容
ニコニコ生放送 生放送を行うための手順
ニコ生で必要なもの ニコ生での配信に使うソフト・ハード


▲画面の上へ


  • ご報告ありがとうございました。修正しました。 -- 管理人

  • 『「枠数カンターを利用する」は、ここに入力した回数だけ枠を取る設定です。
    』とありますが、
    付属の『更新履歴.txt』に『枠取りカウンターの追加 (例:XXX 第${COUNT}回)』とあるように、
    タイトルに入れた${COUNT}を数値に置き換える機能ではないでしょうか。
    入力した数値はその回の回数で、5と入力した場合は、自動枠取り時に6、7、8と増えるものだと思います。 -- 名無しさん (2016-04-08 07:34:28)

  • ご指摘ありがとうございます。修正しました。

  • 「PCの画面を視聴者に見せるためのソフト」の項、SCFHやSCFFのプレビュー画面が「なし」になっていますが、実際にはあります。 -- 名無しさん (2015-07-30 16:41:09)


最終更新:2016年06月01日 19:55

*1 ビットレートは、画質や音質を決定づけるうえで重要なものです(単位はbps)。映像ビットレートが高ければ高いほど高画質になり、音声ビットレートが高ければ高いほど高音質になります。たとえば、100kbpsの映像と500kbpsの映像を比較した場合、後者のほうが高画質な映像になります。また、64kbpsの音声と128kpsの音声を比較した場合は、後者のほうが高音質です。ニコニコ生放送でモザイクのようなノイズ(ブロックノイズ)を見たことがあると思いますが、あれはビットレートが低いことに起因しています。

*2 通常、音声ビットレートが24kbpsだと、聞くに耐えない音質になります。だれが聞いても音質が悪いと感じるはずです。

*3 「FFMPEG置き場」のショートカットアイコンは削除してもかまいませんが、保存場所は覚えていてください。あとでFFMLから保存場所を指定します。

*4 Windowsが32ビット版である場合は、「32bit」の「ダウンロード」をクリックしてください。よくわからない場合は、この解説サイトの左メニュー「その他」から「PCスペックの調べ方」というページをご覧ください。記事中の「OS」という項目で説明しています。

*5 つまり、配信ソフトが持っている画面キャプチャー機能などを使うということです。XSplitまたはFFsplitを起動はするのですが、これらのソフトのほうで配信するわけではありません。あくまでもFFMLのほうで配信します。

*6 FFMLからも「ツール」→「ニコ生」→「新規番組を登録する」→「枠取り開始」で枠を取得することができます。その場合は、放送画面の「本番開始」はクリックしなくてもかまいません。

*7 「ツール」→「ニコ生」→「新規番組を登録する」→「枠取り開始」で枠を取得で取得した場合は、「【FFML】設定」タブ→「一般」タブで「放送開始時、自動的に処理を開始する」にチェックを入れておくことで、FFMLの「配信開始」ボタンが自動的にクリックされます。

*8 FFMLの「配信中」ボタンをクリックすることでも配信を停止できますが、その場合は放送画面のほうで「番組終了」ボタンをクリックしてください。同ボタンをクリックしないと、ニコニコ生放送の枠自体は継続してしまうからです。

*9 Quick Regionは、取り込む範囲をマウスドラッグ(画面の左上から右下方向へドラッグ)で指定する方法です。またQuick Windowは、ウィンドウを指定する方法です。

*10 既定のデバイスを理解しているのであれば「Default Recording Device」を選択してもよいのですが、「マイク」を選択したほうがより確実です。「マイク」の表記は環境によって異なります。

*11 「自動認識」のチェックを外していると、入力解像度の設定によっては配信を開始できません。

*12 ここでチェックを入れて「音声デバイス」で「XSplitBroadcaster」を選択すると、マイクの音が二重になります。

*13 「ツール」→「ニコ生」→「新規番組を登録する」の「枠数カウンターを利用する」は、タイトルに配信回数を入れたい場合に便利な機能です。チェックを入れたうえで数字を選択し、「タイトル」に「第${COUNT}回」などと記入しておくと、タイトルの「$」の部分がその数字に置き換わります。