This timelapse system creates smooth, fast-motion videos by taking still photos every 15 seconds and combining them into videos. Think of it like a flip book – lots of individual pictures played quickly to show motion over time.
The Complete Process
Step 1: Photo Capture (Continuous)
- Two cameras (Amcrest and Reolink) take a photo every 15 seconds
- Photos are stored on the Raspberry Pi by time period:
- Day: 8am – 4pm
- Evening: 4pm – midnight
- Night: midnight – 8am
Step 2: Video Creation (Every 15 Minutes)
- Every 15 minutes, the system combines the recent photos into a short video segment
- Staggered timing prevents conflicts:
- Amcrest processes at :00 (8:00:00, 8:15:00, 8:30:00, etc.)
- Reolink processes at :30 (8:00:30, 8:15:30, 8:30:30, etc.)
Step 3: Upload to Server (30 seconds apart)
- Each new video segment gets uploaded to Scootercam’s web server
- Uploads arrive 30 seconds apart to prevent overload
Step 4: Server Assembly (Instant)
- Server appends each new segment to the growing daily video
- No re-processing needed – just adds the new piece to the end
- Much faster than rebuilding the entire video each time
Step 5: Final Daily Videos (8 total per day)
For each camera (Amcrest & Reolink):
- Day Video – All segments from 8am to 4pm
- Evening Video – All segments from 4pm to midnight
- Night Video – All segments from midnight to 8am
- Sunset Video – Only segments during golden hour (30min before/after sunset)
Visual Flow Chart
┌─────────────────┐ ┌─────────────────┐
│ AMCREST CAM │ │ REOLINK CAM │
│ Photo every 15s │ │ Photo every 15s │
└─────────┬───────┘ └─────────┬───────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Store photos │ │ Store photos │
│ by period: │ │ by period: │
│ • Day (8-4pm) │ │ • Day (8-4pm) │
│ • Evening(4-12) │ │ • Evening(4-12) │
│ • Night (12-8) │ │ • Night (12-8) │
└─────────┬───────┘ └─────────┬───────┘
│ │
Every 15 min │
at :00 seconds │
│ │
▼ ▼
┌─────────────────┐ │
│ Process at │ │
│ :00 mark │ │
│ (8:00, 8:15, │ │
│ 8:30, 8:45) │ │
└─────────┬───────┘ │
│ │
▼ │
┌─────────────────┐ │
│ Create video │ │
│ segment & │ │
│ upload (~:15) │ │
└─────────┬───────┘ │
│ │
│ Every 15 min
│ at :30 seconds
│ │
│ ▼
│ ┌─────────────────┐
│ │ Process at │
│ │ :30 mark │
│ │ (8:00:30, 8:15: │
│ │ 8:30:30, etc) │
│ └─────────┬───────┘
│ │
│ ▼
│ ┌─────────────────┐
│ │ Create video │
│ │ segment & │
│ │ upload (~:45) │
│ └─────────┬───────┘
│ │
▼ ▼
┌─────────────────────────────────────────┐
│ WEB SERVER │
│ │
│ Receives uploads 30 seconds apart: │
│ • Amcrest at :15 (8:00:15, 8:15:15) │
│ • Reolink at :45 (8:00:45, 8:15:45) │
│ │
│ APPENDS each segment to daily videos │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────┐
│ 8 DAILY VIDEOS │
│ │
│ Amcrest: │
│ • day.mp4 │
│ • evening.mp4 │
│ • night.mp4 │
│ • sunset.mp4 │
│ │
│ Reolink: │
│ • day.mp4 │
│ • evening.mp4 │
│ • night.mp4 │
│ • sunset.mp4 │
└─────────────────┘
Key Benefits of This System
1. Smooth Operation
- 30-second staggering prevents both cameras from overwhelming the server simultaneously
2. Efficient Processing
- Appending new segments takes 2-3 seconds instead of rebuilding entire videos (which could take minutes)
3. Real-time Viewing
- Videos are always up-to-date and viewable immediately after each segment arrives
4. Automatic Seasonal Adjustment
- Sunset videos automatically adjust timing as seasons change (using Douglas, Michigan coordinates)
5. Reliable Backup
- Original photo segments kept for 24 hours in case videos need rebuilding
Timeline Example (8:00am – 8:15am)
Time | Amcrest Activity | Reolink Activity |
---|---|---|
8:00:00 | Starts processing 60 photos into video segment | Taking photos |
8:00:15 | Uploads completed segment to server | Taking photos |
8:00:30 | Taking photos | Starts processing 60 photos into video segment |
8:00:45 | Taking photos | Uploads completed segment to server |
Result: Server receives two uploads 30 seconds apart, appends each to the appropriate daily videos, and viewers can watch the growing timelapse in real-time.