Initial commit - Video Player Log Analyzer with comprehensive print report feature
Features: - Interactive dashboard with real-time statistics - NFC scan tracking and video playback analytics - Trailer randomization monitoring - 4 interactive Chart.js visualizations (Event Timeline, Hourly Activity, Top Videos, Time Between Scans) - Comprehensive print report with all charts and detailed tables - Parser correctly identifies 585 actual scans vs configuration lines - NFC mapping lookup eliminates Unknown entries - Professional purple gradient theme with responsive design
This commit is contained in:
127
README.md
Normal file
127
README.md
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user