YoutubeLiveの補助用ツールです。
コメントを受けてお題リストに追加したり、消化済みのお題をクリアしたりできます。
動作イメージ
https://twitter.com/cold_planet_/status/1667364119652237312
本ツールの良い所は以下。
- 音ゲー配信などでリスナーから貰ったお題を配信画面に表示できる
- 全てのお題を忘れずに消化できる
- どの順番で消化しても取りこぼしをなくせる
- 配信枠やYoutubeStudioのURLから告知ツイートを作成できる
以下の環境で動作確認しています。
- OS: Windows10 22H2
- OBS: 29.1.2
- ウイルス対策ソフト: Windows Defender
Releaseページから最新のytlive_helper.zipをダウンロードし、
好きなフォルダに解凍してください。
以下のファイルが含まれています。
ファイル名 | 内容 |
---|---|
ytlive_helper.exe | プログラム本体 |
todolist.html | お題箱をOBSで表示するためのHTML |
icon.ico | 本プログラムのアイコン |
settings.json | 本プログラムの設定ファイル。初回起動時に自動生成されます。 |
todo.xml | todolist.htmlで表示するためのXMLファイル。自動生成されます。 |
1~3が初回のみの設定で、設定後は基本的に4のみやればよいです。
- ソースの追加 -> ブラウザを選択する。好きな名前を付けてOK。
- 1.で作成したブラウザソースをダブルクリックする。
- ローカルファイルのチェックを入れ、同梱のtodolist.htmlを選択する。
- 画面の大きさは特に変えなくてよいです(デフォ=800x600)。Alt+ドラッグでトリミングして調整できます。
- カスタムCSSについては、デフォルト設定だと透過されてしまうので消して良いです。または、下記のように設定することで色を付けたり、フォントを変えたりもできます。
body{
background-color: rgba(0, 0, 0, 0.99);
font-family:"Mochiy Pop P One";
}
todolist.htmlの77行目付近について、
<!-- 配信画面にコマンドを書くなら以下のような感じか -->
<!-- <td>お題箱 ("お題 楽曲名"でリクエスト可)</td> -->
<td>お題箱</td>
となっていますが、以下のようにすることでお題箱の横にコマンド例を書くこともできます。必要に応じて編集してください。
<td>お題箱 ("お題 楽曲名"でリクエスト可)</td>
ytlive_helper.exeを実行します。
メニューバー内のファイル→設定から設定画面を開きます。
必要に応じて、リスト登録・削除のためのwordを登録してください。
デフォルトでは,登録用ワードに'お題 ', 'リク '
が登録してあります。(半角スペース、全角スペース両方)
また、デフォルトでは削除用ワードに'リクあり', '消化済み'
が登録してあります。
上部の入力欄に単語を入力してから各登録ボタンを押すと登録できます。
削除したい単語を選択してから削除ボタンを押すと削除できます。
デフォルト設定の場合、
- お題 セピアの軌跡というコメントが来るとセピアの軌跡がお題リストに追加されます(登録時は先頭一致が必須)。
- ◯◯さんリクありでしたのようにコメントするとお題リストの一番上を削除できます(削除時は指定した単語が含まれていれば良い)。
コメント経由でのコマンドの詳細については後述。
リストの登録・削除については、指定した管理者IDからしか行えないようにする設定も可能です。
設定画面で管理者IDのみ許可するをチェックしてください。
(荒らし対策目的)
管理者IDを登録するには、
メイン画面でライブ配信のURLを入力してstartをクリックし、
登録したい人のコメントをクリックしてから、
右クリックメニューの管理者IDに追加を押してください。
(コメント取得スレッド実行中には管理者ID一覧を修正できないので、反映したい場合は一度stopを押してから再度startしてください。)
設定された管理者IDについては、設定画面から以下のように確認できます。
メイン画面の配信URL入力欄にURLを入力し、startをクリックします。
配信中は●activeの文字と、配信タイトルが表示されます。
また、画面真ん中にお題リストが、画面下部にYoutubeLiveのコメントが表示されます。
配信URLについては、以下のURL形式に対応しています。
- https://www.youtube.com/watch?v=(配信ID)
- https://studio.youtube.com/video/(配信ID)/livestreaming
- https://studio.youtube.com/live_chat?is_popout=1&v=(配信ID)
告知ボタンを押すと、ブラウザから告知ツイートをすることができます。
お題リストについては、このウィンドウから登録・削除することも可能です。
v1.0.2以降で、告知ボタン使用時に配信タイトル等の情報をOBSに反映する機能を追加しました。
告知ボタンを押すだけで、タイトルや概要欄から情報を抽出し、以下赤枠の部分を書き換えます。
動作イメージは以下。
https://twitter.com/cold_planet_/status/1672506782323990528
この機能を利用するためには、以下の設定が必要です。
OBSwebsocketをインストールしておいてください。
5.0のアルファ版は不安定らしいので、4.9系を推奨します。(2023/3/16時点)
~~Windows-Installer.exeと書いてあるファイルをダウンロードして実行します。
インストール後にOBSを再起動すると、メニューバー内ツールの中にobs-websocket設定が出てきます。
OBSのメニューバー内ツール -> obs-websocket設定 を開き、
- WebSocketサーバを有効にする にチェック
- システムトレイアラートを有効にする にチェック
- サーバーパスワードを好きな文字列に変更(ytlive_helper側でも入力するので忘れないように注意)
メニューバーから設定画面を開き、OBSwebsocket関連の情報を入力してください。
- OBS hostは基本的にlocalhostで良いはずですが、環境に応じてローカルIPアドレスを設定してください。
- OBS websocket portはOBS側と同一の値に設定してください。(OBS側を変更していなければ4444)
- OBS websocket passwordはOBS側で設定したサーバーパスワードと同一のものを入力してください。ここでしか使わないような、長いだけのパスワードでいいと思います。
配信タイトル内第XXX回の部分については、数字部分を[number]と指定する。
INF配信 #303なら#[number]
、ほげほげ配信123日目なら[number]日目
と指定すればよい。
概要欄の配信内容部分(ythTodayContent)については、
指定した文字列が含まれる行の次の行全体が本日の内容として使われます。
概要欄が以下の場合、copulaパック少しやる、12未クリア周回の続きの部分となります。
指定したソース名のテキストソースがあれば値を変更します。
ソース追加->テキスト(GDI+)でテキストソースを追加し、ソース名を以下の通りに指定してください。
(ソースを右クリック→名前を変更で変更可能)
テキストソース名 | 内容 |
---|---|
ythMainTitle | 配信タイトルのメイン部分がセットされる。【神回】のようにカッコで囲まれた部分は削除される。上記例の場合、九段たぬきのDP配信が書き込まれる。 |
ythSeriesNum | 配信タイトルの第XXX回目部分がセットされる。上記例の場合、#303が書き込まれる。 |
ythTodayContent | 本日の内容がセットされる。2.の概要欄例の場合、ここにcopulaパック少しやる、12未クリア周回の続きが書き込まれる。 |
フォント・サイズ・色などのデザインは自由に変更できます。
[登録用ワード]お題
を拾います。
登録用ワードが"お題 "
の場合、"お題 Space Dog"
というコメントに対してSpace Dogが登録されます。
半角スペース、全角スペースを両方登録しておくと良いと思います。
また、絵文字も登録可能です。
":smiling_face_with_halo: "
を登録しておけば、以下のようなコメントを拾うことができます。
お題部分については、HTMLタグがあっても削除するようにしています(XSS対策)。
以下の形式に対応しています
.*[削除用ワード].*
-> 一番上のお題を削除.*[削除用ワード].* A
-> A番目のお題を削除.*[削除用ワード].* B-C
-> B-C番目のお題を削除(C≧B)
削除については、先頭一致を必須としていないため、
DJかたさんリクありでした~!
のように書いても拾うことができます。
削除用ワードの後に数字を入れることで、
一番上以外のお題を消したり、複数のお題を消したりもできます。
"リクありでした 3"
とコメントすると3番目のお題が消えます。"消化済み 2-5"
とコメントすると、2~5番目のお題が全て消えます。
ここで、削除用ワードの後にはスペースを入れることが必須となります。
また、ここで指定する数字は半角数字のみ対応となっている点にもご注意ください。
お題の削除コマンドに若干柔軟性を持たせているため、
削除だけは管理者IDだけが行えるようにしたほうが安全かもしれません。
Windows版Python3をインストールし、必要なパッケージをpipでインストールした上で下記を実行します。
pyinstaller ytlive_helper.py --clean --noconsole --onefile --icon=icon.ico
Apache License 2.0に準じるものとします。
非営利・営利問わず配信などに使っていただいて問題ありません。
クレジット表記も特に必要ないですが、以下のように書いて宣伝してくださると喜びます。
お題箱システム: ytlive_helper (https://github.com/dj-kata/ytlive_helper)
Twitter: @cold_planet_