Twitchで生放送中!

Twitchで生放送中!

はなげブログ

ゲーム

Bloodstained CotM STEAM版 録画

60fpsでできるだけ劣化しないように録画するために、私は以下の方法を用いました。
最適な方法かはわかりませんが、参考になったら幸いです。

録音関連

以前別のPCゲームを録画(録音)するときに使っていたUSBオーディオ変換アダプタを今回も使用しました。
偶然ですけど、これでPC内のCotMのゲーム音だけを切り分けて録音することに成功しました。

PL-US35AP


また、以下のようなオーディオケーブルも使用。

オーディオケーブル(オス・オス)


準備
PL-US35APをUSBにさしたら、
サウンド設定ウィンドウ(サウンドアイコン右クリ>サウンド)の「再生」タブに
「2- USB PnP Sound Device」が現れると思うので、これをダブルクリックし「詳細」をメモ。

サウンドの「録音」タブのデフォルトのPCのマイクをダブルクリック。
「詳細」を同じ設定に設定。
「聴く」タブの「このデバイスを聴く」にチェック。
PL-US35APのヘッドホン端子とPCのマイク端子をオーディオケーブルで接続。

配信時に使うヘッドホンがPCのヘッドホン端子に接続されていることを確認。
音の出るアプリケーションを1つも起動していないことを確認。
サウンドの再生タブの「2- USB PnP Sound Device」を規定のデバイス・通信デバイスとして設定。
CotMを起動。
「2- USB PnP Sound Device」にゲームの音が来るので、この状態で、
PCのヘッドホンのサウンド(私の環境ではRealtek High Definition Audio)を規定のデバイス・通信デバイスとして設定(もとに戻すことになる)。
これで、CotMの音だけ「2- USB PnP Sound Device」で再生されている状態になり、かつその出力音声をPCのマイクとして拾っている状態になる(はず)。
ヘッドホンにゲームの音が入ることを確認。

通常の配信用のマイクはPL-US35APの方のマイク端子を使用する。

画面キャプチャ


アマレコTVやアマレココの画面キャプチャが重かったので、SCFF-DirectShow-Filterを使いました。
https://sites.google.com/site/scffdirectshowfilter/

録画


ffmpegを使いました。インストール方法は下記などを参照。パスも通す。
https://web.plus-idea.net/2015/11/windows-ffmpeg/

以下の内容の AviRec.bat を作成。
AviRec.bat の中身(例)

set d=%date:~0,4%%date:~5,2%%date:~8,2%
set t=%time:~0,2%%time:~3,2%%time:~6,2%
set t=%t: =0%
set filename=%d%_%t%
ffmpeg -f dshow -framerate 60 -r 60 -video_size 800x480 -rtbufsize 1024M -pixel_format yuv420p -i video="SCFF DirectShow Filter":audio="マイク (Realtek High Definition Audio)" -vcodec ffvhuff -acodec aac -ar 44100 -ab 96k -ac 2 -vol 256 -threads 4 -f avi "C:\Users\hanage\Videos\RTA\%filename%.avi" -vsync passthrough -vsync 1


なお、赤文字の部分は自分の環境に合わせる。
1つめはゲームの画面のサイズ(例では2倍表示の場合)。
2つめは録音音声。
3つめは出力先。
ビデオコーデックとして指定している huffyuv は別途コーデックのインストールが必要。

録画手順

(ゲーム起動済みとして)
SCFF-DirectShow-Filterを起動。
AviRec.bat を実行。
SCFF-DirectShow-Filterの「Reflesh」押下、ffmpegを選択。
「Drag here」からゲーム画面を選択し「Apply」。
これで録画が開始される。
録画の停止は開いているコマンドプロンプトをクリックして Q でできました。


環境
OS:Windows 8.1 64bit
CPU:core i5
メモリ:8MB

このスペックで録画のCPU負荷8%程度。
アマレコを使うよりはだいぶ軽くなった。
なおCotMは20%、OBSが30%。

他の環境でうまくいく保証はできないけど参考までに。
もっといい方法がある場合、twitterなどで教えてもらえると嬉しい。

2018/08/03 追記
バッチファイルのffmpegの記述を一部修正しました。
投稿:2018/06/27 21:35
更新:2018/08/03 02:41

コメント(0)

名前
コメント

日記

PC用ゲームパッドの応答時間比較

4年も前(2014年)ですが、PC用のゲームパッドいくつかの応答時間を調査したことがあったので、今更ながら結果を公開します。

目的

いくつかのゲームパッドをPCに接続して、ボタンを押してからPCが入力を受け付けるまでの時間を計測し(ここではこれは応答時間と呼ぶことにします)、応答時間の短さ(速度面)とバラツキ(安定面)を調査しました。
これらをもとに、PCゲーム(の主にRTA)に向いているコントローラーを探しました。

比較対象


JC-U2410TBK

USBジョイパッドです。

BGCUCF1201BK

USBジョイパッドです。

FightingCom3Pro

USBジョイパッドです。

Keyboard
ノートPC内蔵のキーボードです。
比較のためについでに計測しました。

BSGP801

SFC風のUSBジョイパッドです。

BSGC101 ( +PS2 Controller)

コンバーターです。これにPS2のコントローラーをつけてPCにUSB接続した条件です。

方法


1秒間に1000枚のフレームを撮影できる(1000fps)スピードカメラを使って、ボタン押下とPC画面を撮影しました。
 

カメラ

使用したのはいつもどおりのこれ

HI-SPEED EXILIM EX-FC150


カタログスペックは1000fpsとなっていますが、
時計の針を撮るとわかりますが実際は999fpsでしたので、集計の際には微修正しました(ミリ秒単位の差=フレーム数×1000/999)。
 

PC側

PC:
Windows 7のノートPCを使いました。

プログラム:
コントローラーの入力を受け取り次第、画面の黒の縦ラインを白に塗り替えるプログラムを作成しました。
画面描画を最速で行うため、DirectXを使い垂直同期を無視した描画しました。
そのため、黒ラインのどの部分で白色に変化するかはコントローラーの入力タイミングに左右される形になります。
(なお垂直同期すると、待ちが発生し必ず画面のテッペンから白に変化します)

結果


各条件20回(計120回)の試行の結果は以下の通り。
いずれもボタンを押してから画面に変化が生じるまでの時間をミリ秒で計測したものです。なお、60fpsのゲームで1フレームは16.7ミリ秒です。
平均が低ければ低いほど応答時間は高速で、標準偏差が小さいほどバラツキが少なく安定しています。

  平均 最小値 最大値 レンジ 標準偏差
JC-U2410TBK 23.1 10.0 36.0 26.0 7.1
BGCUCF1201BK 22.8 14.0 31.0 17.0 5.6
FightingCom3Pro 20.0 16.0 23.0 7.0 2.4
Keyboard 13.0 11.0 16.0 5.0 1.4
BSGP801 11.5 8.0 16.0 8.0 2.4
BSGC101(PS2) 10.3 8.0 12.0 4.0 1.3
標準偏差はバラツキの指標。レンジ=最大値-最小値。


※青の棒が平均で、それについているヒゲが標準偏差。



コンバーター BSGC101 にPS2のコントローラーをさした条件が、平均10.3ミリ秒、標準偏差1.3と、速度面・安定面どちらをみても最良という結果でした。
変換の処理が入るので遅延するのではと予想していましたが、予想に反してゲームパッドを直接さすよりも高速でした。
BSGC101が優れているのかPS2コントローラーが優れているのか、今回の結果だけでは判断がつきません。が、そこは興味の範囲外です。

ついで、BSGP801 も平均11.5ミリ秒と同等の速度を誇っていますが、標準偏差2.4と若干バラツキがあるように見えます。が、これは誤差かもしれません。試行回数を増やせばわかることですが、今回は追求しません。

キーボードも同様の速度・バラツキでした。
なお、別の調査で
・ノートPC付属のキーボード
・普通のUSBキーボード
・ゲーミングキーボード(ポーリングレート1000Hz)
を比較したこともあるのですが、(ポーリングレートの関係で当たり前なんですが)ゲーミングキーボードが圧勝でした。
キーボードでゲームができる人は(私は無理です)、ポーリングレートの高い製品をゲットするのも良い選択肢かもしれません。

以上の結果から、私はPCゲームでは BSGC101 ( +PS2 Controller) BSGP801 を今でもつかっています。

(追記)
だいぶ昔の調査なので、今は探してみればもっといいコントローラーが見つかるかもしれません。

動画はエンコードしてYouTubeかニコ動にあげようと思っていたのですが、面倒になったので、以下においておきます。AVIをそのままZIPにしてあるだけです。
https://1drv.ms/f/s!Aia9hZALj8kwgRIeViTx8vtEOa3U
投稿:2018/06/16 17:12
更新:2018/06/16 22:26

コメント(0)

名前
コメント

ゲーム

【HTML5コメジェネ】TwitchのEmote(絵文字)を表示

※現在この方法は使えません!古い記事です。

できるようにカスタマイズしてみました。



ダウンロード

【導入する前に】
表示の調整やカスタマイズするには css や javascript の知識が必要です。
調整しやすいような設定画面などは作ってないです。
まったくわからなそうな場合、導入しないほうがいいです。


【導入】
まずHTML5コメジェネのバージョンですが ver.0.0.8ver.0.0.8a で動作するはずです(HTML5コメントジェネレーター本家
CommentGenerator.jsがあるディレクトリに↑のZIPを解凍した中身(LICENSE以外)を配置し、配信アプリでは emote.html を選択すればOK。
やっぱりやめるという場合はもともと選択していたhtmlファイルを選択しなおせばOK。

コメントの表示のプログラムを独自に作ったので、HTML5コメジェネの設定が無視されるので注意。

コメントの表示の調整は自分でソースを修正してください。
emote.css をいじればできます。

動作は emote.js (場合によっては emote.htmlも) をいじります。

複数サイトでの配信に対応した CommentGenerator_multi.html を独自にカスタマイズしたものをもとにしています。
コメントは以下のような形式で表示されるようになっています。
(twitch) コメント
修正したい場合は emote.html の145行目(var mes =...)あたりをうまく修正してお好みに仕上げてください。

Emoteのデータが古いと思った場合は、global.jsonrobot.json を更新します。
global.json は以下にURLがあります。
https://twitchemotes.com/apidocs
更新した後は emote.js の21行目あたりの
var openRequest = indexedDB.open("db_emote", 26);
の数字(バージョン)を+1して保存してから、配信アプリを再起動してください。

【仕組み】
Emoteの画像入りコメントの表示の動作はJqueryで実現しました。(既存の仕組みは使用していません)
EmoteのデータはIndexed Databaseを使用して、置換の高速化を試みています。
初回でjson内のEmoteデータをIndexed Databaseに全件格納します。以降は上で書いたバージョンが更新されない限り、jsonは読み込まれません。
Indexed Databaseはまだ仕様が確定していない新しい仕組みです。突然動作しなくなることもあるかもです。

※2018/05/29時点で動作するはずですが、Twitch側の変更によって動作しなくなることがあります。
※環境によっても動作しないかもなので、一切の保証はしません。自己責任で使ってください。
※2018/07/08、バグ修正。多分初回の場合動いてなかったはず。
投稿:2018/05/29 23:45
更新:2019/08/21 17:53

コメント(0)

名前
コメント

IT関連

Chat SpeechでTTS自動切り替え

Twichのチャットを読み上げる際、日本語と英語でTTSを切り替えたかったのでLime Chatで使わせてもらってたChat Speechを改造した。
全角の文字が含まれる場合だけ、例外的に日本語用のTTSを適用させる。

chatSpeech-0.1.jsを編集。

これを
function speak(text){
    spVoice.Speak(text,1 + (purge || 
                            (spVoice.Status.LastStreamNumberQueued -  
                             spVoice.Status.CurrentStreamNumber    >
                             queueSize)? 2 : 0));
}

こうじゃ
function speak(text){
    var voice_tmp = voice;
    if (text.match(/[\u3040-\u30ff]/))
        selectVoice("Microsoft Haruka Desktop - Japanese");
    spVoice.Speak(text,1 + (purge || 
                            (spVoice.Status.LastStreamNumberQueued -  
                             spVoice.Status.CurrentStreamNumber    >
                             queueSize)? 2 : 0));
    if (voice != voice_tmp)
        selectVoice(voice_tmp);
}

なお、"Microsoft Haruka Desktop - Japanese" の箇所は、環境によってインストールされている日本語向けのTTSが違うと思うので、"/VOICES"コマンドにてインストールされているTTSを確認のこと。
投稿:2017/07/30 17:41
更新:2017/07/30 19:04

コメント(13)

1 削除されました 2018-09-14 07:29:37
削除されました
2 削除されました 2018-09-15 01:16:01
削除されました
3 削除されました 2018-09-15 01:16:08
削除されました
4 削除されました 2018-09-16 07:16:39
削除されました
5 削除されました 2018-09-16 07:16:46
削除されました
6 削除されました 2018-09-18 19:16:55
削除されました
7 削除されました 2018-09-18 19:17:02
削除されました
8 削除されました 2018-09-20 01:20:33
削除されました
9 削除されました 2018-09-20 01:20:40
削除されました
10 削除されました 2018-09-21 07:22:30
削除されました
11 削除されました 2018-09-21 07:22:43
削除されました
12 削除されました 2018-09-22 13:22:07
削除されました
13 削除されました 2018-09-22 13:22:10
削除されました
名前
コメント

ゲーム

ニコ生とTwitchのコメントを混ぜて画面表示

ニコ生と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

コメント(11)

1 削除されました 2018-04-15 05:44:55
削除されました
2 削除されました 2018-09-02 17:49:10
削除されました
3 Johnf857 2018-09-08 23:36:42
I like the helpful information you provide for your articles. Ill bookmark your blog and check again right here frequently. I am quite certain Ill be informed many new stuff proper right here! Best of luck for the next! aeecadfddagf
4 削除されました 2018-09-10 19:18:07
削除されました
5 削除されました 2018-09-10 19:18:12
削除されました
6 削除されました 2018-09-12 01:19:34
削除されました
7 削除されました 2018-09-12 01:19:45
削除されました
8 削除されました 2018-09-13 07:24:21
削除されました
9 削除されました 2018-09-13 07:24:28
削除されました
10 削除されました 2018-09-17 01:24:42
削除されました
11 削除されました 2018-09-17 01:24:46
削除されました
名前
コメント