Repolode
addozhang

addozhang/leancast

面向 Android TV 的无广告 DLNA/UPnP 投屏接收器,接收手机投屏并硬解播放。

Star
152
Fork
12
未关闭 Issue
0
最近提交
6天前

这是什么?

LeanCast 将 Android TV 或 Fire TV 盒子变成 DLNA/UPnP 媒体渲染器。支持投屏按钮的手机应用可以通过 SSDP 发现接收器,再经 SOAP AVTransport 指令发送视频地址,视频即可全屏播放。播放基于 ExoPlayer(Media3)并调用设备 MediaCodec 硬件解码,支持 HLS、渐进式 MP4、Matroska 和 HTTP-FLV。

电视端使用遥控器操作:确定键暂停或继续,左右键快进快退且按住时步长递增,返回键退出。屏幕提示显示播放进度、标题和快进快退反馈,界面支持中英文切换。接收器名称可自定义,也可设置开机自启。

APK 为纯 Kotlin 实现,不含原生库,同一安装包可运行于常见的 32 位和 64 位 Android TV 设备。项目包含协议核心的单元测试,以及用于真机端到端测试的 Python 控制点脚本。

核心功能

  • 01通过 SSDP 被支持 DLNA/UPnP 的手机应用发现
  • 02使用硬件解码播放 HLS、渐进式 MP4、Matroska 和 HTTP-FLV
  • 03遥控器操作,快进快退步长递增,并显示屏幕进度
  • 04纯 Kotlin 实现且无原生库,一个 APK 覆盖四种 CPU 架构
  • 05不含统计分析,也不访问局域网以外的网络

适用场景

  • 把国内视频应用的内容投到电视上,避免广告干扰
  • 在客厅电视上播放手机或局域网内服务器的视频文件
  • 把闲置的 Fire TV 或 Android TV 盒子改造成专用投屏终端

快速上手

  1. 1

    使用 Gradle 构建 Debug 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 34 平台。
  • 仅支持 DLNA/UPnP 投屏,不支持手机系统级 Miracast 投屏。
  • 三星、LG 和华为电视不受支持,因为它们没有 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 指令发送视频地址,视频即可全屏播放。播放基于 ExoPlayer(Media3)并调用设备 MediaCodec 硬件解码,支持 HLS、渐进式 MP4、Matroska 和 HTTP-FLV。
leancast 可以免费使用吗?用的什么许可证?
leancast 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
leancast 还在维护吗?
活跃维护中。leancast 最近一次提交是在 2026年11月1日。
leancast 适合用来做什么?
把国内视频应用的内容投到电视上,避免广告干扰 在客厅电视上播放手机或局域网内服务器的视频文件 把闲置的 Fire TV 或 Android TV 盒子改造成专用投屏终端
leancast 怎么安装和运行?
使用 Gradle 构建 Debug 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目