How silent1566/webhtv works
WebHomeTV is an Android TV/mobile media app that extends the FongMi/CatVod ecosystem. The main workflow is choosing a configured source, discovering or searching for content, opening its detail, then playing it; live TV, Spider-based sources, subtitles, casting, and playback enhancements are distinct capabilities. The README also documents WebHome’s Native SDK, LAN management, remote hosting, synchronization, cloud-drive support, and recommendations. Several of those branches are represented by their enclosing source directory because their specific implementations were not sampled; arrows follow documented capabilities or sampled calls where available.
Main entry points: ExoPlayerEngine.java Playback engine · HomeActivity.java Home and search · tv WebHome Native SDK · SiteApi.java Site API
Components 21
Content discovery
- Home and search
app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java - VOD details
app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java - Recommendations
app/src/main/java/com/fongmi/android/tv/service/PersonalRecommendationService.java
Playback and TV
- Playback engine
app/src/main/java/com/fongmi/android/tv/player/engine/ExoPlayerEngine.java - MPV player
app/src/main/java/androidx/media3/mpvplayer/MpvPlayer.java - Subtitle matching
app/src/main/java/com/fongmi/android/tv/subtitle/SubtitleMatchService.java - HLS ad filtering
app/src/main/java/com/fongmi/android/tv/utils/HlsAdblockPipeline.java - DLNA casting
app/src/leanback/java/com/fongmi/android/tv/service/DLNARendererService.java - Audio ad detection
app/src/main/java/com/fongmi/android/tv/ad/audio
WebHome services
- WebHome Native SDK
app/src/main/java/com/fongmi/android/tv - LAN management
app/src/main/java/com/fongmi/android/tv - Range proxy
app/src/main/java/com/fongmi/android/tv/server/proxy/SegmentedRangeEngine.java
Sync and hosting
- Remote agent
app/src/main/java/com/fongmi/android/tv/remote/RemoteAgentService.java - Hosting relay
- Device and history sync
app/src/main/java/com/fongmi/android/tv - Git cloud drive
app/src/main/java/com/fongmi/android/tv/gitcloud/drive/JGitDriveEngine.java
Sources and extensions
- Site API
app/src/main/java/com/fongmi/android/tv/api/SiteApi.java - Spider loaders
app/src/main/java/com/fongmi/android/tv/api/loader - Live TV
app/src/main/java/com/fongmi/android/tv/api/LiveApi.java - Site health ranking
app/src/main/java/com/fongmi/android/tv
Other components
- Viewer
Connections 26
- Viewer → Home and search: browses
- Home and search → Site API: searches sources
- Site API → Spider loaders: loads spiders
- Home and search → VOD details: opens title
- VOD details → Playback engine: starts playback
- Home and search → Recommendations: requests picks
- Recommendations → Viewer: shows results
- Viewer → Live TV: selects channel
- Live TV → Playback engine: plays stream
- Playback engine → Subtitle matching: matches subtitles
- Playback engine → HLS ad filtering: filters manifests
- Playback engine → MPV player: uses engine
- Viewer → DLNA casting: casts media
- DLNA casting → Playback engine: controls playback
- Viewer → WebHome Native SDK: uses homepage
- WebHome Native SDK → Site API: searches content
- WebHome Native SDK → Range proxy: requests proxy
- Viewer → LAN management: manages app
- LAN management → Device and history sync: configures sync
- Remote agent → Hosting relay: connects remotely
- Hosting relay → Remote agent: dispatches requests
- Viewer → Device and history sync: starts sync
- Device and history sync → Hosting relay: syncs remotely
- Viewer → Git cloud drive: syncs files
- Home and search → Site health ranking: orders sources
- Playback engine → Audio ad detection: detects audio ads