42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
# GPU Acceleration Implementation Steps
|
|
|
|
## Status: In Progress ✅ Started
|
|
|
|
**Hardware Confirmed:**
|
|
- 2x NVIDIA RTX 3060 (12GB each)
|
|
- NVIDIA Driver 580.76.05, CUDA 13.0
|
|
- FFmpeg 4.4.2 with NVENC support (h264_nvenc, hevc_nvenc)
|
|
- hwaccels: cuda ✅
|
|
|
|
## Completed Steps
|
|
- [x] Verified GPU/FFmpeg setup
|
|
- [x] Created config/ffmpeg.php ✅
|
|
- [x] Updated CompressVideoJob.php with NVENC ✅
|
|
- [x] Updated VideoController.php queue dispatch ✅
|
|
|
|
## Next Steps (Approved Plan)
|
|
1. ~~Verify GPU/FFmpeg readiness~~ ✅
|
|
2. ~~Create config/ffmpeg.php for global NVENC settings~~ ✅
|
|
3. ~~Update app/Jobs/CompressVideoJob.php: Switch to h264_nvenc (CRF 23, preset p4)~~ ✅
|
|
4. ~~Update app/Http/Controllers/VideoController.php: Queue dispatch tweaks~~ ✅
|
|
5. ~~Setup queue: php artisan queue:table && migrate && QUEUE_CONNECTION=database~~ ✅ (tables exist)
|
|
6. ~~Test encoding: Upload video, monitor logs/GPU util~~ → Now implementing HLS GPU playback
|
|
7. ~~Optional~~ Create GenerateHlsJob + frontend HLS.js player ✅ Planning
|
|
8. Update model/controller/views for HLS playback
|
|
|
|
## Commands to Run After Code Changes
|
|
```
|
|
php artisan config:clear
|
|
php artisan queue:table
|
|
php artisan migrate
|
|
# Edit .env: QUEUE_CONNECTION=database
|
|
php artisan queue:work --queue=video-processing --tries=3
|
|
# Test upload, tail -f storage/logs/laravel.log && watch nvidia-smi
|
|
```
|
|
|
|
## Testing
|
|
- Upload test video
|
|
- Check encoding speed (should be 5-10x faster)
|
|
- Verify quality/size
|
|
|