You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+39-40Lines changed: 39 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,55 +9,54 @@ A powerful FastAPI application that streams audio from YouTube videos as MP3 ove
9
9
## Features
10
10
11
11
### Core Streaming
12
-
-**YouTube Audio Streaming**: Stream any YouTube video as MP3 audio in real-time
13
-
-**Multi-Client Support**: Multiple users can listen to the same stream simultaneously with individual replay buffers
14
-
-**Smart Queue System**: Build playlists with persistent queue that survives page refreshes
15
-
-**Auto-Play**: Automatically plays next track when current track completes
16
-
-**Prefetching**: Pre-downloads next queue item before current track ends for seamless transitions
17
-
-**Play History**: Track all played videos with play counts, timestamps, and rich metadata
18
-
-**Mobile-First Web UI**: Responsive interface optimized for phones, tablets, and desktops
19
-
-**MediaSession API**: Rich media controls in car entertainment systems, lock screens, and notification panels
12
+
-**YouTube Audio Streaming**: Stream any YouTube video as MP3 audio; supports full YouTube URLs, short `youtu.be` links, and raw video IDs
13
+
-**Smart Queue System**: Build playlists with a persistent queue (survives page refreshes) that supports both YouTube videos and weekly summary audio as mixed items
14
+
-**Auto-Play & Prefetching**: Automatically plays the next track when the current one finishes; pre-downloads the upcoming track in the background for seamless transitions
15
+
-**Play History**: Tracks all played videos with play counts, relative timestamps, and rich metadata (title, channel, thumbnail); click any entry to replay
16
+
-**Stream Resilience**: Automatic stalling detection with up to 50 reconnection retries and adaptive back-off delay
17
+
18
+
### Playback Controls
19
+
-**Audio Player**: HTML5 player with Play/Pause, Rewind (−15 s), Fast-Forward (+15 s), and Stop
20
+
-**Speed Controls**: Switch between 1×, 1.15×, 1.3×, and 1.5× playback speed
21
+
-**Keyboard Shortcuts**: Space to play/pause; ↑/↓ to skip forward/back 15 s
22
+
-**MediaSession API**: Rich media controls in car entertainment systems (Tesla tested), lock screens, and notification panels — displays title, channel, and album art
23
+
24
+
### Web Interface
25
+
-**Mobile-First Design**: Responsive layout optimised for phones, tablets, and desktops
26
+
-**Dark / Light Theme**: Automatic system-preference detection with manual toggle; preference saved in local storage
27
+
-**Drag-and-Drop Queue Reordering**: Reorder queue items by dragging (mouse and touch); order saved instantly to the database
20
28
21
29
### AI-Powered Features
22
30
23
-
#### Automatic Transcription
24
-
-**Multi-Provider Support**: Choose between OpenAI Whisper, Mistral Voxtral, or Google Gemini for transcription
25
-
-**Audio Optimization**: Automatic compression and speed-up to reduce API costs by ~33%
26
-
-**Background Processing**: Transcription happens asynchronously without blocking playback
27
-
-**Smart Caching**: Transcripts cached locally to avoid re-processing
-**Automated Scheduling**: Configurable schedule (default: Fridays at 11 PM) to summarise the week's viewing
43
+
-**Comprehensive Analysis**: Synthesises all videos watched during the week; extracts key learnings and common themes
44
+
-**Text-to-Speech**: Optional TTS (OpenAI or ElevenLabs) converts the written summary to audio you can queue and play
45
+
46
+
#### Smart Video Suggestions (`BOOK_SUGGESTIONS_ENABLED=true`)
47
+
-**AI Content Discovery**: Analyses viewing history and Trilium summaries to find thematically related YouTube videos
48
+
-**Configurable**: Control how many recent videos to analyse and how many suggestions to generate
47
49
48
50
### Data & Analytics
49
-
-**LLM Usage Tracking**: Detailed logging of all API calls with token counts
50
-
-**Cost Monitoring**: Track spending across providers, models, and features
51
-
-**Performance Metrics**: Audio duration, file sizes, processing times
52
-
-**Flexible Filtering**: Query by date range, provider, model, or feature
51
+
-**LLM Usage Dashboard**: HTML dashboard at `/admin/stats` plus JSON API with filtering by date range, provider, model, and feature
52
+
-**Cost Monitoring**: Token counts and audio-duration tracking for accurate per-minute pricing (Whisper, Voxtral)
53
+
-**Client-Side Logging**: Browser logs batched and forwarded to the server — essential for debugging on car displays and mobile devices without a console
53
54
54
55
### Developer Experience
55
-
-**Modern Stack**: FastAPI, Python 3.12, SQLite with type-safe models
56
-
-**Comprehensive Testing**: 76%+ test coverage with pytest
57
-
-**CI/CD**: Automated testing and linting with GitHub Actions
58
-
-**Pre-commit Hooks**: Automatic code formatting with Ruff and type checking with mypy
59
-
-**Type Safety**: Full type annotations with mypy strict mode
60
-
-**Docker Ready**: Easy deployment with systemd service support
56
+
-**Modern Stack**: FastAPI, Python 3.12, SQLite with type-safe models and dataclasses
57
+
-**Comprehensive Testing**: 76 %+ test coverage with pytest and pre-commit hooks
58
+
-**CI/CD**: Automated testing with GitHub Actions on every push and pull request
59
+
-**Type Safety**: Full return-type annotations; mypy-compatible throughout
0 commit comments