livestream-archiver/package/README.md
RTSDA 2c3c86e07d Add LICENSE, improve README, and update project documentation
- Add MIT LICENSE file
- Make README more generic and comprehensive
- Add installation and troubleshooting sections
- Include systemd service integration docs
- Update with build and deployment instructions
2025-08-16 18:57:27 -04:00

59 lines
1.8 KiB
Markdown

# Livestream Archiver
A Rust application that monitors a directory for livestream recordings, processes them, and syncs them to a PC.
## Features
- **File Detection**: Monitors `/home/rockvilleav/Sync/Livestreams` for new MP4 files
- **Readiness Check**: Waits for files to be completely written before processing
- **PC Sync**: Uses rsync to send files to your PC immediately after detection
- **Caching & Retry**: Caches failed syncs and retries them on subsequent runs
- **Processing**: Converts files to AV1 using QSV hardware acceleration
- **Organization**: Creates date-based directory structure in Jellyfin format
- **Cleanup**: Deletes original files after successful processing and sync
## Configuration
Set the `PC_SYNC_TARGET` environment variable to configure where files are synced:
```bash
export PC_SYNC_TARGET="user@192.168.1.100:/path/to/destination/"
```
If not set, defaults to: `user@192.168.1.100:/path/to/destination/`
## Usage
```bash
cargo run
```
The application will:
1. Check for existing unprocessed files
2. Start monitoring for new files
3. For each detected file:
- Wait for it to be ready (stable size/modification time)
- Sync to PC using rsync
- Convert to AV1 format
- Create NFO metadata file
- Delete original file
## Dependencies
- `rsync` must be installed and accessible in PATH
- `ffmpeg` with QSV support for hardware acceleration
- SSH key authentication should be set up for passwordless rsync
## Directory Structure
Output files are organized as:
```
/media/archive/jellyfin/livestreams/
├── 2024/
│ ├── 01-January/
│ │ ├── Divine Worship Service - RTSDA | January 01 2024.mp4
│ │ ├── Divine Worship Service - RTSDA | January 01 2024.nfo
│ │ └── ...
│ └── ...
└── ...
```