46 lines
No EOL
3 KiB
Text
46 lines
No EOL
3 KiB
Text
Product Requirements Document (PRD) - KCTube
|
|
1. Product Overview
|
|
Product Name: KCTube Version: 1.0 (In Development) Description: KCTube is a comprehensive media center web application designed to provide an ad-free YouTube experience, a curated movie streaming service, and a local video management system. It emphasizes privacy, absence of advertisements, and utility features like AI summarization and language learning tools.
|
|
|
|
2. User Personas
|
|
The Binge Watcher: Wants uninterrupted access to YouTube content and movies without ads.
|
|
The Archivist: Maintains a local collection of videos and wants a clean interface to organize and watch them securely.
|
|
The Learner: Uses video content for educational purposes, specifically English learning.
|
|
The Tech Enthusiast: Appreciates PWA support, torrent integration, and customizable settings.
|
|
3. Core Features
|
|
3.1. YouTube Viewer (Home)
|
|
Ad-Free Experience: Plays YouTube videos without third-party advertisements.
|
|
Search: Integrated search bar powered by yt-dlp to find videos, channels, and playlists.
|
|
Playback: Custom video player with support for quality selection and playback speed.
|
|
AI Summarization: Feature to summarize video content using Google Gemini API (Optional).
|
|
3.2. local Video Manager ("My Videos")
|
|
Secure Access: Password-protected section for personal video collections.
|
|
File Management: Scans local directories for video files.
|
|
Metadata: Extracts metadata (duration, format) and generates thumbnails using FFmpeg/MoviePy.
|
|
Playback: Native HTML5 player for local files.
|
|
3.3. Utilities
|
|
Torrent Player: Interface for streaming/playing video content via torrents.
|
|
Playlist Manager: Create and manage custom playlists of YouTube videos.
|
|
Camera/Photo: ("Chụp ảnh") Feature to capture or manage photos (Webcam integration).
|
|
Configuration: Web-based settings to manage application behavior (e.g., password, storage paths).
|
|
4. Technical Architecture
|
|
Backend: Python / Flask
|
|
Frontend: HTML5, CSS3, JavaScript (Vanilla)
|
|
Database/Storage: JSON-based local storage and file system.
|
|
Video Processing: yt-dlp (YouTube), FFmpeg (Conversion/Thumbnail), MoviePy (Optional).
|
|
AI Service: Google Gemini API (for summarization).
|
|
Deployment: Docker container support (xehopnet/kctube).
|
|
5. Non-Functional Requirements
|
|
Performance: Fast load times and responsive UI.
|
|
Compatibility: PWA-ready for installation on desktop and mobile.
|
|
Reliability: graceful degradation if optional dependencies (MoviePy, Gemini) are missing.
|
|
Privacy: No user tracking or external analytics.
|
|
6. Known Limitations
|
|
Search Reliability: Dependent on yt-dlp stability and YouTube's anti-bot measures.
|
|
External APIs: Movie features rely on third-party APIs which may have downtime.
|
|
Dependency Management: Some Python libraries (MoviePy, Numpy) require compilation tools.
|
|
7. Future Roadmap
|
|
Database: Migrate from JSON to SQLite for better performance with large libraries.
|
|
User Accounts: Individual user profiles and history.
|
|
Offline Mode: Enhanced offline capabilities for PWA.
|
|
Casting: Support for Chromecast/AirPlay. |