ぬうぱんの備忘録

技術系のメモとかいろいろ

作った曲一覧はこちら

ニコ生配信セットアップメモ

この記事は

 DTM作業生放送をするのに必要な準備いろいろのメモです。

環境

ハードウェアのセットアップ

  • 映像:ビデオカードからHDMIケーブルを伸ばして同PCのキャプチャボードにつないでいる。ディスプレイ行きのDVI-Dとキャプチャボード行きHDMIはグラフィックス設定で同一の映像を出力するようにする。
  • 音声:AI/Fの余ってるアナログ入出力3/4をつなぐ。メインである1/2とサブである3/4から同じ音を流す。

両方とも物理的にループバックしている。
音声の方はソフト側のルーティングをミスるとポジティブフィードバックして大変なことになるので注意。

ソフトウェア:必要なモノ一覧

配信用ツール

コメント系ツール

FFMLを選んだのは普段FFmpegを触っていて馴染みがあるから。エンコード設定は直接弄りたい。
思ったのだけど、DTM作業配信だと読み上げは邪魔なのでは。

ニコ生側の設定

 初めて生放送する人のお話です。FFMLの都合でgoogle chromeだと上手くクッキーを取得できないのでIEで開く必要がある点に注意。
 ニコニコ生放送のページ

に飛んで右上の方にある放送するボタンをクリックする。
コミュニティ作成画面に飛ぶのでとりあえずそのままでコミュニティ作成。
生放送画面に飛んだらこれでオッケー。

FFmpegセットアップ

 https://www.ffmpeg.org/download.html:公式のダウンロードページに行ってwindows 32bit用のバイナリを入手する。入手したらProgram Files以下にでも展開しておきましょう。
 なお、FFmpegソースコードを入手して野良ビルドすることでマシンに最適(SIMDの有無とかの話)なFFmpegを得るという手もありますが、面倒臭いのでやりません。

FFmpeg Launcherセットアップ

開発者のコミュニティ

の【置き場】からダウンロード、適当な場所に展開する。

FFMLの設定は以下のとおり

  • 映像デバイスはキャプチャボードを選択
  • 音声デバイスはAI/Fのデジタル入力を選択
  • 【FFML設定】タブ内で
    • ffmpeg.exeのPATH指定を埋める(さっきインストールしましたよね?)
    • クッキー取得設定の取得状態にユーザーIDが表示されていることを確認
  • 音声エンコード設定は
    • mp3:192[kbps](flvにoggは突っ込めないんですね…)
  • 映像エンコード設定は
    • x264:192[kbps]
    • 自動認識のチェックを外し入力解像度とフレームレートをあわせる

FFMLの合計ビットレート表示が青ならOK、緑はオーバー。
自分の場合は何故か入力解像度を誤認していたので手動で解像度を合わせた。両方のパラメータを正確に合わせないとffmpegがエラーを吐いて死ぬので注意。

まずは録画で確認

 FFML側の録画機能で正しくキャプチャができているかを確認する。
「【FFMPEG】基本設定」タブ右上の【モード】ラジオボタンを録画に合わせて「配信開始」ボタンをクリック。
保存先に動画が生成されるはず。この動画を確認して意図した通りの映像が出来上がっていればOK。

放送を始める

  1. ニコニコ生放送側の画面で
    1. 外部ツール配信を選択
    2. テスト配信をクリック
  2. FFML側で配信開始ボタンをクリック

ニコニコ生放送側の画面にデスクトップの映像を映ればとりあえずはOK。
そのまま本放送に行ってしまってもいいでしょう。

パラメータを詰めていく

 ここからが本番。このためにFFMLを選んだんですからね?

まずは音声

  • コーデック:mp3
  • チャンネル数:stereo
  • サンプリングレート:44100[Hz]
  • ビットレート:192[kbps]

コーデックの選択肢は「mp3, aac」の2択です。が、AACエンコーダーによる当たり外れが大きすぎるのでmp3ですかね?
本当はogg vorbisを使いたいのだけど、生放送で使われるflvコンテナには格納できないみたいですね。

もし、映像にビットレートを割きたいというのであれば128kbpsに落としてもいいかもしれませんね?

次に映像

  • コーデック:x264
    • コレ以外ありえないでしょう
  • ビットレート:192[kbps]
    • 制限が480kbpsに拡張される深夜帯なら288[kbps]でもOK
  • 解像度:640x360
    • 1280x720(720p)のちょうど半分
    • ちょうど半分と言うのはとっても大事
  • フレームレート:30000/1001
    • 画面の動きが少ないせいか、フレームレートを上げても映像は汚くなりにくい。
    • 入力の半分のフレームレートを設定
    • 60000/1001にすると映像がすごい勢いで流れていく
  • 品質基準VBR(-crf):19
    • crf19あれば十分とかなんとか
    • ビットレート制限の関係でcrf19相当の映像は出てこないけどしょうがねいね
  • アスペクト比:16:9
    • 設定しておかないと何故か4:3で吐き出される
  • プリセット:fast
    • 本当はveryslowくらいにしたいけど、すさまじい勢いでフレームが流れていきやがることがあるのでfastで我慢
    • これでも重ければveryfastで

字がはっきり読めるレベルの高画質はムリ。全体的に若干滲む。

次の枠を自動的に取る

 FFMLは枠取りを自動でやってくれるんですね。やったぜ。

メニューバーの「ツール(T) > ニコ生(N)」から設定出来る。
でもなんかこれだけではダメっぽくて追加で設定が必要な様子。

以下の記事を参考にしましょう。

躓いた所

DVI-DとHDMIでリフレッシュレートがズレていたせいで音ズレが起きてた。両方共60FPSにしたら上手く行った。

感想

ほげぇ