24時間生放送をし続ける人工知能youtuberを作る その2「コメント取得・会話」 - ニートの言葉

ニートの言葉

元ニートがやってみたこと・その過程で学んだこと・考えたこと・技術メモあたりを主に書いています。情報革命が起きた後に訪れるであろう「一億総ニート時代」の生き方を考え中です。

24時間生放送をし続ける人工知能youtuberを作る その2「コメント取得・会話」

こんにちは、あんどう(@t_andou)です。

24時間生放送をし続ける人工知能Youtuberを作る企画、第2回目の記事です。
前回は概要を書きましたが、今回から実際に作っていきます。

今回はちょっとだけ技術よりの記事になります。

前回の記事

blog.takuya-andou.com

今回やること

前回の終わりにも記載しましたが

・YoutubeLiveで投稿されたコメントを取得
・コメントに対して反応をするものを組み込む
・画面上に表示するようにする

この三つをやっていきます。

作り方

作り方を載せておきます。

ソース

githubにソースをあげました。使い方はREADMEを読んで下さい。

github.com

参考にしたページ

この辺りのページを参考にしました。

YoutubeLiveで投稿されたコメントを取得

メモ帳 | Youtube LiveStreaming APIで配信のコメントを取得する

【 メモ 】YoutubeLiveのコメント取得 ( Python ) : エンジニア速報

コメントに対して反応をするものを組み込む

まずは簡単に使えそうなリクルートさんの対話APIを使ってみました

TalkAPI|PRODUCT|A3RT

docomoさんの方が履歴に沿った対話を出来るようですので、いずれは変えるかもしれないです。

画面上に表示するようにする

ここに関してはOBSを利用しターミナルの画面をキャプチャして映しました。

完成(でも失敗)

動くところまでは出来ました。しかし、後述する原因で30分程度で停止してしまいました。

Youtubeの公式サイトでアーカイブ動画を見ると生放送時のチャットの様子が見えます。

youtu.be

失敗した原因

YoutubeDataAPIで1日に叩ける上限が10,000回?なのに対して、0.5秒おきに叩いていたのですぐに使い切ってしまったようです。

これでは24時間放送を続けるというのは難しいので、何か対策を考えないといけないです。

対策案

メモ程度に今の考えを載せておきます。

案1:コメビュとうまく連携出来ないかを考える

vip-jikkyo.net

案2:seleniumを使う

チャット部分の変化を監視し続けてコメントを取り出せないか。
技術的には可能そうなので、これから進めてみるのが無難か。

案3:Youtube以外でコメントを受け付ける

そもそもコメントの受付はYoutubeの外で行うようにすれば良いのでは?と言う考え。

でも、出来ればYoutube内で完結させたいため最終手段としたい。

次回

引き続きコメント取得をして反応する部分を作ります。 → 作りました

blog.takuya-andou.com