diff --git a/README.md b/README.md new file mode 100644 index 0000000..cda6424 --- /dev/null +++ b/README.md @@ -0,0 +1,127 @@ +# Video Player Log Analyzer + +HTML-based log analyzer for the Moonlight Drive-In Theater NFC video player system. Features real-time statistics dashboards, interactive charts, video playback analytics, and print-ready activity reports. + +## Features + +### Interactive Dashboard +- **Real-time Statistics**: Track total NFC scans, unique videos, trailers played, and average time between scans +- **Dynamic Charts**: 4 interactive Chart.js visualizations with filtering options +- **Video Details**: Click any video to see detailed playback timeline and statistics + +### Visualization Types +1. **Event Timeline**: Scatter plot showing all NFC scans, videos, and trailers over time +2. **Hourly Activity**: Bar chart showing event distribution across 24-hour period +3. **Top 15 Videos**: Horizontal bar chart ranking most-played content +4. **Time Between Scans**: Line graph tracking intervals between consecutive NFC scans + +### Print Report +- One-click comprehensive PDF report generation +- Includes all 4 charts optimized for print +- Complete tables of NFC scans and trailer playback +- Summary statistics at-a-glance +- Professional purple theme with clean layout + +### Log Parsing +- **Accurate Scan Detection**: Correctly identifies actual runtime NFC scans vs configuration loading +- **Mapping Resolution**: Automatically resolves NFC IDs to video/folder names from log configuration +- **Folder Support**: Recognizes sequential folder playback patterns +- **Trailer Tracking**: Monitors randomization and prevents repeat detection + +## Usage + +1. **Open the HTML File**: Simply open `video_player_log_analyzer.html` in any modern web browser (Chrome, Firefox, Edge, etc.) + +2. **Load Log File**: Click "📁 Load Log File" and select your `video_player_YYYYMMDD_HHMMSS.log` file + +3. **Explore Data**: + - View statistics cards at the top + - Use chart type dropdown to switch between visualizations + - Apply event filters (All Events / NFC Scans Only / Trailers Only) + - Click on videos in the list to see detailed playback timelines + +4. **Generate Report**: Click "🖨️ Print Report" button to create a comprehensive PDF report with all charts and tables + +## Technical Details + +### Dependencies +- **Chart.js** (3.x): Interactive charts and graphs +- **date-fns** (2.29.3): Date/time formatting utilities + +All dependencies are loaded from CDN - no installation required! + +### File Format +Works with log files generated by the Moonlight Drive-In Theater video player system. Expected log patterns: +- `Processing NFC input: [id]` - Actual NFC scan events +- `Mapped NFC [id] -> [video/folder]` - Configuration mappings +- `Selected trailer: [filename]` - Trailer playback +- `Queued specific video: [filename]` - Video queuing +- `Folder '[name]': Playing video [x]/[total]` - Sequential folder playback + +### Browser Compatibility +- Chrome 90+ +- Firefox 88+ +- Edge 90+ +- Safari 14+ + +## Print Report Features + +### Summary Statistics +- Total NFC Scans +- Videos Played +- Trailers Played +- Average Time Between Scans + +### Charts (Print-Optimized) +- Event Timeline (800x200px) +- Hourly Activity (800x300px) +- Top 15 Videos (800x400px) +- Time Between Scans (800x300px) + +### Detailed Tables +- **NFC Scans**: Scan #, Timestamp, NFC ID, Video/Folder Name +- **Trailers**: Trailer #, Timestamp, Filename + +### Print CSS +- Professional purple theme (#7c3aed) +- Alternating row colors for readability +- Page break controls +- Optimized headers and borders + +## Development History + +### Version 1.0 +- Initial release with NFC scan tracking +- Basic chart visualizations +- Video playback statistics + +### Version 1.1 (Current) +- **Fixed**: Parser now correctly identifies actual NFC scan events +- **Added**: NFC mapping lookup to eliminate "Unknown" entries +- **Added**: Comprehensive print report feature +- **Added**: Error handling and debugging +- **Improved**: Statistics accuracy (585 actual scans vs 72 config lines) + +## Project Structure + +``` +video-player-log-analyzer/ +├── video_player_log_analyzer.html # Single-file application +└── README.md # This file +``` + +## License + +Created for the Moonlight Drive-In Theater project. + +## Author + +Jess @ Hideaway Gaming +- Gitea: https://gitea.hideawaygaming.com.au/jessikitty +- Email: jess@hideawaygaming.com.au + +## Related Projects + +- **Moonlight Drive-In Theater**: Main NFC-based video player system +- **NFC Mapping Configuration**: Tag ID to video/folder mapping system +- **Trailer Randomization**: Anti-repeat logic for trailer selection