BiliTV — Flutter製の哔哩哔哩(Bilibili)TVクライアント

Mobile

概要

BiliTV は、Android TV 向けに設計された第三者製の哔哩哔哩クライアントアプリです。Flutter(Dart)で書かれており、プロジェクト説明によればアイコンやスプラッシュ、ほぼ全てのコードがAIによって生成されています。開発者は要件提示と限定的な実機テスト(Sony TV:armv7, Android9、redmi G Pro:armv8)を行ったのみで、公開版は一部機能が未実装です。Bilipai をベースに API 周りを扱っており、TV に適した UI・操作性(D-pad/リモコン操作)を念頭に置いた作りが想定されます。オープンソースとしてソースコードを公開しており、興味がある開発者や検証者が着手できる状態です。

GitHub

リポジトリの統計情報

  • スター数: 19
  • フォーク数: 0
  • ウォッチャー数: 19
  • コミット数: 5
  • ファイル数: 10
  • メインの言語: Dart

主な特徴

  • Flutter(Dart)で実装されたAndroid TV向けクライアント
  • BilipaiベースでBilibiliのコンテンツへアクセス
  • アイコンやスプラッシュ、コードの多くがAIで生成された点を明記
  • 限定的な実機テスト(armv7/armv8)とAndroid 5以上の理論サポート

技術的なポイント

BiliTV の技術的な特徴は「Flutter を使って TV 向けの UX に最適化している点」と「Bilipai による API 層の利用」に集約されます。Flutter はクロスプラットフォームで UI を素早く構築できるため、TV 画面向けのレイアウトやフォーカス管理(D-pad 操作に応じたフォーカス遷移)をウィジェット単位で扱いやすい利点があります。TV 向けアプリではリモコン固有の入力イベント(上/下/左/右/決定/戻る)やフォーカス可能なボタン設計、カーソル非依存のナビゲーションが重要であり、これらに対応する設計がリポジトリ内で期待されます。

動画再生やストリーミングは TV アプリの肝であり、Flutter なら video_player 等のプラグインを使ってネイティブのデコーダやハードウェアアクセラレーションに依存した再生が可能です。Bilipai を通じたAPI呼び出しでは、トークンや認証、リクエスト制限、API 仕様の変更リスクを考慮する必要があり、公開ソースをそのまま使う場合は互換性と法的リスク(利用規約)への留意も求められます。

リポジトリの説明では「コードは100% AI によって生成」との注記があり、これには長所と短所があります。短所としては、生成コードが最適化や例外処理、エラーハンドリング、非同期処理のベストプラクティスに欠ける可能性、依存関係の管理が曖昧になる可能性があること。長所としては、プロトタイプを短期間で立ち上げられる点です。実機での動作確認は限定的なため、異なるアーキテクチャ(x86_64、arm64-v8a など)や Android バージョン、デバイス固有の挙動については追加テストが必要です。

開発者が着手する際のポイントとしては:

  • フォーカス管理とリモコン入力のテスト(TVリモコンでの操作性)
  • video_player 等のネイティブプラグインの互換性確認
  • API 層(Bilipai)実装の保守性・認証フローの確認
  • AI生成コードの可読性改善とユニットテスト追加
  • セキュリティと配布(更新機能は内部向けで公開版は未実装)の扱い

これらを順に改善すれば、実用的な TV 向け Bilibili クライアントとして発展させられます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitattributes: file
  • .gitignore: file
  • .metadata: file
  • README.md: file
  • analysis_options.yaml: file

…他 5 ファイル

※ リポジトリ自体はファイル数が少なく、主要な Flutter プロジェクト構成(lib ディレクトリや pubspec.yaml 等)が含まれているかはリストからは明示されていません。実際にクローンして中身(lib、assets、android、ios 等)を確認することを推奨します。

まとめ

FlutterでTV向けUIを素早く試せる興味深いプロトタイプ。追加の品質向上とデバイステストが必要。

リポジトリ情報:

READMEの抜粋:

BiliTV 📺

一款专为 Android TV 设计的第三方哔哩哔哩客户端,使用 Flutter 开发。从图标到开屏动画到全部コード100%由AI开发,本人只负责提出需求和测试,测试设备有限,仅测试了索尼电视(armv7,安卓9)和redmi G Pro 27U(armv8,澎湃OS2)显示器,理论支持的最低安卓版本为安卓5,其他设备请自行测试。

更新功能是我自己内测使用,开源版本未実装

✨ 功能特色

截图展示

image image