android-airplay-server README

The project's README from github.com/jqssun/android-airplay-server. As one markdown file: README.md.

AirPlay Receiver for Android

Stars GitHub license build release

A fully featured free and open-source implementation of AirPlay for Android that turns your device into an AirPlay-compatible display and speaker, based on UxPlay. It is the first open-source AirPlay 2 receiver for Android and Android TV, and works with iOS/iPadOS, macOS devices as well as other sender implementations.

Get it on Google Play Get it on F-Droid Get it on GitHub

Compatibility

Features

[!WARNING] DRM content (e.g. from the Apple TV application) is not supported.

Implementation

This application uses the C-based UxPlay library to implement the AirPlay/RAOP protocol, with a JNI bridge to the Android application layer. Audio can be decoded via MediaCodec or a software ALAC decoder, while mirroring video is decoded via MediaCodec and rendered to a SurfaceView. HLS sessions are served through a local playlist proxy.

flowchart LR
    AppleDevice["Apple Device (Sender)"]
    UxPlay["UxPlay (C/JNI)<br/>RAOP + mDNS<br/>FairPlay + HLS"]
    AndroidApp["Android (Receiver)<br/>MediaCodec + AudioTrack<br/>ExoPlayer (HLS)"]

    AppleDevice -- "RAOP / HLS" --> UxPlay
    UxPlay --> AndroidApp

CMake is used for native C/C++ components under app/src/main/cpp. Submodules must be initialized before building.

git submodule update --init --recursive
./gradlew assembleDebug

Check out the CI for more details on reproducible builds.

Credits


Disclaimer: This project is not affiliated with Apple Inc.

android-airplay-server (jqssun/android-airplay-server)

Searching Database…

Что это такое?Это открытое приложение — AirPlay-приёмник для Android, построенное на UxPlay: оно превращает ваш Android-телефон или телевизор в совместимый с AirPlay экран и колонку для трансляции экрана, воспроизведения видео и стриминга звука с устройств Apple.
Это приложение-приёмник, которое я ставлю на Android-устройство, или инструмент для отправки контента?Это приёмник: вы устанавливаете его на Android-телефон, планшет или Android TV, и он принимает подключения AirPlay/RAOP от iOS, iPadOS, macOS или других устройств-отправителей в той же сети.
Как его собрать и запустить?Он собирается как обычное Android-приложение, но нативная логика протокола AirPlay живёт в написанной на C библиотеке UxPlay, компилируемой через CMake и подключаемой к Kotlin через JNI, поэтому перед сборкой в Android Studio нужно инициализировать git-сабмодули.
Что нужно, чтобы нативная сборка заработала?Нужны выкачанные сабмодули UxPlay и FFmpeg плюс тулчейн Android NDK с поддержкой CMake, поскольку протокол AirPlay/RAOP и декодирование звука реализованы в нативном коде на C/C++, линкуемом с Kotlin-приложением через JNI.
Воспроизведёт ли он потоки с защитой DRM, как в приложении Apple TV?Нет, контент с DRM явно не поддерживается, поэтому всё заблокированное DRM Apple (например, приложение Apple TV) не будет ни транслироваться, ни воспроизводиться.
Работает на Android TV или только на телефонах и планшетах?И то и другое: поддерживается Android 7.0 и новее, включая Android TV, с навигацией по D-pad и элементами перемотки, специально добавленными для ТВ-пультов.
Он умеет больше, чем зеркалить экран, например воспроизводить видеофайл напрямую?Да, есть отдельная поддержка воспроизведения видео для HLS-потоков и загрузок с дистанционным управлением, плюс воспроизведение музыки с информацией о треке, обложкой и пультовым управлением — отдельно от простого зеркалирования экрана.
Можно ли ограничить, кому разрешено подключаться к моему приёмнику?Да, есть опциональная PIN-аутентификация, так что сессию AirPlay могут начать только устройства, введшие правильный PIN.
Есть ли способ отладить проблемы с качеством стриминга?Да, встроенная отладочная панель показывает статистику в реальном времени — FPS, битрейт, кодек, разрешение, число кадров и громкость звука, — помогая диагностировать проблемы воспроизведения.
Чем это отличается от других AirPlay-приложений для Android?Он позиционируется как первый открытый AirPlay 2-приёмник для Android, объединяя проверенную реализацию протокола UxPlay с нативным декодированием видео H.264/HEVC и звука AAC/ALAC через MediaCodec и FFmpeg.
Creator
jqssun
Size
0.6 MB
Stars
610
Age
6mo
Commits · 90 Days