|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|

配信環境を改善したい人のための再構築フローチャート

EditThisPage    
ここは、FCスレにおいて必要とされるデスクトップ画面を取り込みながらの配信を
流れ形式でチェックしながら実用的な配信環境を速やかに整えちゃおうぜというページです

もっとキレイな配信がいいです><
そんなあなたのためのページです(・∀・)9m

だけどもだけど^o^とりあえず最低限の環境を構築する為のページではないよ
これからずっと使える配信の基礎を学ぶだめのチャートだよ

1.ツールを用意


これは多様なコーデック選択肢を確保する為の手段です
かいつまんで言えば、V9コーデックでは重過ぎる・見られない番組があるのは嫌だ・OSが古い
などの理由で困っている人の為の救済措置のようなもんです
自分は既に環境が完成されているのでわからないけど、XPでは不要かもしれないお


これは単なる鏡ツールではございませんのよホホホ
WMEへの直接のコネクションよりも鏡へのコネクションの方が負荷がはるかに小さいです
リザーブもWME直下ではかなり使い勝手が悪いので、こちらを使用するのを基本とするべし


下記のSCFHとVH Screen Capture Driverを一緒にしたようなソフト
2つを同時に使うより圧倒的に軽いので、お勧めかも
以降の説明はSCFHを使用したときのものになるけど、一部を除いてSCFH DSFでもつかえるよ
実況方法/画面取り込み/WME+SCFH DSF」のページも参考にしてね


仮想デスクトップ生成ツール
これもWMEの機能をより小さい負荷で肩代わりしてくれる優れたツールですよ
元サイズより小さい画面で配信する場合、これを挟んだ方がキレイに映るお
SCFHで指定した範囲をWMEはデスクトップ全体だと思って処理するので
本当のデスクトップ全体をキャプチャして、一部を切り取って取り込むよりも圧倒的に軽いのです


これはWME標準ののキャプチャデバイスの代わりに動作するキャプチャデバイスだお
こちらは負荷こそ高いものの、WMEの持つ「一定間隔でフレーム落ちするバグ」を回避してくれるよ

  • ゲームパッド

これはあったほうがうんと楽ですよ なければ無理ってことはないけど

2.配信用ポートを開放する


これに関しては環境によって差が大きいので別リンクを参考にしてもらえるといいお
ポート開放について
外からアクセスされるのは kagami だけなので、普通は WME のポートを開放する必要はないと思う(むしろ開放するとポートを推測して WME 側にまで接続されてしまうおそれがある)。

3.配信用のエミュを設定する


ここも指針だけ理解してもらえば
詳しい解説はあなたが使うエミュレータの名前でググればでてくるさ(・∀・)ソンナモンサ

基本的にFCスレではクリアの証明として、また、Wikiという足跡を刻む為に
スクリーンショットを撮影してもらう事になっています(強制ではないけど)
なので、スクリーンショットのショートカットはわかりやすいものにしておくといいお
パッド操作で撮影できるようにしてしまうのも楽かもしれない

それと、バックグラウンド動作を許可しておくのも大事だよ
裏で字幕やテキストをいじる際に音が途切れてしまうのはもったいないお
ただし、アクションゲームなどの場合は「書き込みしてて死んだ\(^o^)/」などの悲しい事故に注意

エミュのウインドウ解像度は512*448が最もオススメ 次いで640*480もオススメだよ

4.WMEの設定をする


はじめに


WMEをインスコした後は設定しないとね
まず、起動直後のウィザードはわけがわからんので
「もうでてくんあ」とばかり、チェックをONにしてキャンセルしよう
そしてツールバーの「プロパティ」をクリック
いずれ配信をこなしていけばプロパティ内しかいじらなくなると思うよ

ソースタブ内のビデオ設定



まず、ソースのビデオ設定はエミュのウインドウサイズの半分のサイズで取り込むのがいい
エミュが512*448の解像度なら256*224、640*480の解像度なら320*240って感じ
負荷と画質の両面でバランスが取れた設定だお

SCFHを併用する今回の場合、左上隅のポイントを0,0という座標にしようね
そして取り込み範囲を横256(320) 縦224(240)としよう
WMEがデスクトップだと思っているのはSCFHが作ったちっこいデスクトップなんだ
座標を0,0にしないと変なところが映し出されてらめぇ・・・そんなにみないで(*ノωノ)ということに

SCFH DSFの場合はちょっと設定が変わるから「実況方法/画面取り込み/WME+SCFH DSF」のページを参考にしてね

ちなみに、ここの最大のつまづきポイントは「設定値が偶数でなければエラーになる」こと
必ず設定値は縦・横ともに2の倍数にしよう
 試しに横255の縦224なんて設定してやるとエラーが返ってきますよ

ソースタブ内のオーディオ設定


 これは環境によるかなあ
ステレオミキサー・WAVE出力ミックス・再生リダイレクトなんて名前のデバイスをチェックすればいいお
それ以外の名前で指定されてる事もあるから注意するといいお( ^ω^)

出力タブ内の設定



ここは「エンコーダからプル」にチェックすればいいお
ポート番号はWMEとkagami.exeとのやり取りをするポート番号になるお
このポートは開放する必要はないお

上のサーバーにプッシュって言うのはプッシュ(Push)配信のとき使うお
今回はプル(Pull)配信の説明をするから、プッシュ配信については他のサイトを見てほしいお

圧縮タブ内の設定


 ここはかなり個人差の分かれる所だお
 参考程度にみてくれればいいと思う


まずは「編集」ボタンをクリック
オーディオ・ビデオともにコーデックが指定されているよ
オーディオ CBRでないとダメ・コーデックもそのままでいい いじるとこないね
ビデオ V7かV9のニ択になります

V7は最小負荷は軽いが、最大負荷は重く、実はV9の方が平均では軽いかもというデータもあります
だっけどもだっけど^o^ 必要スペック的に配信を諦めざるを得ないPCで配信を検討するならこちらかな

V9は絶えず負荷は掛かるものの、最大負荷は小さく、平均で見ればこちらの方が低負荷らしいです
さらに、画質は元より映像の滑らかさが大きく改善されています

一応両方試してみて、CPU負荷をタスクマネージャなどでモニターする事をオススメします


【ビデオサイズ】
「ビデオ入力と同じ」にチェックが最も軽いと思います
もしくは、入力サイズと同じ数値を入れましょう

【ビデオビットレート】

256*224の場合、最低限のビットレートは大体こんな所かな
5FPS 130kbps これ以下にすると逆に重くなるのでこれが下限かな
10FPS 130kbps 10FPSでも問題なく適用できるお
15FPS 130kbps なんと15FPSでもいけてしまう
30FPS 180kbps 30FPSだとこれが適正になるかな
60FPS 360kbps 意外と普通のビットレートだね

320*240の場合、最低限のビットレートはこんな感じ
5FPS 130kbps 下限ビットレートに合わせざるを得ない
10FPS 130kbps ここも下限ビットレートで問題ない
15FPS 130kbps 実は15FPSでも下限ビットレートでいいんですね
30FPS 240kbps ここは本来の適正な下限値だよ
60FPS 480kbps さすがに高ビットレート化してしまう^o^

自分が算出に使ってる公式はこんな感じだよ
取り込み解像度・横 × 取り込み解像度・縦 × デスクトップの色深度 × FPS ÷ 1024 ÷ 150
  • 1024って言うのはbpsをkbpsに直してるんだよ
  • 150って言うのは圧縮の程度だよ 無圧縮の150分の1のサイズまで圧縮するってことね

 ここで算出された値が130を下回る場合は、あえて130kbpsで配信しよう
 これ以下に設定した場合、かえって処理が重くなるという報告があるんだお

圧縮率が高いほど、画質は低下し、滑らかさを失うが、ビットレートは下がる
圧縮率が低いほど、画質は向上し、滑らかさを得るが、ビットレートは上がる

 このトレードオフの関係を頭に入れておくと。゚+.(・∀・)゚+.゚イイ!!

 何故ここでダブルサイズ(512*448)などの大きな画面を取り扱わないか?
 それは多元さんへの配慮があったりするわけです
 |取り込み範囲やビットレートの増加は多元さんや視聴者さんへのマシン負荷を増大させる|
 ということに留意しておきたいものです
 画面が小さい事なんて、視聴側で拡大表示すれば問題ないわけですしね
 それでも大きな画面がいいという考えもあると思いますが、あえてFCスレでは等倍をオススメしておきます

【サウンドビットレート】

基本的にWindows Media Audioは48kbpsもあればかなりの音質を保てるお
逆に32kbps以下はまず使い物にならないお

マイク有無 ビットレート 周波数 チャンネル
マイクなし 32kbps~48kbps 44.1kHz ステレオ
マイクあり 48kbps~64kbps 44.1kHz ステレオ

 目安としてはこんな所かなと

【バッファサイズ】

WMEにおけるバッファとはストリーミング視聴の時に滑らかな映像をキープする為の
指定秒数単位のバッファの事なんだお
この値を5秒などにするとまずバッファッファになって見れたものではないお
もちろん、WMPなどではプレイヤー側でバッファを延長できるので問題ないんだけど
そうでないプレイヤーで視聴するという事も考えると15秒前後が適切なんじゃないかな
これでも足りないという事はそうないと思われますよ( ^ω^)

オススメは15秒かな
でも回線品質次第でさらに縮める事は十分可能だと思います

【ビデオの滑らかさ】

 この設定は映像の優先順位を画質とFPSどちらに重きを置くかという設定ですよ
 地味にエンコード処理の負荷にも関係しているお
 この設定項目はV9コーデックのみで可能になってるからV7の人は読み飛ばしてくだしあ

基本的に
0に近づくほど、フレーム数の確保を重視して画質を軽視します
100に近づくほど、画質を重視し、フレーム数の確保を軽視します

自分の推奨するビットレートであれば、この値は50あたりにあれば問題ないです
勿論初期値の60のままでも構いませんYo

【キーフレームの間隔】

これは指定単位秒毎に挿入される、基準となるフレームの挿入間隔のことです
動画の圧縮は基本的に変更のあった部分だけを書き換えることで圧縮率を高めています
ですが、「シーンが丸々変わる」「アクションゲームやRPGなどでフィールドなどを歩行する」事で
大幅な書き換えが必要になる事があります
その際にはWMEは自動的にキーフレームを挿入してくれるのですが、予期せぬ動作の為、負荷の要因となります
この間隔を縮める事でそれを緩和してくれるのです
その代わり、ビットレートあたりの画質や滑らかさは失われますけどね

高ビットレート配信が可能ならこの間隔を小さめに(5~10秒)
そうでない場合は15~30秒間隔がオススメかな

ジャンルで分ける
RPGやベルトスクロールアクションなんかは小さめがいいです(RPGは戦闘が書き換え少なめだけどね)
アドベンチャーやテーブル系ゲームは大きめがいいです

【デコーダの複雑さ】

基本的には軽量で適当な描画しかしないシンプルデコーダと、重いけど精緻な描画をするメインでコーダの2つです
複合って言うのはその2つを場合によって使い分けてくれるデコーダだよ
でも判断ルーティンが含まれると思われるので一番重いかもしれないね

種類 負荷 画質
シンプル 軽い 悪い
メイン 重い 良い

属性タブ内の設定

ここに入力されたデータは、WMPなどで視聴する際に番組名などとして認識されますよ

5.ツールの設定


kagami.exe


  • 基本的な使い方


 実行ファイルを起動したら、左上の大きなテキストボックスに
localhost:(WMEで指定したポート番号)
 を入力し、右隣の小さいテキストボックスに
(外部に公開するポート番号)
 を入力します

 後はエンコードを開始して、kagami.exeの接続ボタンを押せば。゚+.(・∀・)゚+.゚イイ!!

 きちんとポート開放がされていて、また、設定ミスがなければこれで配信できているはず
 確認の際は 簡易TCPポートスキャンスクリプト などを利用しよう

  • 人数設定

kagami.exeの「オプション」タブをクリック
後は任意の最大接続数に変更するだけでいいお

ちなみに、起動前に設定するならテンキーで人数を変更できるよ
大人数の設定をする場合は事前に人数を変更しておくと便利かな

  • リザーブ

kagami.exeの「リザーブ」タブをクリックして
中央あたりの適当な所でマウスを右クリックするとメニューが出るよ
そこから「追加」を選んでIPアドレスを手入力すればリザーブ完了だよ

  • ポート開放のイメージ

ポートの開放ってどういうこと?って人も多いと思うので、イメージ図を作ってみました。
なぜ、ポートを開放する必要があるかというと、ルーターとかファイヤーウォールとかが外部からの接続を遮断するためです。
そこで、「ある特定のポート番号はこのパソコンにつないでね」とルーターにお願いしたり、「このプログラムが使うからポートを遮断しないでね」とファイヤーウォールにお願いしたりすることを“ポートを開放する”といいます。


それでは、WMEとkagami.exeの関係を見てみましょう。
WMEは8080を「取り込み口」に使って、kagami.exeがそこにアクセスしてデータをもらいに行きます。
(このとき、kagami.exeは「もらいに行く」用のポートを自動的に開いて、そこから8080にアクセスしようとします。
これは、「もらいに行く」専用の窓口なので、通常は無視してかまいません。)
それはPC内(ルーターやファイヤーウォールの内側)での行動なので、ルーターやファイヤーウォールの8080を開放する必要はありません。
そして、kagami.exeが8888を「取り込み口」にして、視聴者のアクセスを待ちます。
視聴者がアクセスするためには、外部からの接続を受け付ける必要があるので、ルーターやファイヤーウォールは8888を開放しておく必要があるのです。


SCFH


  • 基本的な使い方

実行ファイルを起動したら
「Drag here」の上でを左ボタン押しっぱなしにしたまま
取り込み対象となるウインドウに合わせて左ボタンを離すんだよ
そうすると自動的にメニューやタイトルバーを省いた状態で
取り込み対象の位置座標・ウインドウサイズを正確に認識してくれる

 これのお陰でWME設定は楽になるはずだし、縮小の負荷が減るので
 エミュレータをダブルサイズにしてプレイする事も出来るので
 非常に快適性が上がるよ

なお、フルスクリーン環境下で対象プログラムを起動した場合は
WME側でもチラつき現象の原因となるし、取り込み範囲の肥大化によって重くなるし
なによりこのSCFHの取り込み対象にはならなくなってしまうよ

  • エミュ+なにか(テキストエディタなりチャットウインドウなり)を表示したい

 まずは画面レイアウトを考えよう
 ダブルサイズに拡大したNesエミュレータは基本的に512*448のサイズです
 そこにメモ帳をはみだし表示したり、ネットプレイ時のチャットウインドウを表示なんて場合は
 縦より横が向いています(若干横の方が長いし、基本的にWindowsのテキストは横書きだからNE)
 とはいえここは好き好きですよ
 準備が出来たら以下へ

まず、メインとなるNesエミュレータに合わせて取り込み範囲指定します(前述の方法で)
そしたら次に、デスクトップボタンを押してみてね
するとNesエミュレータのデスクトップ上での座標位置が表示されます(ウインドウサイズは変化なしのはず)
この状態で、伸ばしたい方向に枠を広げます

 枠の広げ方ですが、「サイズ」の左ボックスは横の、右ボックスは縦の取り込みウインドウサイズを指定する値ですよ
 この値を現状より広げることで、余白を作り、なんか表示しちゃおうという事なんです
 微調整に関してはSCFHのプレビュー機能を使うとかなり作業が楽になります

  • プレビュー機能の使い方

SCFHのプレビューボタンを左クリック
表示されたプレビュー画面の上で右クリック
解像度とFPSを好きなように指定して[OK]ボタンを左クリック

 これを実際に配信するFPSと揃えれば、最高にうまく配信できた時に
 視聴者さんからどのように見えるかがある程度わかりますよ

  • レイヤードウインドウ表示って何?

これは要するに字幕とかのレイヤー層を表示するかどうかだお
字幕系ツールを使う場合はここにチェックを入れないと字幕が表示されません


VH Screen Capture Driver


  • 基本的な使い方

「スタートメニュー」もしくは「ショートカット」からVHの「Config」を起動します
次に、右下の「Create new one」を左クリックして設定画面を呼び出します
Captureの値はWMEで設定する値と同じですよ
つまり、SCFHを間にかませる場合は座標を0,0とし、出力するウインドウサイズを指定してあげればOK

次に、Settingタブを左クリックします
色んなチェックがあるけど全部外しちゃってくだしあ
FPSは配信FPSと揃えてしまってOK(自分はそうしてるお)

すべての設定が終わったら右上の×ボタンで閉じちゃっていいよ

WMEの「ソース」タブ内のビデオをリストから「VHScrCap」に指定して「構成」ボタンを左クリックすると
再びConfigが出てくるはず
さっき設定した値になってるか一通りチェックして、全部その通りなら問題なく設定完了( ^ω^)
これで一定タイミング毎のフレームカクツキとはおさらばできるかもしれない

+最後に


 これを書いた時点では大体こんな所が配信品質を高める工夫だと思います
 しかし(`・ω・´) 9m
 この先また新しく画期的なツールの登場が予想されます
 WMEも刷新されてそれ単体で現状のツールを駆逐してしまうほどの出来になるかもしれません
 常にアンテナを広げておきたいものです


● ゲームリスト
  ○ INDEX
  ○ 補完リスト
● 過去ログ
● ランキング

▼データベース

● 実況方法
  ○ 支援ツール
  ○ 改善チャート
● Wiki編集ガイド
  ○ より詳しく
  ○ テストページ

● 更新履歴
● リンク

合計 : -
今日 : -
昨日 : -

取得中です。