Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhouwg/kantv
workbench for learing&practising AI tech in real scenario on Android device, powered by GGML(Georgi Gerganov Machine Learning) and NCNN(Nihui Convolutional Neural Network) and FFmpeg + OpenCV
https://github.com/zhouwg/kantv
edge-ai ffmpeg ffmpeg-android livetv llama-cpp ncnn-android whisper-cpp
Last synced: 22 days ago
JSON representation
workbench for learing&practising AI tech in real scenario on Android device, powered by GGML(Georgi Gerganov Machine Learning) and NCNN(Nihui Convolutional Neural Network) and FFmpeg + OpenCV
- Host: GitHub
- URL: https://github.com/zhouwg/kantv
- Owner: zhouwg
- License: apache-2.0
- Created: 2021-05-27T11:02:56.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T11:45:06.000Z (about 2 months ago)
- Last Synced: 2024-05-22T22:31:40.848Z (about 2 months ago)
- Topics: edge-ai, ffmpeg, ffmpeg-android, livetv, llama-cpp, ncnn-android, whisper-cpp
- Language: C++
- Homepage:
- Size: 1020 MB
- Stars: 70
- Watchers: 5
- Forks: 11
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Lists
- awesome-iptv - kantv - Open source player for Android. (Apps)
- awesome-iptv?tab=readme-ov-file - kantv - Open source player for Android. (Apps)
README
# KanTV
KanTV("Kan", aka Chinese PinYin "Kan" or Chinese HanZi "看" or English "watch/listen") , an open source project focus on Kan(aka "Watch/Listen" in English) online TV for **Android-based device**,derived from original ![ijkplayer](https://github.com/bilibili/ijkplayer) , with many enhancements:
- Watch online TV(by customized ![FFmpeg](https://github.com/zhouwg/FFmpeg) and Exoplayer with updated version:FFmpeg 6.1, Exoplayer 2.15)
- Record online TV to automatically generate videos (usable for short video creators to generate short video materials but pls respect IPR)
- Watch local media (movies, videos, music, etc.) on Android-based mobile phone
- Set up a custom playlist and then use this software to watch the content of the custom playlist
- Performance benchmark for Android-based mobile phone
- UI refactor
- ......
Pls attention this is **NOT** the latest source code of project KanTV and couldn't generate kantv-1.2.3 apk from source code. it will be ok someday.
### How to build project
#### prerequisites
- Host OS information:
```
uname -aLinux 5.8.0-43-generic #49~20.04.1-Ubuntu SMP Fri Feb 5 09:57:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/issue
Ubuntu 20.04.2 LTS \n \l
```
- tools & utilities
```
sudo apt-get update
sudo apt-get install build-essential -y
sudo apt-get install cmake -y
sudo apt-get install curl -y
sudo apt-get install python -y
sudo apt-get install tcl expect -y
sudo apt-get install nginx -y
sudo apt-get install git -y
sudo apt-get install vim -y
sudo apt-get install spawn-fcgi -y
sudo apt-get install u-boot-tools -y
sudo apt-get install ffmpeg -y
sudo apt-get install openssh-client -ysudo dpkg --add-architecture i386
sudo apt-get install lib32z1sudo apt-get install android-tools-adb android-tools-fastboot autoconf \
automake bc bison build-essential ccache cscope curl device-tree-compiler \
expect flex ftp-upload gdisk acpica-tools libattr1-dev libcap-dev \
libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev \
libpixman-1-dev libssl-dev libtool make \
mtools netcat python-crypto python3-crypto python-pyelftools \
python3-pycryptodome python3-pyelftools python3-serial \
rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-devsudo apt-get install python3-pip -y
sudo apt-get install indent -y
pip3 install meson ninjaecho "export PATH=/home/`whoami`/.local/bin:\$PATH" >> ~/.bashrc
```
- bazel
download ![bazel-3.1.0](https://github.com/bazelbuild/bazel/releases?page=5) and install bazel manually```
wget https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-linux-x86_64
```
```
sudo ./bazel-3.1.0-installer-linux-x86_64.sh
```- Android NDK & Android Studio
download and install Android Studio and Android NDK manually
[Android Studio 4.2.1](https://developer.android.google.cn/studio)
[Android NDK-r18b](https://developer.android.com/ndk/downloads)
[Android NDK-r21e](https://developer.android.com/ndk/downloads)- vim settings
fetch from http://ffmpeg.org/developer.html#Editor-configuration
```
set ai
set nu
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set noundofile
set nobackup
set fileformat=unix
set undodir=~/.undodir
set cindent
set cinoptions=(0
" Allow tabs in Makefiles.
autocmd FileType make,automake set noexpandtab shiftwidth=8 softtabstop=8
" Trailing whitespace and tabs are forbidden, so highlight them.
highlight ForbiddenWhitespace ctermbg=red guibg=red
match ForbiddenWhitespace /\s\+$\|\t/
" Do not highlight spaces at the end of line while typing on that line.
autocmd InsertEnter * match ForbiddenWhitespace /\t\|\s\+\%#\@ The latest prebuit KanTV apk(v1.2.3) is about 37M.[![Github](https://user-images.githubusercontent.com/6889919/122489234-c13db400-d011-11eb-9d8c-8e4b2555dabe.png)](https://github.com/zhouwg/kantv/blob/kantv/release/kantv-latest.apk?raw=true)### Acknowledgement
Many/sincerely thanks to all contributors of the great open source community, especially all original authors and all contributors of the great Linux & Android & FFmpeg and other excellent projects.
The KanTV has used/tried following open-source projects:
- FFmpeg
- Android
- ijkplayer
- ExoPlayer
- GStreamer
- libx264/libx265
- whisper.cpp
- OpenAI/Whisper
- DeepSpeech
- SVT-AV1
- VVenc
- DirectFB
- SDL
- SVT-HEVC
- AOM-AV1
- OpenCV
- WebRTC
- PaddleSpeech
- Tencent/ncnn
- ShakaPackager
- SRS
- ......
### Support
- Please do not send e-mail to me. Public technical discussion on github is preferred.
- feel free to submit issues or new features(focus on Android at the moment), volunteer support would be provided if time permits.
### Roadmap
- integrate ![gstreamer](https://github.com/zhouwg/gstreamer) to project KanTV
- real-time subtitle(English / Chinese) with online TV (by ![DeepSpeech](https://github.com/zhouwg/DeepSpeech) / ![whisper.cpp](https://github.com/zhouwg/whisper.cpp))
- real-time advertisement analysis
- real-time illegal advertisement removal
- other device-side AI feature
- ...
### Contribution
If you want to contribute to project KanTV, be sure to review the [opening issues](https://github.com/zhouwg/kantv/issues?q=is%3Aopen+is%3Aissue).We use [GitHub issues](https://github.com/zhouwg/kantv/issues) for tracking requests and bugs, please see [how to submit issue in this project ](https://github.com/zhouwg/kantv/issues/1).
**English** is preferred in this project. thank your for your cooperation and appreciate your understanding.
### License
```
Copyright (c) 2017 Bilibili
Licensed under LGPLv2.1 or later
```
```
Copyright (c) 2021 - maintainer of project KanTV
Licensed under Apachev2.0 or later
```