2024年10月26日土曜日

RaspberryPi5 に castsponsorskip をインストールする

RaspberryPi5 に castsponsorskip をインストールする

概要

CastSponsorSkip が MacOS 上だとなぜか動作しなかったので RaspberryPi5 上で動かしてみました

環境

  • RaspberryPi5
  • Raspbian (bookwarm aarch64)
  • docker 27.3.1
  • castsponsorskip 0.8.0
  • Chromecast with GoogleTV

docker のインストール

公式のDebian 64bit用のインストール手順をそのまま使います

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo が面倒な場合は docker グループに追加します

  • sudo gpasswd -a $USER docker

コマンド補完が必要な場合は以下も実行します

cat <<EOT >> ~/.bashrc
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi
EOT

YoutubeAPI キーの取得

GCP のプロジェクトを作成し YouTube Data API v3 を有効にし認証情報から API キーを作成します 過去にも方法を紹介しているのでこの記事を参考にするのがいいかなと思います

CastSponsorSkip の起動

  • docker run --network=host --name=castsponsorskip -e CSS_YOUTUBE_API_KEY=AIzaxxxxxxx ghcr.io/gabe565/castsponsorskip

トラブルシューティング

quotaExceeded

以下のエラーが発生しました
よくわかりませんが再度 API キーを作成した直りました
キーが古すぎるとダメなのかもしれません

にも同じ現象にあっていてそのときはプロジェクト自体新しく作成したようです

2024-10-22 04:15:36 ERR YouTube search failed. device="ファミリー ルーム 2" error="googleapi: Error 403: The request cannot be completed because you have exceeded your <a href=\"/youtube/v3/getting-started#quota\">quota</a>., quotaExceeded"

ログ

正常動作時のログになります

2024-10-22 05:31:34 INF CastSponsorSkip version=v0.8.0 commit=9e65ac39
2024-10-22 05:31:34 INF Searching for devices...
2024-10-22 05:31:34 INF Connected to cast device. device="ファミリー ルーム 2"
2024-10-22 05:32:04 INF Video ID not set. Searching YouTube for video ID... device="ファミリー ルーム 2"
2024-10-22 05:32:05 INF Detected video stream. device="ファミリー ルーム 2" video_id=xxx
2024-10-22 05:32:05 INF No segments found for video. device="ファミリー ルーム 2" video_id=xxx

最後に

Android TV for Chromecast の場合には YOUTUBE_API_KEY が必要になるようです

Youtube へリクエストは Chromecast 上で動画が再生されるたびにコールされるのでクオータには注意しましょう

0 件のコメント:

コメントを投稿