TimeCapsuleTV is a nostalgic journey through television history, featuring 222,219 authentic videos from the 1950s-2000s with immersive CRT effects and period-appropriate navigation. Built with Python and modern web technologies, it recreates the authentic experience of channel surfing through decades of television content.
- 222,219 videos across 6 decades (50s, 60s, 70s, 80s, 90s, 00s)
- CRT-style visual effects with authentic static and tube glow
- Period-appropriate sound effects (channel changing, static)
- Full-screen kiosk mode for immersive viewing
- Category Navigation: Browse by genre (Music, Comedy, Drama, etc.)
- Decade Switching: Quick keypad access (7=70s, 8=80s, 9=90s, 0=00s)
- Random Mode: Shuffle through all available content
- Hidden Content: Sequential access to rare/special videos
- Smart Categorization: Real-time video categorization system
- HTTP Server Integration: Seamless local content delivery
- YouTube API Integration: Reliable video playback with fallback strategies
- Responsive Design: Optimized for various screen sizes
- Professional Architecture: Clean, maintainable codebase
- Python 3.8+
- Chrome browser (for Selenium WebDriver)
- Internet connection for YouTube content
- Clone the repository
git clone https://github.com/yourusername/TimeCapsleTV.git
cd TimeCapsleTV- Run the setup script
python3 scripts/setup.py- Launch TimeCapsleTV
python3 src/main.pyThe application will open in full-screen kiosk mode. Press ESC to exit.
| Key | Action |
|---|---|
โ/โ |
Cycle through categories |
โ/โ |
Navigate videos within category |
R |
Toggle random mode |
S |
Skip current video |
C |
Categorize current video |
H |
Access hidden content |
7/8/9/0 |
Switch decades (70s/80s/90s/00s) |
N |
Cycle noise levels |
ESC |
Exit application |
Videos are organized into intuitive categories:
- Music ๐ต - Music videos and performances
- Comedy ๐ - Comedy shows and sketches
- Drama ๐ญ - Dramatic series and movies
- News ๐ฐ - News broadcasts and reports
- Sports โฝ - Sports coverage and highlights
- Cartoons ๐บ - Animated content
- And more! - Commercials, Talk Shows, Specials, etc.
TimeCapsuleTV/
โโโ src/ # Source code
โ โโโ core/ # Core application logic
โ โ โโโ main.py # Main application entry
โ โ โโโ generator.py # HTML generation
โ โ โโโ server.py # HTTP server
โ โ โโโ config.py # Configuration
โ โโโ data/ # Data management
โ โ โโโ loader.py # Data loading logic
โ โ โโโ decades/ # Video data by decade
โ โโโ assets/ # Static assets
โ โโโ sounds/ # Audio effects
โ โโโ tvstatic.gif # Static overlay
โโโ scripts/ # Utility scripts
โโโ docs/ # Documentation
โโโ tests/ # Test suite
- VideoPlayer: Main application controller with Chrome WebDriver integration
- HTMLGenerator: Dynamic HTML generation with embedded JavaScript
- TVServer: HTTP server for local content delivery
- DataLoader: Efficient video data management and organization
- Python 3.8+: Core application logic
- Selenium WebDriver: Browser automation and control
- YouTube IFrame API: Video playback with custom controls
- HTTP Server: Local content delivery
- CSS3 Animations: Authentic CRT effects
- JavaScript ES6: Interactive UI and navigation
- Lazy Loading: Videos loaded on-demand
- Efficient Categorization: Pre-organized data structure
- Memory Management: Optimized for long-running sessions
- Fallback Strategies: Robust error handling for blocked content
The application includes a comprehensive dataset of 222,219 videos across six decades:
| Decade | Video Count | Coverage |
|---|---|---|
| 1950s | 20,693 | Early TV era |
| 1960s | 27,199 | Cultural revolution |
| 1970s | 21,840 | Golden age |
| 1980s | 46,492 | MTV generation |
| 1990s | 59,241 | Digital transition |
| 2000s | 46,754 | Internet age |
Data Source: Video dataset curated and provided by Joey Cato's myretrotvs.com - an incredible resource for authentic retro television content.
python3 -m pytest tests/The codebase follows professional Python standards:
- PEP 8 code style
- Type hints where appropriate
- Comprehensive documentation
- Modular architecture
If the application doesn't start or you see Chrome-related errors, run the cleanup utility:
python3 scripts/cleanup_chrome.pyThis will kill any stuck Chrome or ChromeDriver processes and remove temporary files.
- Chrome won't start: Run the cleanup script above
- Port already in use: The app uses ports 8888 and 8080 - ensure they're free
- Permission errors: Make sure you have write access to the project directory
- YouTube videos blocked: Use the 'S' key to skip blocked videos
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
- Place decade JSON file in
src/data/decades/ - Update
DECADESlist insrc/data/loader.py - Add keyboard shortcut in
src/core/generator.py
- Visual Effects: Edit CSS in
src/core/generator.py - Sound Effects: Replace files in
src/assets/sounds/ - Static Overlay: Update
src/assets/tvstatic.gif
This project is licensed under the MIT License - see the LICENSE file for details.
- Joey Cato and myretrotvs.com for the original inspiration and comprehensive video data that made this project possible
- YouTube for providing the video content platform
- All contributors who helped improve the project
Developer: [Your Name]
Email: your.email@example.com
LinkedIn: linkedin.com/in/yourprofile
Portfolio: yourportfolio.com
Created by: Jon Solomon
Purpose: Multi-Decade TV Kiosk Experience
Target Platform: Web / Desktop / Raspberry Pi / Kiosk Displays
Built with โค๏ธ for nostalgia enthusiasts and technology lovers