Repolode
addozhang

addozhang/leancast

광고 없는 Android TV용 DLNA/UPnP 캐스트 수신기로, 휴대폰 앱에서 보낸 동영상을 하드웨어 디코딩으로 재생합니다.

스타
153
포크
12
열린 이슈
0
마지막 커밋
7일 전

어떤 프로젝트인가요?

LeanCast는 Android TV나 Fire TV 박스를 DLNA/UPnP 미디어 렌더러로 바꿔 줍니다. 캐스트 버튼이 있는 휴대폰 앱은 SSDP를 통해 수신기를 검색하고, SOAP AVTransport 명령으로 동영상 URL을 전송해 전체 화면으로 재생할 수 있습니다. 재생에는 기기의 MediaCodec 하드웨어 디코딩을 사용하는 ExoPlayer (Media3)를 이용하며, HLS, progressive MP4, Matroska, HTTP-FLV를 지원합니다.

TV에서의 조작은 리모컨으로 합니다. OK를 누르면 일시 정지하거나 재개하고, 왼쪽 및 오른쪽 키로 탐색할 수 있으며 빨리 감기 단계는 점점 빨라집니다. Back을 누르면 종료됩니다. 화면에는 재생 진행 상황, 미디어 제목, 탐색 피드백이 영어 또는 중국어로 표시됩니다. 수신기 이름은 사용자가 변경할 수 있고, 앱이 부팅 시 자동으로 시작되도록 설정할 수도 있습니다.

APK는 네이티브 라이브러리 없이 순수 Kotlin으로 작성되어, 하나의 빌드로 일반적인 32비트 및 64비트 Android TV 하드웨어에서 실행됩니다. 프로젝트에는 프로토콜 로직의 단위 테스트를 포함하는 도메인 계층과 기기에서 엔드투엔드 테스트를 수행하기 위한 Python 제어 지점 스크립트가 포함되어 있습니다.

핵심 기능

  • 01SSDP를 통해 DLNA/UPnP 휴대폰 앱에서 수신기를 검색합니다
  • 02하드웨어 디코딩으로 HLS, progressive MP4, Matroska, HTTP-FLV 스트림을 재생합니다
  • 03탐색 속도가 점점 빨라지는 리모컨 조작과 화면상 재생 진행 표시를 지원합니다
  • 04네이티브 라이브러리가 없는 순수 Kotlin APK로, 네 가지 CPU 아키텍처를 지원합니다
  • 05분석 기능을 포함하지 않으며 LAN 외부로 네트워크 요청을 보내지 않습니다

활용 사례

  • 중국 스트리밍 앱의 동영상을 광고 없이 TV로 캐스팅하기
  • 휴대폰에서 LAN에 저장된 동영상 파일을 거실 TV로 시청하기
  • 오래된 Fire TV 또는 Android TV 박스를 전용 캐스트 대상으로 활용하기

빠른 시작

  1. 1

    Gradle로 디버그 APK를 빌드합니다

    ./gradlew assembleDebug
  2. 2

    ADB를 통해 TV에 연결합니다

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

    빌드한 APK를 TV에 설치합니다

    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 TV는 Android 앱 실행 환경이 없어 지원하지 않습니다.
  • 일부 중국 스마트 TV와 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을 전송해 전체 화면으로 재생할 수 있습니다. 재생에는 기기의 MediaCodec 하드웨어 디코딩을 사용하는 ExoPlayer (Media3)를 이용하며, HLS, progressive MP4, Matroska, HTTP-FLV를 지원합니다.
leancast은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
leancast은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
leancast은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. leancast의 마지막 커밋은 2026년 11월 1일입니다.
leancast은(는) 어디에 사용할 수 있나요?
중국 스트리밍 앱의 동영상을 광고 없이 TV로 캐스팅하기 휴대폰에서 LAN에 저장된 동영상 파일을 거실 TV로 시청하기 오래된 Fire TV 또는 Android TV 박스를 전용 캐스트 대상으로 활용하기
leancast는 어떻게 설치하나요?
Gradle로 디버그 APK를 빌드합니다: ./gradlew assembleDebug ADB를 통해 TV에 연결합니다: adb connect <TV-IP>:5555 빌드한 APK를 TV에 설치합니다: 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 통계는 매일 갱신됩니다.

관련 프로젝트