feat: Archipelago demo stack (lightweight)
This commit is contained in:
135
neode-ui/OPTIMIZE_VIDEO_NOW.md
Normal file
135
neode-ui/OPTIMIZE_VIDEO_NOW.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# Quick Video Optimization Guide
|
||||
|
||||
## Current Status
|
||||
|
||||
- **Video File**: `public/assets/video/video-intro.mp4`
|
||||
- **Current Size**: ~18MB
|
||||
- **Target**: Optimize to ~1MB for fast web loading
|
||||
|
||||
## Step 1: Install FFmpeg (if not already installed)
|
||||
|
||||
```bash
|
||||
brew install ffmpeg
|
||||
```
|
||||
|
||||
## Step 2: Run Optimization Script (1MB Target)
|
||||
|
||||
Once FFmpeg is installed, run:
|
||||
|
||||
```bash
|
||||
cd neode-ui
|
||||
./optimize-video-1mb.sh
|
||||
```
|
||||
|
||||
This will:
|
||||
- ✅ Create a backup of your original video
|
||||
- ✅ Optimize using H.264 with CRF 30 (good quality, smaller file)
|
||||
- ✅ Scale to 1280x720 (HD resolution)
|
||||
- ✅ Reduce frame rate to 30fps
|
||||
- ✅ Compress audio to 64kbps
|
||||
- ✅ Add faststart flag for web streaming
|
||||
- ✅ Target ~1MB file size
|
||||
- ✅ Replace original with optimized version
|
||||
|
||||
## Expected Results
|
||||
|
||||
- **Original**: ~18MB
|
||||
- **Optimized**: ~1-2MB (90-95% reduction)
|
||||
- **Quality**: Good quality (suitable for background video)
|
||||
- **Loading**: 10-20x faster
|
||||
|
||||
## Manual Command (Alternative - 1MB Target)
|
||||
|
||||
If you prefer to run manually:
|
||||
|
||||
```bash
|
||||
cd neode-ui/public/assets/video
|
||||
|
||||
# Backup original
|
||||
cp video-intro.mp4 video-intro-backup.mp4
|
||||
|
||||
# Optimize for ~1MB (CRF 30, 1280x720, 30fps)
|
||||
ffmpeg -i video-intro.mp4 \
|
||||
-c:v libx264 \
|
||||
-preset slow \
|
||||
-crf 30 \
|
||||
-profile:v high \
|
||||
-level 4.0 \
|
||||
-pix_fmt yuv420p \
|
||||
-vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2" \
|
||||
-r 30 \
|
||||
-c:a aac \
|
||||
-b:a 64k \
|
||||
-ar 44100 \
|
||||
-movflags +faststart \
|
||||
-threads 0 \
|
||||
video-intro-optimized.mp4
|
||||
|
||||
# Replace original
|
||||
mv video-intro-optimized.mp4 video-intro.mp4
|
||||
```
|
||||
|
||||
### If Still Too Large, Use More Aggressive Settings:
|
||||
|
||||
```bash
|
||||
# Even smaller (~500KB-1MB) - CRF 32, 854x480
|
||||
ffmpeg -i video-intro.mp4 \
|
||||
-c:v libx264 \
|
||||
-preset slow \
|
||||
-crf 32 \
|
||||
-profile:v high \
|
||||
-level 4.0 \
|
||||
-pix_fmt yuv420p \
|
||||
-vf "scale=854:480:force_original_aspect_ratio=decrease,pad=854:480:(ow-iw)/2:(oh-ih)/2" \
|
||||
-r 24 \
|
||||
-c:a aac \
|
||||
-b:a 48k \
|
||||
-ar 44100 \
|
||||
-movflags +faststart \
|
||||
video-intro-small.mp4
|
||||
```
|
||||
|
||||
## After Optimization
|
||||
|
||||
1. **Update cache version** in code:
|
||||
- `SplashScreen.vue`: Change `?v=3` to `?v=4`
|
||||
- `OnboardingWrapper.vue`: Change `?v=3` to `?v=4`
|
||||
|
||||
2. **Test the video**:
|
||||
- Verify smooth playback
|
||||
- Check looping works correctly
|
||||
- Test on mobile devices
|
||||
|
||||
## Quality Settings Explained (1MB Target)
|
||||
|
||||
- **CRF 30**: Good quality (recommended for 1MB target)
|
||||
- Good visual quality suitable for background video
|
||||
- ~1-2MB file size
|
||||
- Best balance for web
|
||||
|
||||
- **CRF 28**: Better quality
|
||||
- Higher quality, ~2-3MB file size
|
||||
- Use if 1MB is too aggressive
|
||||
|
||||
- **CRF 32**: Smaller file
|
||||
- Lower quality but still acceptable
|
||||
- ~500KB-1MB file size
|
||||
- Use if you need to hit 1MB exactly
|
||||
|
||||
**Recommendation**: Start with CRF 30, adjust based on results.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Script fails
|
||||
- Ensure FFmpeg is installed: `brew install ffmpeg`
|
||||
- Check file permissions: `chmod +x optimize-video.sh`
|
||||
- Verify video file exists: `ls -lh public/assets/video/video-intro.mp4`
|
||||
|
||||
### Quality not good enough
|
||||
- Use CRF 15 instead of 18 (larger file, better quality)
|
||||
- Use `preset veryslow` instead of `slow` (slower encoding, better compression)
|
||||
|
||||
### File still too large
|
||||
- Use CRF 20-23 (smaller file, slight quality trade-off)
|
||||
- Reduce resolution if video is 4K: add `-vf "scale=1920:1080"`
|
||||
|
||||
Reference in New Issue
Block a user