Repolode
addozhang

addozhang/leancast

広告なしで、スマホアプリから送信された動画をハードウェアデコードで再生するAndroid TV向けDLNA/UPnPキャストレシーバー。

スター
153
フォーク
12
未解決の Issue
0
最終コミット
7 日前

これは何?

LeanCastは、Android TVやFire TVのボックスをDLNA/UPnPメディアレンダラーにします。キャストボタンのあるスマホアプリからSSDP経由でレシーバーを検出し、SOAP AVTransportコマンドで動画URLを送信すると、動画が全画面で再生されます。再生にはExoPlayer(Media3)を使用し、デバイスのMediaCodecによるハードウェアデコードに対応しています。HLS、プログレッシブMP4、Matroska、HTTP-FLVを再生できます。

テレビ側の操作にはリモコンを使います。OKで一時停止・再開、左右キーでシークでき、長押しすると早送りの刻み幅が大きくなります。Backで終了します。画面には進捗、メディアのタイトル、シーク時のフィードバックが英語または中国語で表示されます。レシーバー名は変更でき、起動時にアプリを自動起動することもできます。

APKは純粋なKotlin製で、ネイティブライブラリを含まないため、一般的な32ビットおよび64ビットのAndroid TVハードウェアで同じビルドを実行できます。プロジェクトには、プロトコルロジックのユニットテストを備えたドメイン層と、デバイスを相手にエンドツーエンドテストを行うPython製のコントロールポイントスクリプトが含まれています。

主な機能

  • 01SSDP経由でDLNA/UPnP対応のスマホアプリからレシーバーを検出
  • 02HLS、プログレッシブMP4、Matroska、HTTP-FLVのストリームをハードウェアデコードで再生
  • 03シーク加速機能と画面上の進捗表示を備えたリモコン操作
  • 04ネイティブライブラリを含まない純粋なKotlin製APKで、4種類のCPUアーキテクチャに対応
  • 05分析機能なし、LAN外へのネットワーク通信なし

ユースケース

  • 中国の動画配信アプリから、広告なしでテレビに動画をキャスト
  • LAN内にある動画ファイルをスマホからリビングのテレビで視聴
  • 古いFire TVやAndroid TVのボックスを専用のキャスト先として活用

クイックスタート

  1. 1

    GradleでデバッグAPKをビルドする

    ./gradlew assembleDebug
  2. 2

    ADB経由でテレビに接続する

    adb connect <TV-IP>:5555
  3. 3

    ビルドしたAPKをテレビにインストールする

    adb install -r app/build/outputs/apk/debug/app-debug.apk
  4. 4

    アプリを一度起動してレシーバーサービスを開始する

    adb shell am start -n io.leancast/io.leancast.app.MainActivity

使う前に知っておきたいこと

  • ソースからビルドするには、JDK 17以降とAndroid SDK Platform 34が必要です。
  • キャストはDLNA/UPnPのみ対応しています。スマートフォンのシステム機能によるMiracastキャストには対応していません。
  • Samsung、LG、HuaweiのテレビはAndroidアプリの実行環境がないため、対応していません。
  • 一部の中国製スマートテレビとYunOS搭載ボックスは実験的な対応です。

トピック

#dlna#upnp#android-tv#media-renderer#kotlin#exoplayer#screen-casting#fire-tv

よくある質問

leancast とは?
広告なしで、スマホアプリから送信された動画をハードウェアデコードで再生するAndroid TV向けDLNA/UPnPキャストレシーバー。 LeanCastは、Android TVやFire TVのボックスをDLNA/UPnPメディアレンダラーにします。キャストボタンのあるスマホアプリからSSDP経由でレシーバーを検出し、SOAP AVTransportコマンドで動画URLを送信すると、動画が全画面で再生されます。再生にはExoPlayer(Media3)を使用し、デバイスのMediaCodecによるハードウェアデコードに対応しています。HLS、プログレッシブMP4、Matroska、HTTP-FLVを再生できます。
leancast は無料で使えますか?ライセンスは?
leancast は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
leancast は今もメンテナンスされていますか?
活発にメンテナンス中。leancast の最終コミットは 2026年11月1日 です。
leancast は何に使えますか?
中国の動画配信アプリから、広告なしでテレビに動画をキャスト LAN内にある動画ファイルをスマホからリビングのテレビで視聴 古いFire TVやAndroid TVのボックスを専用のキャスト先として活用
leancast のインストール方法は?
GradleでデバッグAPKをビルドする: ./gradlew assembleDebug ADB経由でテレビに接続する: adb connect <TV-IP>:5555 ビルドしたAPKをテレビにインストールする: adb install -r app/build/outputs/apk/debug/app-debug.apk アプリを一度起動してレシーバーサービスを開始する: adb shell am start -n io.leancast/io.leancast.app.MainActivity
leancast はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/addozhang/leancast

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト