こんにちは、あんどう(@t_andou)です。
24時間生放送をし続ける人工知能Youtuberを作る企画、第2回目の記事です。
前回は概要を書きましたが、今回から実際に作っていきます。
今回はちょっとだけ技術よりの記事になります。
前回の記事
今回やること
前回の終わりにも記載しましたが
・YoutubeLiveで投稿されたコメントを取得
・コメントに対して反応をするものを組み込む
・画面上に表示するようにする
この三つをやっていきます。
作り方
作り方を載せておきます。
ソース
githubにソースをあげました。使い方はREADMEを読んで下さい。
参考にしたページ
この辺りのページを参考にしました。
YoutubeLiveで投稿されたコメントを取得
メモ帳 | Youtube LiveStreaming APIで配信のコメントを取得する
【 メモ 】YoutubeLiveのコメント取得 ( Python ) : エンジニア速報
コメントに対して反応をするものを組み込む
まずは簡単に使えそうなリクルートさんの対話APIを使ってみました
docomoさんの方が履歴に沿った対話を出来るようですので、いずれは変えるかもしれないです。
画面上に表示するようにする
ここに関してはOBSを利用しターミナルの画面をキャプチャして映しました。
完成(でも失敗)
動くところまでは出来ました。しかし、後述する原因で30分程度で停止してしまいました。
Youtubeの公式サイトでアーカイブ動画を見ると生放送時のチャットの様子が見えます。
失敗した原因
YoutubeDataAPIで1日に叩ける上限が10,000回?なのに対して、0.5秒おきに叩いていたのですぐに使い切ってしまったようです。
これでは24時間放送を続けるというのは難しいので、何か対策を考えないといけないです。
対策案
メモ程度に今の考えを載せておきます。
案1:コメビュとうまく連携出来ないかを考える
案2:seleniumを使う
チャット部分の変化を監視し続けてコメントを取り出せないか。
技術的には可能そうなので、これから進めてみるのが無難か。
案3:Youtube以外でコメントを受け付ける
そもそもコメントの受付はYoutubeの外で行うようにすれば良いのでは?と言う考え。
でも、出来ればYoutube内で完結させたいため最終手段としたい。
次回
引き続きコメント取得をして反応する部分を作ります。 → 作りました