GuestLens How uploads work

Reference

How uploads work

Uploads are the part of GuestLens that got the most care, because they are the part most likely to go wrong: a phone, on venue Wi-Fi shared by 150 people, sending a large video to a cheap server. This page explains what happens, so you can answer a host's questions.

How a big file gets through a small limit

  1. Ask the serverThe browser asks your server how much it can take in one request. GuestLens reads your real PHP settings at that moment.
  2. Make photos smallerOn the phone, the longest edge of a photo becomes 2560 pixels. A 6 MB photo becomes about 2 MB. Videos are not changed.
  3. Cut into piecesThe file is cut into pieces that fit inside your upload limit, so no request is ever too big or too slow.
  4. Retry and resumeA piece that fails is sent again. If the connection drops, the upload pauses and continues later, even after the tab was closed. Unfinished uploads are kept for 24 hours.
  5. Put it togetherYour server joins the pieces in the background, makes the thumbnails, and files the photo away. This is why cron matters.

For example, on a host that accepts 2 MB per request, GuestLens sends pieces of 1.6 MB. A 100 MB video goes up in about 63 pieces, and the server never handles more than 1.6 MB at a time. System health shows the piece size your server uses.

File limits

Four places limit uploads, and the smallest always wins: the plan the host bought, the event's own settings, your site-wide limits under Settings, and the space left in the event.

TypeAcceptedDefault limit
PhotosJPEG, PNG, WebP, HEIC, HEIFThe largest file set in Settings (100 MB)
VideosMP4, MOV, WebM60 seconds and 100 MB, lower on cheaper plans
Voice notesRecorded in the browser60 seconds

If a file cannot be put together after three tries, the host sees it under Needs attention on the Moderation tab. The video length is checked in the browser and again on your server. A file's type is read from the file itself, not from its name, so a renamed file cannot get in.

Full quality

A photographer may want the untouched originals. Each event has an Upload photos at full quality switch in its settings. It is off by default, because it uses much more storage and makes uploads slower on venue Wi-Fi.

HEIC and very large photos

Some photos arrive in a form your server cannot make a preview from: HEIC photos from an iPhone, and very large photos (over 50 megapixels, or more than your PHP memory limit can open). GuestLens keeps them exactly as they arrived. The host sees and downloads them as usual. Guests see a plain placeholder instead, because the original may still contain the place where it was taken.

Video

The small picture shown before a video plays is made by the guest's own browser and uploaded with the video. Your server does not need ffmpeg and never converts anything. If a browser cannot read the video, the upload still works, and the video gets a plain play icon instead of a picture.

If your plans allow video uploads (the Video uploads option on a plan), use S3-compatible storage. Serving large videos through PHP on shared hosting is slow.