KanTV("Kan", aka English "watch") , an open source project focus on study and practise on-device AI technology in real scenario(such as perform online-TV playback and realtime transcription and online-TV record at the same time) on Android phone:
-
Watch online TV and local media by customized
. this project is derived from original
(that project has stopped maintenance since 2021), with much enhancements and new features. source code of customized FFmpeg 6.1 could be found in external/ffmpeg according to FFmpeg's license. source code of FFmpeg 6.1's all dependent libraries could be found in external/ffmpeg-deps .
-
Watch online TV by customized
, source code of customized Exoplayer2.15.1 could be found in android/kantvplayer-exo2 .
-
Record online TV to local file on phone.
-
2D graphic performance benchmark.
-
AI subtitle(real-time English subtitle for English online-TV(aka OTT TV) via the great & excellent & amazing whisper.cpp ).
-
Well-maintained turn-key / self-contained workbench for AI experts/researchers whom focus on highly-value on-device AI R&D activity on Android. some on-device AI R&D activities (AI algorithm validation and AI model validation and performance benchmark with ASR/Text2Image/LLM on Android) could be done via this project easily.
-
Well-maintained turn-key / self-contained workbench for AI beginners to learning on-device AI technology on Android.
-
Built-in Gemma3-4B(text-to-text and image-to-text(multimodal)), Gemma3-12B , Qwen1.5-1.8B, Qwen2.5-3B, Qwen2.5-VL-3B, Qwen3-4B, Qwen3-8B supportive and runs entirely offline(no Internet required). these LLM models can be downloadded in the Android APK directly without manually preparation(directly access to huggingface.co is required for this feature). APK's users can compare the real experience of these LLM models on the Android phone.
-
Text2Image on Android phone via the amazing stable-diffusion.cpp.
-
The ggml-hexagon(original name is ggml-qnn) in this project is probably the first open-source reference implementation of a specified llama.cpp backend for Qualcomm Hexagon NPU on Android phone.
- Clone this repository and build locally, see how to build
- Download pre-built Android APK from https://github.com/kantv-ai/kantv/releases
- Android 5.1 --- Android 15 and higher version with ANY mainstream mobile SoC might/should/could be supported.
- Android smartphone equipped with ANY mainstream high-end mobile SoC is highly recommented for realtime AI-subtitle feature otherwise unexpected behavior would happen.
- Android smartphone equipped with one of below Qualcomm mobile SoCs(Qualcomm's state-of-the-art high-end mobile SoC Snapdragon 8Gen3 series and Snapdragon 8Elite series are highly recommended) is required for verify/running ggml-hexagon backend on Android phone:
Snapdragon 8 Gen 1
Snapdragon 8 Gen 1+
Snapdragon 8 Gen 2
Snapdragon 8 Gen 3
Snapdragon 8 Elite
here is a short video to demostrate realtime AI subtitle by running the great & excellent & amazing whisper.cpp on an Android phone equipped with Qualcomm Snapdragon 8Gen3 mobile SoC - fully offline, on-device.
realtime-subtitle-by-whispercpp-demo-on-xiaomi14-finetune-20240324.mp4
a screenshot to demostrate multi-modal inference by running the magic llama.cpp on an Android phone equipped with Qualcomm Snapdragon 8Elite mobile SoC - fully offline, on-device.
some other screenshots
a screenshot to demostrate ASR inference by running the excellent whisper.cpp on an Android phone equipped with Qualcomm Snapdragon 8Gen3 mobile SoC - fully offline, on-device.
a screenshot to demostrate Text-2-Image inference by running the amazaing stable-diffusion.cpp on an Android ph 9B57 one equipped with Qualcomm Snapdragon 8Elite mobile SoC - fully offline, on-divice.
a screenshot to demostrate download LLM model in APK.
- How to build
- How to customize tv.xml for personal needs
- How to troubleshooting issues in APP
- How to utilize this project for validate/verify a specified LLM model on Android phone
- AI-assisted programming via Grok-3 and AI-assisted programming via DeepSeek-R1.
- How to integrate proprietary/open source codes to project KanTV for personal/proprietary/commercial R&D activity
- Authors
- Acknowledgement
- ChangeLog
- ggml-hexagon:history of ggml-hexagon
- ggml-hexagon:high-level data path of ggml-hexagon
- ggml-hexagon:why ggml-hexagon(HWACCEL_CDSP) is a reference implementation rather than a product-level implementation
- Roadmap
- AI inference framework
- AI application engine
- ASR engine whisper.cpp
- LLM engine llama.cpp
- Text2Image engine stable-diffusion.cpp