Add audio validation, seamless transitions, and quality improvements for music streaming
This commit is contained in:
35
README.md
35
README.md
@@ -26,7 +26,7 @@ docker-compose up
|
||||
docker run -p 3000:3000 -p 8080:8080 ghcr.io/sethwv/ws4kp-to-hls:latest
|
||||
```
|
||||
|
||||
**Note**: Initial build takes an additional ~90 seconds due to downloading the Weatherscan music collection (~500MB).
|
||||
**Note**: Initial build takes an additional ~90 seconds due to downloading and processing the Weatherscan music collection (~500MB, processed to VBR q6 quality with normalization).
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -106,6 +106,7 @@ ffmpeg -i "http://localhost:3000/stream?url=http://example.com" \
|
||||
- `height` (optional): Video height in pixels (default: 1080)
|
||||
- `fps` (optional): Frames per second (default: 30)
|
||||
- `hideLogo` (optional): Set to `true` to hide Logo3.png image (default: false)
|
||||
- `refreshInterval` (optional): Page refresh interval in minutes (default: 90)
|
||||
|
||||
**Weather endpoint (`/weather`)**:
|
||||
- `city` (optional): City name in `City,State,Country` format (default: Toronto,ON,Canada)
|
||||
@@ -119,6 +120,7 @@ ffmpeg -i "http://localhost:3000/stream?url=http://example.com" \
|
||||
- `height` (optional): Video height in pixels (default: 1080)
|
||||
- `fps` (optional): Frames per second (default: 30)
|
||||
- `hideLogo` (optional): Set to `true` to hide ws4kp Logo3.png image (default: false)
|
||||
- `refreshInterval` (optional): Page refresh interval in minutes (default: 90)
|
||||
- **Forecast Section Toggles** (all optional, use `true` or `false`):
|
||||
- **Commonly used sections** (default: true):
|
||||
- `showHazards`: Weather alerts and hazards
|
||||
@@ -144,33 +146,4 @@ ffmpeg -i "http://localhost:3000/stream?url=http://example.com" \
|
||||
3. FFmpeg encodes the screenshots into an HLS stream (H.264 video, AAC audio for weather)
|
||||
4. For weather streams: background music is shuffled and played from the Weatherscan collection
|
||||
5. The HLS stream is piped directly to the HTTP response
|
||||
6. City names are automatically geocoded to coordinates via OpenStreetMap's Nominatim API
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
yarn install
|
||||
|
||||
# Run locally (requires Chrome and FFmpeg)
|
||||
yarn start
|
||||
```
|
||||
|
||||
## Health Check
|
||||
|
||||
```bash
|
||||
curl http://localhost:3000/health
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- The stream continues indefinitely until the client disconnects
|
||||
- Each request creates a new browser instance
|
||||
- Memory usage scales with the number of concurrent streams
|
||||
- Weather streams include automatic geocoding (adds ~200-500ms initial latency)
|
||||
- Background music for weather streams is shuffled from a collection of Weatherscan tracks
|
||||
- Multi-platform Docker image available for AMD64 and ARM64 architectures
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
6. City names are automatically geocoded to coordinates via OpenStreetMap's Nominatim API
|
||||
Reference in New Issue
Block a user