Time-Lapse FAQ: Common Questions & Troubleshooting
Find answers to the most common questions about webcam.io time-lapse features. Can’t find what you’re looking for? Contact us.
Camera Setup
What is the image URL of my IP camera?
The snapshot URL varies by camera brand. Try these methods:
- Search online:
[your camera model] snapshot URLor[camera model] JPEG URL - Camera database: ispyconnect.com/cameras — 10,000+ models
- Camera web interface: Look in Network, Streaming, or Video settings
Common formats:
| Brand | Snapshot URL Format |
|---|---|
| Hikvision | http://IP/ISAPI/Streaming/channels/101/picture |
| Axis | http://IP/axis-cgi/jpg/image.cgi |
| Dahua | http://IP/cgi-bin/snapshot.cgi |
| Foscam | http://IP/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2 |
See also: Time-Lapse Setup Guide
How can I use a password-protected camera?
Include username and password in the URL:
http://username:password@your-camera-ip/snapshot.jpg
Special characters in password?
URL-encode special characters or use a simpler password:
| Character | Encoded |
|---|---|
@ |
%40 |
: |
%3A |
/ |
%2F |
# |
%23 |
? |
%3F |
Advanced authentication required?
Some cameras require digest or NTLM authentication. Enable “Use advanced HTTP authentication” in Webcams → Edit → Advanced Settings.
My camera image is always the same — why?
Your camera or network is likely caching images. Add a timestamp parameter to bypass the cache:
http://your-camera/snapshot.jpg?{timestamp}
webcam.io automatically replaces {timestamp} with a unique value for each request.
Already have a timestamp parameter?
Replace it with our variable:
# Before
http://camera/img.jpg?t=1234567890
# After
http://camera/img.jpg?t={timestamp}
How do I connect a USB webcam?
USB webcams aren’t directly supported, but you can use capture software:
Windows:
Mac/Linux:
fswebcam— Command-line captureffmpeg— Advanced capture options
Setup process:
- Configure software to capture JPEG snapshots
- Set up scheduled FTP upload to
ftp.webcam.io - Use your webcam.io FTP credentials
See: Script-Based Upload
FTP Upload
How can I upload images with a script?
Use any FTP client. Here’s an example with lftp:
lftp -e "put image.jpg; bye" -u USERNAME,PASSWORD ftp.webcam.ioRaspberry Pi example:
#!/bin/bash
# Capture and upload
fswebcam -r 1920x1080 /tmp/webcam.jpg
lftp -e "put /tmp/webcam.jpg; bye" -u user_abc123,secretpass ftp.webcam.ioSchedule with cron:
* * * * * /home/pi/upload.sh
See: FTP Setup Guide
FTP test succeeds but no images appear — why?
The FTP test only verifies login credentials. You also need to:
- Configure capture schedule in your camera
- Enable FTP upload for scheduled snapshots (not just motion events)
- Match intervals — camera interval should match webcam.io settings
Hikvision: Configuration → Storage → Schedule Settings → Capture
Axis: Settings → Events → Rules (create scheduled event)
Dahua: Setup → Storage → Schedule → Snapshot
FTP connection fails — how do I fix it?
Checklist:
| Issue | Solution |
|---|---|
| Wrong credentials | Re-check username/password (case-sensitive) |
| DNS resolution fails | Use static IP instead: see Static IPs |
| Passive mode disabled | Enable passive mode in camera settings |
| Firewall blocking | Allow outbound port 21 |
| Extra spaces | Remove any leading/trailing spaces in credentials |
Test FTP manually:
ftp ftp.webcam.io
# Enter username and password when promptedText Overlays
How do I use dynamic text overlays?
Dynamic overlays let you display changing information (weather, sensor data) on your images.
1. Configure in Dashboard:
Go to Webcams → Edit → Text Overlays, add:
{dynamic_text1}
2. Update via API:
curl -X PUT "https://webcam.io/api/webcams/WEBCAM-ID" \
-H "Content-Type: application/json" \
-H "X-Auth-Email: your@email.com" \
-H "X-Auth-Key: YOUR-API-KEY" \
-d '{"dynamic_text1": "Temperature: 23°C"}'3. Or pull from URL:
{url:http://your-server.com/weather.txt}
The file should contain plain text (max 240 characters).
See: Text Overlays Documentation | API Reference
What variables can I use in text overlays?
| Variable | Output |
|---|---|
{timestamp} |
Current date/time in your timezone |
{date} |
Current date |
{time} |
Current time |
{dynamic_text1} |
API-updated text variable 1 |
{dynamic_text2} |
API-updated text variable 2 |
{dynamic_text3} |
API-updated text variable 3 |
{url:http://...} |
Text fetched from URL |
Videos & Downloads
What is the permanent link to my latest image?
# Standard resolution (640×480)
https://assets1.webcam.io/w/WEBCAM-ID/latest.jpg
# HD resolution (up to 1920×1080, paid plans)
https://assets1.webcam.io/w/WEBCAM-ID/latest_hd.jpg
# Small thumbnail (240×180)
https://assets1.webcam.io/w/WEBCAM-ID/latest_sm.jpg
# Animated preview (GIF)
https://assets1.webcam.io/w/WEBCAM-ID/preview.gif
Find your Webcam ID in Dashboard → Webcams.
How do I download time-lapse videos?
Daily videos:
- Go to Dashboard → Videos
- Select camera and date
- Click download link (MP4, WebM)
Image archives (ZIP):
- Go to Dashboard → Image Export
- Select camera and date range
- Request export — you’ll receive an email with download link
Clips:
- On webcam page, create a clip (mark in/out points)
- Wait a few minutes for rendering
- Download from clip page
Why is my video flipped/mirrored?
Some camera models output mirrored images.
Fix:
- Go to Webcams → Edit → Advanced Settings
- Enable “Flip horizontal” or “Flip vertical”
- Save — new videos will be corrected
This only affects future videos.
Can I delete all images from a specific day?
Yes:
- Go to your webcam page
- Find the day in the “Days” list
- Click the trash icon next to the day
You can also delete an entire week or all images. See “Delete images and clips” box on the webcam page.
Deletion is permanent and also removes any clips from that period. Allow a few minutes for deletion to complete.
Widgets & Embedding
Which values can I use for custom widget ranges?
Relative time:
7 days ago 12:30
3 days ago
yesterday 2am
50 minutes ago
Weekday-based:
last week monday 00:00
last week sunday 23:59
last sunday 10:00
Specific time:
12:00
14:30
6:31am
Date-specific:
2025-01-15 08:00:00
January 15 at 7pm
Important: If the range is invalid or outside your storage period, the default range is shown instead.
Why doesn’t my widget load?
Common causes:
| Issue | Solution |
|---|
Invalid Webcam ID | Verify ID in dashboard |
Custom range error | Check range syntax |
Range outside storage | Use a range within your plan’s storage period |
YouTube Export
My YouTube upload isn’t working — how do I fix it?
Step 1: Re-authorize
Go to Dashboard → Integrations → YouTube → Click “Re-authorize”
Step 2: If still not working
- Go to Google Account Security
- Find “webcam.io” in connected apps
- Remove the connection
- Return to webcam.io and authorize again
Step 3: Check YouTube requirements
- Your YouTube account must have live streaming enabled
- Verify at youtube.com/features
Troubleshooting
Images not appearing or listed in dashboard
For Image URL (pull) method:
- Test URL in browser — should show JPEG image
- Check URL is accessible from internet (not local IP)
- Add
{timestamp}to bypass caching - Enable “Advanced HTTP authentication” if needed
For FTP upload:
- Verify credentials (check for spaces)
- Enable passive mode
- Check capture schedule is configured in camera
- Try static IP if DNS doesn’t resolve
Dashboard shows “empty file” errors
Causes:
- Camera requires digest authentication
- Image URL returns HTML instead of JPEG
- Network timeout
Solutions:
- Enable “Use advanced HTTP authentication” in Advanced Settings
- Verify URL returns a JPEG (not a login page)
- Check camera/network stability
Time-lapse playback is slow
If using long time ranges (week/month):
- Many images need to load
- Use shorter ranges for faster loading
If recent footage:
- Check your internet connection
- Try a different browser
Still Have Questions?
- Contact Support — We typically respond within 24 hours
- Live Streaming FAQ — Questions about live streaming
- API Reference — For developers