ChaiChaiEmbyTV — Emby 用 Android TV クライアント
概要
Emby の Android TV 用クライアントを目的に作られたプロジェクトで、公式クライアントや公開されている他のアプリで満たされない「弾幕表示」を含む TV 向け機能を補うことを狙いとしています。リモコン操作に最適化された Jetpack Compose(TV Compose)ベースの UI、AndroidX Media3 と FFmpeg 拡張を用いたプレーヤー、快手の AkDanmaku を利用した弾幕エンジン、Retrofit/OkHttp による Emby API 通信、QR コードでのサーバ設定など、TV 上で使いやすく、拡張性のあるクライアント設計が特徴です。本リポジトリは現状 README を中心とした初期状態ですが、設計方針と実現したい機能の一覧が明確に書かれています。
リポジトリの統計情報
- スター数: 18
- フォーク数: 1
- ウォッチャー数: 18
- コミット数: 3
- ファイル数: 1
- メインの言語: 未指定
主な特徴
- TV リモコンに最適化されたネイティブな Jetpack Compose(TV Compose)UI
- 弾幕(ダンマク)表示に対応し、弾弹play 互換の API を最大5つまで設定可能
- AndroidX Media3 + FFmpeg 拡張を用いた高機能プレーヤー(倍速、複数音声/字幕、字幕遅延調整)
- QR コードによるサーバ/弾幕 API の簡単な設定と再生進捗の Emby への同期
技術的なポイント
プロジェクトはモダンな Android 開発スタックを採用しており、UI は Jetpack Compose と TV Compose を用いてリモコンフォーカスやカーソルのない操作体系に最適化されています。再生基盤には AndroidX Media3 を採用し、FFmpeg 拡張を組み合わせることでコーデック互換性やソフトウェアデコードを強化している点が重要です。弾幕表示は快手の AkDanmaku を組み込むことで軽量な描画と高頻度更新に対応し、Retrofit/OkHttp を用いたネットワーク層は Emby サーバや弾幕 API との通信を非同期に処理、Kotlin Coroutines と MVVM アーキテクチャで状態管理を行っています。QR コードでサーバ情報や外部弾幕APIを登録するUXは TV デバイスでの入力の難しさを解消する実装です。さらに再生位置の自動同期や複数サーバ管理は、Emby のセッション/アイテム API と連携して視聴継続性を保つ設計となっており、外部字幕の遅延調整や多音声切替など放送/配信ソースの差異を吸収するプレーヤー制御面も実装方針として明示されています。パフォーマンス面では弾幕のオーバーレイ、UI のフォーカス遷移、バックグラウンド時の再生ハンドリングやメモリ管理が実運用での検討ポイントになります。
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
(現状は README が中心の初期リポジトリです。ソースコードやモジュールは未公開のため、将来的に src/, build.gradle 等が追加される想定です。)
今後の発展ポイント(提案)
- リポジトリに実装コードを追加し、モジュール構成(app, core, player, ui, network)を整備する
- CI(GitHub Actions)でビルドと Lint、ユニットテストを自動化する
- ダンマクのレンダリング負荷を下げるため描画バッファやスレッド設計を最適化
- 公開ビルド(flavor)で FFmpeg バイナリを管理し、ABI ごとの配布を整える
- ユーザーが弾幕 API を共有するためのインポート/エクスポート機能の追加
まとめ
Android TV 向けに弾幕対応を組み込んだ Emby クライアントの構想が明確に示された初期リポジトリ。実装の追加で実用性が高まる期待大。
リポジトリ情報:
- 名前: ChaiChaiEmbyTV
- 説明: Emby Android TV 客户端
- スター数: 18
- 言語: null
- URL: https://github.com/dh374374/ChaiChaiEmbyTV
- オーナー: dh374374
- アバター: https://avatars.githubusercontent.com/u/33752388?v=4
READMEの抜粋:
ChaiChaiEmbyTV
由于没找到免费好用且支持弹幕的 Android TV 的 Emby 客户端,于是借助 ai 写了个。
功能特色
- 🎬 原生 TV 体验 - 专为遥控器操作优化,流畅的焦点导航
- 💬 弹幕支持 - 可配置兼容弹弹play弹幕api,支持自动匹配和手动搜索,最多配置5个弹幕API
- 🎮 播放器功能 - 倍速播放、多音轨/字幕切换、外挂字幕延迟调整
- 📱 扫码配置 - 手机扫码快速配置服务器和弹幕API
- 🔄 播放进度同步 - 自动同步播放进度到 Emby 服务器
- 📺 多服务器管理 - 支持添加多个 Emby 服务器
技术栈
- UI 框架: Jetpack Compose + TV Compose
- 播放器: AndroidX Media3 + FFmpeg 扩展
- 弹幕引擎: 快手 AkDanmaku
- 网络: Retrofit + OkHttp
- 架构: MVVM + Kotlin Coroutines + F…