JKVideo is a React Native mobile application that provides a third-party client for Bilibili with video streaming, live streaming, and danmaku (comment) features.
The project addresses the need for a feature-rich alternative Bilibili client by implementing DASH video playback with support for 1080P and 4K HDR content, a complete danmaku system for both video and live streaming, and WBI signature authentication written in pure TypeScript without external cryptography dependencies. The application uses Zustand for state management, Expo Router for navigation, and react-native-video for playback, with a fallback to WebView-based HTML5 video for degraded playback scenarios. It includes a global mini-player that persists across page navigation, QR code-based login, and local network sharing capabilities that allow users to download videos at multiple quality levels and share them via HTTP server to other devices on the same Wi-Fi network.
The tool suits developers interested in React Native cross-platform development, video player implementation, or reverse-engineering Bilibili's API and playback mechanisms. It runs on Android, iOS, and Web platforms, with Expo Go providing a quick five-minute setup without compilation, though with reduced video quality, while Dev Build unlocks full DASH playback and danmaku functionality. The project demonstrates advanced features like intelligent homepage layout with inline DASH autoplay, multi-lane danmaku rendering, and real-time WebSocket danmaku reception for live streams.
The project has ceased active maintenance following a cease-and-desist notice from Bilibili's legal team. The repository no longer accepts new issues or pull requests and is preserved solely as a learning reference. The codebase remains available for educational purposes but is not intended for commercial or unlawful use.