はなげブログ
ゲーム
ニコ生とTwitchのコメントを混ぜて画面表示
ニコ生とTwitch同時配信してコメントを混ぜて画面表示する。
配信ソフトはOBS Studioを使う場合の解説。
OBS Studio単体でのニコ生・Twitchの同時配信は以下記事が参考になるかも。
https://www18.atwiki.jp/live2ch/pages/505.html#id_fd984680
コメントの画面表示はHTML5コメントジェネレーターを使わせてもらいます。
※記事投稿時点のバージョン: ver.0.0.8
http://www.kilinbox.net/2016/06/obs-studioHCG.html
LimeChatでTwitchのコメント(チャット)を取得する手順は以下記事が参考になる。
https://rta-play.info/release/broadcast/twitch/chat/limechat/
LimeChat→HTML5コメジェネの導入方法は以下の通り(readme.txtから引用)
1. 設定→スクリプトの設定、「スクリプトフォルダを開く」
2. hcg_LimeChat.jsをコピー、スクリプト設定でhcg_LimeChat.jsを右クリックして「○」印にする
ニコ生・Twitchどちらのコメントなのかを区別して表示したい場合、
OBS Studioで選択するファイルとして同梱の「CommentGenerator_multi.html」を選ぶとできる。
【ニコ生】はなげさん「コメントの内容。」
【Twitch】HanageBelmondoさん「コメントの内容。」
こんな感じになるはず。なお、コテハンの表示を有効に設定にしておく必要がある。
私は個人的に以下のように表示させたくて、カスタマイズした。
(nico) コメントの内容。
(twitch) コメントの内容。
修正内容を残しておく。
hcg_setting.exeを開いてコテハン表示を無効にする(前提)。
以下、ソースファイルを修正するため、やってみる場合は念のためバックアップ取っておいた方がいいです。
※動作保証しません。
計3箇所。
の下に
を追加。
の下に以下を追加(ニコ生の色を水色にする場合)。
の下に以下を追加(twitchの色を黄色にする場合)。
を
以上。
配信ソフトはOBS Studioを使う場合の解説。
OBS Studio単体でのニコ生・Twitchの同時配信は以下記事が参考になるかも。
https://www18.atwiki.jp/live2ch/pages/505.html#id_fd984680
コメントの画面表示はHTML5コメントジェネレーターを使わせてもらいます。
※記事投稿時点のバージョン: ver.0.0.8
導入1: ニコ生コメント
以下記事が参考になる。http://www.kilinbox.net/2016/06/obs-studioHCG.html
導入2: Twitchのコメント
LimeChatを経由する。LimeChatでTwitchのコメント(チャット)を取得する手順は以下記事が参考になる。
https://rta-play.info/release/broadcast/twitch/chat/limechat/
LimeChat→HTML5コメジェネの導入方法は以下の通り(readme.txtから引用)
1. 設定→スクリプトの設定、「スクリプトフォルダを開く」
2. hcg_LimeChat.jsをコピー、スクリプト設定でhcg_LimeChat.jsを右クリックして「○」印にする
表示のカスタマイズ例
ニコ生・Twitchどちらのコメントなのかを区別して表示したい場合、
OBS Studioで選択するファイルとして同梱の「CommentGenerator_multi.html」を選ぶとできる。
【ニコ生】はなげさん「コメントの内容。」
【Twitch】HanageBelmondoさん「コメントの内容。」
こんな感じになるはず。なお、コテハンの表示を有効に設定にしておく必要がある。
私は個人的に以下のように表示させたくて、カスタマイズした。
(nico) コメントの内容。
(twitch) コメントの内容。
修正内容を残しておく。
hcg_setting.exeを開いてコテハン表示を無効にする(前提)。
以下、ソースファイルを修正するため、やってみる場合は念のためバックアップ取っておいた方がいいです。
※動作保証しません。
1. CommentGenerator.js
CommentGenerator.js 内の 「 と 」 を削除。計3箇所。
2. CommentGenerator_multi.html
97行目あたりvar handle="";
の下に
var stream="";
を追加。
handle = "【ニコ生】" + handle;
の下に以下を追加(ニコ生の色を水色にする場合)。
stream = "(nico) ";
TxtFormat.TxtColor = "66ffff";
handle = "【twitch】" + handle;
の下に以下を追加(twitchの色を黄色にする場合)。
stream = "(twitch) ";
TxtFormat.TxtColor = "ffff66";
var CGen = new CommentGenerator(handle, fixComment(xml[i].firstChild.nodeValue), HcgFormat, TxtFormat);
を
var CGen = new CommentGenerator(handle, stream + fixComment(xml[i].firstChild.nodeValue), HcgFormat, TxtFormat);
に修正。
以上。
投稿:2017/03/12 01:27
更新:2017/03/12 19:51
更新:2017/03/12 19:51
ゲーム
SFC実機でクイックセーブ&クイックロードできるGame Saverの入手方法・使用方法
タイムアタック(TA / RTA)の練習用に、Nakitek社の
SNES Game Saver+
を買ってみた。
SFC(またはSNES)実機でクイックセーブ&クイックロードができるので、
RTAの区間練習に最適と思われ、海外ではすでにRTA練習に使われているのをよく見かける。
この記事では、購入から使用まで、自分のたどった手続きを残しておく。
(おまけでラグの検証も)
必要なもの
- SNES Game Saver+
- SNES用ACアダプタ
- (SFC実機とそのケーブル、ソフトなど。省略)
購入方法
1. SNES Game Saver+
購入に関しては2つの選択肢がある。
簡単そして速いのは日本で購入すること。
安いのは海外から個人輸入すること。
日本のお店から購入する方法
http://furimappy.ocnk.net/product/3149 (フリマッピィ)現在こちらのお店で取り扱っているようである。
商品の説明もされており、また日本語のマニュアルもつけてくれるとのこと。
不安ならこちらを選択すべきであろう。
自分は見つけられなかったが、他にも取り扱い店があるかもしれない。
海外から個人輸入する方法
http://amzn.com/B0002U28TY (Amazon)自分はこちらを選んだ。
海外版Amazonでの購入方法については
http://d.hatena.ne.jp/servitors/20120723/p1 (3分でわかる! 海外アマゾンから個人輸入する方法)
を参考になんなく解決。
新品が良かったので New の中から最も合計料金が低い業者(評価も最も低かった)を選んだ結果、以下の料金になった。
本体価格: $13.48
送料: $16.40
合計: $29.88 (税抜)
税込みで \3,050 くらい。
日本で買うよりは安くなった。
が、新品のはずなのに本体のみでマニュアルとコード集がついてこなかった(そういう記述もなし)。
自分はこれで問題なかったが、気になる人は評価も気にするべきかもしれない。
動作は問題なし。
注文から到着までは20日間かかった。
2. SNES用ACアダプタ
海外の人からはこちらをお勧めされたが、
http://amzn.com/B000A7I71C (Amazon)
送料の問題があるので国内で手に入るこちらを購入した。
http://item.rakuten.co.jp/gameexp/10001457/ (楽天)
送料+税含めて \1,080
使用1日目で割れたので耐久性はなさそう・・・。
テープで止めればいいので問題ないが。
(やはりおとなしくお勧めを買うべきだったのか)
合計で \4,130 かかった。
使用方法
セット方法
Game Saver
Game Saverにソフトを差し込む
SNES用ACアダプタ
太いほうがSNES用なのでこちらを使う。
SNES用ACアダプタをGame Saverのここに挿入。
かなり力を入れないと入らない(このアダプタだけかもしれない)。
Game Saverの電源をONに。
SFCにGame Saverを挿入。
SFCのケーブルは通常通り。
※机は汚くない。
操作方法
ステートセーブ: SELECT + R
ステートロード: SELECT + L
スローモーション: START + R もしくは START + L
注意事項
- セーブスロットは1つのみ。
- ステートロード時には、BGMは再現されない。ステートロード直前のBGMが継続される。
- 動作しないゲームもあるらしいです。ちょっと調べた限りだと、ロックマンX2・X3、ヨッシーアイランド、マリオRPGなどは特殊なチップが内蔵されていることが原因で、うまく動作しないとのことです。
ラグの検証
「ソフトとSFC本体の間に別の機械での処理を挟み込んでいるわけだから、当然ラグが生じるはずだ」と思って調べてみた。結論から言うと、
まったくラグありませんでした。
前回と同様、ハイスピードカメラでラグを検証した。
Game Saverを介する条件と介さない条件(Normal条件)の比較。
20試行、超魔界村でのボタン押しから画面反応までの時間を測定。
テレビモニターにはLCDを使用。
詳しくは前回の記事へ。
平均 | 標準偏差 | 最小値 | 最大値 | レンジ | |
---|---|---|---|---|---|
Normal | 67.5 | 4.7 | 60.1 | 75.1 | 15.0 |
Game Saver | 67.4 | 6.3 | 60.1 | 77.1 | 17.0 |
もっと試行を増やせばきっと平均も標準偏差もさらに一致するだろう。
ラグは通常と変わらない。
2014/08/31 追記:
動作しないゲームがあること、リバイバルコード入力の2点を注意事項に追加。
2014/10/10追記:
表のエラーバーは標準誤差じゃなくて標準偏差だったので修正。
投稿:2014/08/18 23:29
更新:2014/10/10 16:04
更新:2014/10/10 16:04
コメント(1)
1
削除されました
2018-11-22 12:20:21
削除されました
ゲーム
RTAのためのラグ検証(ブラウン管/液晶/キャプチャ/エミュレータ)
環境が少し変わった上に、ブラウン管テレビが手に入ったので、
応答時間の検証をもう一度することにしました。
キーを押してから画面に入力が反映されるまでの時間を測りました。
この時間は、コントローラー・ゲーム機の処理時間、ディスプレイへの入力から表示開始までにかかる時間(ディスプレイの入力遅延)、ディスプレイの表示開始から完了までの時間(ディスプレイの応答速度)を含むもので、この記事では応答時間と呼ぶことにします(注釈)。
応答時間はRTAをする上で考えるべき問題です。
問題1:練習と本番の違い
エミュレータで練習をして、本番では実機を使うという人がほとんどだと思いますが、
練習時と本番時で応答時間が異なる環境では、
せっかく練習で身につけたタイミングの感覚が、
本番の環境では早すぎる、遅すぎる、といった悲劇につながることがあります。
問題2:応答時間が遅いと不利になることがある
また、ランダムな画面上の動きに対して可能な限り速く判断や反応をしなければならない場合、
応答時間が速い環境でプレイした方が有利となります。
たとえば応答時間が97msecと遅い環境の人は、32msecといった速い環境の人よりも
およそ4フレームも古い映像を見てプレイしていることになります。
1000fpsで撮れるスーパースローカメラ(スピードカメラ)を使って
画面とコントローラを撮影しました。
※以下画像付きリンクのリンク先はAmazonです。広告にする代わりに製品画像の使用が許可されています。
使用したのはこれ
HI-SPEED EXILIM EX-FC150
この機種は今はもう生産していないが、
CASIOの1000fps撮影できるハイスピードエクシリムは
今でも新型が作られています(CASIO公式ページ)。
これらのカメラでも同様の検証が可能でしょう。
カタログスペックは1000fpsとなっていますが、
時計の針を撮るとわかりますが実際は999fpsでした。
したがって、集計の際には修正する必要があります(ミリ秒単位の差=フレーム数×1000/999)。
今回比較する条件は4つ。
CRT(ブラウン管)
スーパーファミコンをブラウン管テレビにS端子コンポジット接続。
テレビ:
TOSHIBA 15VS17
※PCとの2端子同時出力をすることを想定しているためS端子コンポジットで接続。
LCD(液晶)
スーパーファミコンを液晶テレビにS端子コンポジット接続。
テレビ:
PIXELA PRD-LA103-16W
※PCとの2端子同時出力をすることを想定しているためS端子コンポジットで接続。
キャプチャ
スーパーファミコンをUSBビデオキャプチャにコンポジットS端子接続。
USBビデオキャプチャをノートPC(液晶画面)に接続。
AmarecTVのプレビューに表示される映像を対象に検証。
AmarecTVの設定はこちら。
USBビデオキャプチャ:
I-O DATA GV-USB2
SNESGT
バージョンは0.230 beta 7。垂直同期ON。
ジョイパッド:
Buffalo BSGP801
【細々したこと】
使用した液晶はPWM調光式であったため最大輝度の設定にして撮影した。
SFCの超魔界村のステージ1の最初の柱の上でAボタンを押してから、アーサーが槍を投げる動作に入るまでの時間を測定した。ボタンは押下タイミングがわかるよう、素早く(しかし毎回同じ速さ・動きになるように)上から指を振り下ろした。指の先端が止まった瞬間をボタン押下、画面の槍が(少しでも)視認できた瞬間を画面反映とし、押下と反映の間のフレーム数を数えた。カメラが撮影するFPSが1000ではなく999であったことから、差分フレーム数に(1000/999)をかけた値をミリ秒単位の応答時間として算出した。
画面の更新周期(とコントローラのポーリング周期)の関係で応答時間にはバラツキが生じる。そのため、20試行測定を行い、その平均値をもって条件間の比較を行った。
1000ミリ秒=1秒。
60fpsのゲームの場合、1フレーム16.7ミリ秒。
標準偏差はバラツキの指標。レンジ=最大値-最小値。単位はミリ秒。
画面変化からのas soon asの反応が求められるならCRT一択。
実機でステートセーブ・ロードができるやつを入手すれば練習も効率的で最善の選択(?)
エミュで練習して本番は実機という場合は、
本番はCRTよりもLCDにつなげた方が練習環境に近いということになる。
しかし、以上は「私の環境では」の話なので、あくまでも参考程度に。
PCやモニター、ゲーム機、コントローラなどによって多少変わってくるはずである。
(注)
液晶ディスプレイのカタログに表記される応答時間について
今回測定したのは、コントローラからディスプレイまでを含めた環境全体の応答時間である。
液晶のゲーミングディスプレイなどのカタログで示される応答時間(1msecなど)は、
ディスプレイ自体の性能なので今回調べた応答時間の一部ではあるものの別物と考えて欲しい。
液晶ディスプレイの応答時間として示されている数値は、
画素の色の変化の速さを表すもので、残像の映りにくさを反映するが、
液晶はそもそも書き換えが始まるまでのラグが大きいため、
たとえディスプレイ自体の応答時間が1msecであってもCRTには及ばないとされている。
追記:2014/07/09
コンポジットとS端子を逆に書いていたため修正しました。
方法の詳細な手続きと結果の表を追加した。
液晶ディスプレイのカタログで表記される応答時間と混同を避けるため注釈を追加。
追記:2014/10/10
標準誤差じゃなくて標準偏差だったので修正。
応答時間の検証をもう一度することにしました。
キーを押してから画面に入力が反映されるまでの時間を測りました。
この時間は、コントローラー・ゲーム機の処理時間、ディスプレイへの入力から表示開始までにかかる時間(ディスプレイの入力遅延)、ディスプレイの表示開始から完了までの時間(ディスプレイの応答速度)を含むもので、この記事では応答時間と呼ぶことにします(注釈)。
応答時間はRTAをする上で考えるべき問題です。
問題1:練習と本番の違い
エミュレータで練習をして、本番では実機を使うという人がほとんどだと思いますが、
練習時と本番時で応答時間が異なる環境では、
せっかく練習で身につけたタイミングの感覚が、
本番の環境では早すぎる、遅すぎる、といった悲劇につながることがあります。
問題2:応答時間が遅いと不利になることがある
また、ランダムな画面上の動きに対して可能な限り速く判断や反応をしなければならない場合、
応答時間が速い環境でプレイした方が有利となります。
たとえば応答時間が97msecと遅い環境の人は、32msecといった速い環境の人よりも
およそ4フレームも古い映像を見てプレイしていることになります。
方法
1000fpsで撮れるスーパースローカメラ(スピードカメラ)を使って
画面とコントローラを撮影しました。
※以下画像付きリンクのリンク先はAmazonです。広告にする代わりに製品画像の使用が許可されています。
使用したのはこれ
HI-SPEED EXILIM EX-FC150
この機種は今はもう生産していないが、
CASIOの1000fps撮影できるハイスピードエクシリムは
今でも新型が作られています(CASIO公式ページ)。
これらのカメラでも同様の検証が可能でしょう。
カタログスペックは1000fpsとなっていますが、
時計の針を撮るとわかりますが実際は999fpsでした。
したがって、集計の際には修正する必要があります(ミリ秒単位の差=フレーム数×1000/999)。
今回比較する条件は4つ。
CRT(ブラウン管)
スーパーファミコンをブラウン管テレビに
テレビ:
TOSHIBA 15VS17
※PCとの2端子同時出力をすることを想定しているため
LCD(液晶)
スーパーファミコンを液晶テレビに
テレビ:
PIXELA PRD-LA103-16W
※PCとの2端子同時出力をすることを想定しているため
キャプチャ
スーパーファミコンをUSBビデオキャプチャに
USBビデオキャプチャをノートPC(液晶画面)に接続。
AmarecTVのプレビューに表示される映像を対象に検証。
AmarecTVの設定はこちら。
USBビデオキャプチャ:
I-O DATA GV-USB2
SNESGT
バージョンは0.230 beta 7。垂直同期ON。
ジョイパッド:
Buffalo BSGP801
【細々したこと】
使用した液晶はPWM調光式であったため最大輝度の設定にして撮影した。
SFCの超魔界村のステージ1の最初の柱の上でAボタンを押してから、アーサーが槍を投げる動作に入るまでの時間を測定した。ボタンは押下タイミングがわかるよう、素早く(しかし毎回同じ速さ・動きになるように)上から指を振り下ろした。指の先端が止まった瞬間をボタン押下、画面の槍が(少しでも)視認できた瞬間を画面反映とし、押下と反映の間のフレーム数を数えた。カメラが撮影するFPSが1000ではなく999であったことから、差分フレーム数に(1000/999)をかけた値をミリ秒単位の応答時間として算出した。
画面の更新周期(とコントローラのポーリング周期)の関係で応答時間にはバラツキが生じる。そのため、20試行測定を行い、その平均値をもって条件間の比較を行った。
結果
結果はミリ秒(msec)で示した(動画・グラフの縦軸・表)。1000ミリ秒=1秒。
60fpsのゲームの場合、1フレーム16.7ミリ秒。
平均 | 標準偏差 | 最小値 | 最大値 | レンジ | |
---|---|---|---|---|---|
CRT | 31.9 | 4.6 | 24.0 | 39.0 | 15.0 |
LCD | 67.5 | 4.7 | 60.1 | 75.1 | 15.0 |
GV-USB2 | 97.0 | 6.2 | 85.1 | 107.1 | 22.0 |
SnesGT | 73.8 | 4.1 | 65.1 | 81.1 | 16.0 |
結論
CRTはかなり速い。画面変化からのas soon asの反応が求められるならCRT一択。
実機でステートセーブ・ロードができるやつを入手すれば練習も効率的で最善の選択(?)
エミュで練習して本番は実機という場合は、
本番はCRTよりもLCDにつなげた方が練習環境に近いということになる。
しかし、以上は「私の環境では」の話なので、あくまでも参考程度に。
PCやモニター、ゲーム機、コントローラなどによって多少変わってくるはずである。
(注)
液晶ディスプレイのカタログに表記される応答時間について
今回測定したのは、コントローラからディスプレイまでを含めた環境全体の応答時間である。
液晶のゲーミングディスプレイなどのカタログで示される応答時間(1msecなど)は、
ディスプレイ自体の性能なので今回調べた応答時間の一部ではあるものの別物と考えて欲しい。
液晶ディスプレイの応答時間として示されている数値は、
画素の色の変化の速さを表すもので、残像の映りにくさを反映するが、
液晶はそもそも書き換えが始まるまでのラグが大きいため、
たとえディスプレイ自体の応答時間が1msecであってもCRTには及ばないとされている。
追記:2014/07/09
コンポジットとS端子を逆に書いていたため修正しました。
方法の詳細な手続きと結果の表を追加した。
液晶ディスプレイのカタログで表記される応答時間と混同を避けるため注釈を追加。
追記:2014/10/10
標準誤差じゃなくて標準偏差だったので修正。
投稿:2014/07/08 07:23
更新:2018/02/04 02:58
更新:2018/02/04 02:58
コメント(0)
ゲーム
ダブラーを使ってプレビューのドットを明確化する
SFCなどの解像度の低いゲームでアマレコTVのキャプチャ解像度を360x240にした場合(設定画面)、
プレビュー画面のダブラー設定を有効にすることで(設定画面)、
ドットを明確化することができます。
プレビュー画面の比較
プレビュー画面を見てプレイしている人や、プレビュー画面をキャプチャしてライブストリーミング(生配信)している方に推奨です。
※SFCなどの解像度の低いゲームをGV-USB2などでキャプチャした場合のための設定です。高解像度でキャプチャできる高価なキャプチャボードをお使いの場合には関係のない話かもしれません。
プレビュー画面のダブラー設定を有効にすることで(設定画面)、
ドットを明確化することができます。
プレビュー画面の比較
プレビュー画面を見てプレイしている人や、プレビュー画面をキャプチャしてライブストリーミング(生配信)している方に推奨です。
※SFCなどの解像度の低いゲームをGV-USB2などでキャプチャした場合のための設定です。高解像度でキャプチャできる高価なキャプチャボードをお使いの場合には関係のない話かもしれません。
投稿:2014/04/08 23:01
更新:2014/04/08 23:10
更新:2014/04/08 23:10
コメント(1)
1
削除されました
2018-05-07 21:33:58
削除されました
ゲーム
GV-USB2でSFCの映像をインタレース無しの60fpsで録画する方法
360x240で録画すればいいようです。
アマレコTVの細かい設定などはこちら。
そもそもスーパーファミコン(SFC)のほとんどのソフトが256x224であり、
720x480でキャプチャする必要がないようです(ハイレゾモードのシーンがあり、それをきちんと撮りたい場合は必要)。
まずは720x480でキャプチャ&録画した場合を見てみます。
インタレース縞が見られます。
http://www.nicovideo.jp/watch/sm23274190
(つんでれんこでエンコードしてニコ生に上げた結果)
インタレースがないことを確認できます。
※上の画像と比較するためにドットを2倍化しています。
http://www.nicovideo.jp/watch/sm23279645
(つんでれんこでエンコードしてニコ生に上げた結果)
なお、YouTubeに上げる場合は、YouTube側が勝手に30fpsに変換してしまうため、
今回の話はあまり関係ありません。
アマレコTVの細かい設定などはこちら。
そもそもスーパーファミコン(SFC)のほとんどのソフトが256x224であり、
720x480でキャプチャする必要がないようです(ハイレゾモードのシーンがあり、それをきちんと撮りたい場合は必要)。
まずは720x480でキャプチャ&録画した場合を見てみます。
720x480でキャプチャ&録画した場合
インタレース縞が見られます。
http://www.nicovideo.jp/watch/sm23274190
(つんでれんこでエンコードしてニコ生に上げた結果)
360x240でキャプチャ&録画した場合
インタレースがないことを確認できます。
※上の画像と比較するためにドットを2倍化しています。
http://www.nicovideo.jp/watch/sm23279645
(つんでれんこでエンコードしてニコ生に上げた結果)
なお、YouTubeに上げる場合は、YouTube側が勝手に30fpsに変換してしまうため、
今回の話はあまり関係ありません。
投稿:2014/04/07 21:15
更新:2014/04/07 22:16
更新:2014/04/07 22:16
コメント(0)
コメント(11)