Elgato製キャプチャソフトによる問題
VSeeFaceの起動時にやたら固まる(1分くらいほっとくと進む)とか、OBSの映像キャプチャデバイスを開くのにもやはり1分くらいかかるようになってしまっており、どうやらElgato Game Capture HD(注:ソフトの方)といっしょに入っている仮想カメラデバイス的なもの(なぜそんなものが)が原因だった模様。ソフトをアンインストールするといずれの現象も改善した。
このソフトはもう古いものでメーカーのダウンロードページにも表向きには記載されておらず(ダウンロードはまだできる)、4k capture utilityや最新機種ではElgato Studioを使うべきであろう。だけど、前者は遅延が目に見えてあるので殆どチェック用にしか使えない。
普段使いでは4k、だけどゲームはFHDでプレイしたい勢
4k解像度のモニターでFHD表示はフォントのジャギーやぼやけが厳しいし、画像や動画も4kで見たいですよね。でも主にグラボの性能などの制約があって、ゲームはFHDでいっぱいいっぱいなことが多い。
しかし、普段の標準解像度が4kになっていると、ゲーム側で排他的フルスクリーンモードにしないと、例えばボーダレスモードとかBorderlessGamingのようなアプリを使った最大化だと解像度がたいてい4kになってしまう。この場合、コンフィグの解像度変更は無視されたり強制的に変更される。それに排他フルスクリーンはマルチモニタでブラウザを見ながらプレイしたいときなど端的に不便です。
この場合でも出来る対策があります。
まず、OSの設定でシステム>ディスプレイ
拡大/縮小を200%に
例として上げますが、GGSTの場合、ゲームの実行ファイル("steamapps\common\GUILTY GEAR STRIVE\RED\Binaries\Win64\GGST-Win64-Shipping.exe")(UEで作られているゲームの場合、起動時に実行されるファイルとゲーム本体の実行ファイルは別になってます。後者を見つけてください)を右クリ、互換性タブの
「全画面表示の最適化を無効にする」
「高いDPIスケールの操作を上書きします」「拡大縮小の実行元」→システム
出来ているかの確認方法は、MSI AFTERBURNERなどのOSDを表示したら文字の大きさが変わるので判別しやすいです。


(補足)
ゲームによってはスケーリング解像度設定というものが存在するので、上記設定を行わなくてもそこを下げるだけで相当軽くなったりするし、UIや文字などは高解像度のまま3DCGのレンダリング解像度だけが下がるためメリットもあります。GGSTにも項目あります。
また、ゲーム中のコンフィグでいじれなくてもセーブデータなどの保存されてるフォルダにiniファイルが有ってそれを書き換えればいい場合もあります。
(例)C:\Users\xxx\AppData\Local\GGST\Saved\Config\WindowsNoEditor\GameUserSettings.ini
[ScalabilityGroups]
sg.ResolutionQuality=90.000000←スケーリング90%
AMD Noise Suppressionが効かない時~!
先日何か長年のモヤモヤからとうとうRADEON RX6650XTをお買い上げになったんですが、ゲーム以外にもそういえばノイズキャンセル機能を試したかったのを思い出して、やってみましたらなんと音が出ない!というかマイクを拾わない!
でやっぱりお前には期待外れだ、今後もASUSにノイズ消してもらうって一回なったんですけど
「デバイス名に問題あると駄目」という報告がよくあるので、自分は日本語を含まないようにしているけど「M-AUDIO M-TRACK SOLO &DUO」というデバイス名が長すぎるんぢゃないの?という気が…そこでメーカードライバーをアンインストールしてUSB汎用デバイスドライバに戻したところ、ノイキャンに使えるようになりました。
こういうことなんでM-AUDIOを使っている人は気をつけてください。(DTMに使ってる人はASIOドライバ消したくないと思いますが…)
(追加)
仮想オーディオデバイスをいくつか入れてみて、ミキサーなどを使ってマイクの音をそっちに出力→AMDノイキャン、という騙し技も思いついてやってみましたがダメですね~
Twitch APIで取得した情報をOBSで表示する
最近はまたTwitchを使うようになって、
「配信開始からの経過時間とか、視聴者数とか、ゲームタイトルを配信画面内にも入れられないだろうか。」と、なんとなく思っていたんですが。
視聴者数についてはStreamlabsのウィジェットがあります。(あんまり利用しない方がいいようですが…)
特定のチャンネルの配信情報を文字列として取得するにはTwitch APIを利用する方法があるんですが、OBSに取り込む方法を考えようとするとこれまではなかなか手が出なかったわけです。
ところがつい最近になってこのようなプラグインが出ているのを発見しました
簡単に説明するとAPIにリクエストして帰ってくる内容をOBSにソースとして表示するものです。まだ出たばかりなので日本語で解説しているページがない。
とりあえず自分がやってみたことを記録しておきます。
まずは、APIでチャンネル情報を取得する方法を調べます
https://dev.twitch.tv/docs/api/reference/#get-channel-information
curl -X GET 'https://api.twitch.tv/helix/channels?broadcaster_id=141981764' \
-H 'Authorization: Bearer 2gbdx6oar67tqtcmt49t3wpcgycthx' \
-H 'Client-Id: wbmytr93xzw8zbg0p1izqyzzc5mbiz'
↑ここで事前に必要になるのが
・配信者ID
・アクセストークン
・クライアントID
の3つです。
以下の記事を見てやりました。
Windows10以降のコマンドプロンプトでは標準でcurlコマンドが使えるんですが、
¥ は ^ に、' は " に置き換える必要があります。
準備できたらOBSでURL Sourceを追加します

Setup request→

で、返ってくるデータは以下のようになってるんですが
{
"data": [
{
"broadcaster_id": "141981764",
"broadcaster_login": "twitchdev",
"broadcaster_name": "TwitchDev",
"broadcaster_language": "en",
"game_id": "509670",
"game_name": "Science & Technology",
"title": "TwitchDev Monthly Update // May 6, 2021",
"delay": 0,
"tags": ["DevsInTheKnow"],
"content_classification_labels": ["Gambling", "DrugsIntoxication", "MatureGame"],
"is_branded_content": false
}
]
}
この中から目的の項目を取り出したいわけです。
今回はゲームタイトルを取ります
JSON Pointerの欄に/data/0/game_name と書きましたがこれは
dataとして返ってきた配列の最初の項目内にあるgame_nameの値を指しているわけですね。
この例だと一個しか無いのになんでdataが配列の形式なのか最初よくわかんなかったけど、複数の配信者の情報を一度にリクエストできるかららしいです。

Test requestを押して間違いがなければこのようになります(ちょっとでも間違っていると赤字でエラーが出ます)(スクショは僕の例なのでTwitch公式のAPIヘルプとは違っています)
このソースだけでも表示可能ですが、別途テキストソースを用意してその内容をここで取得した文字列に置き換える、という事もできます(現在バグ多めなのであまりおすすめしません)。
問題として、シーンコレクションなど切り替えた際に表示がバグります。ソースのプロパティを開いて何らかの変更を(例:アップデートタイマーの数字を変えて戻す、cssに何か書いてすぐ消すなど)すると直ります。バグってる状態で配信情報を変更したとしても反映されません。
(↑ v0.1.0で直っています。また配信情報更新への反応やテキストソースとの連携が完全に安定しているのでオススメ)
(↑ v0.1.2まで出ていますが最新バージョンにするとHeaderに設定した箇所が吹っ飛んだ上に入れ直してもClient-IDがmissingだよとか言われてしまうので0.1.0に戻しました)
今回はここまで試しましたがいずれ他にもこのプラグイン使ってやってみようと思います。というか割りと忙しいはずなのにしょうもないことに時間を浪費してしまった…
Xbox Game Bar とSpotifyアカウントのリンク(ログイン情報入力)が出来ない時
実はこれ、キーボード入力は受け付けており、画面上に入力した文字は出ないのですが
ログインはできるのです。
メモ帳などに書いたものをコピーしてきて右クリ→貼り付けでもOK。
どっちにしろバグですが…