Skip to content
Import & Ingestion

Camera RAW vs. JPEG Ingestion & High-Speed Proxy Pipeline

Supported camera RAW formats, upload limits, client vs server Sharp proxy generation, and performance optimization.

High-Throughput Proxy Architecture

Photographers demand uncompromised image fidelity while requiring snappy, zero-latency browser performance when reviewing thousands of images. BestShots.AI delivers both by pairing client-side Web Worker extraction with direct-to-cloud proxy streaming (ADR 0015). Original camera RAW sensor bytes remain 100% on your local workstation, while high-fidelity 2048px WebP inspection proxies are uploaded to the cloud in seconds.


Supported Camera RAW & Image Formats

BestShots provides native ingestion support for 21 authentic camera RAW and raster formats across all major camera manufacturers:

Manufacturer / StandardFile ExtensionsNotes & Specifications
Sony Alpha.ARW, .SRF, .SR2Uncompressed, Lossless Compressed, and Compressed RAW from all A7, A1, A9, and FX series cameras.
Canon EOS.CR3, .CR2, .CRWDual Pixel RAW, C-RAW (Compact RAW), and standard RAW formats across modern mirrorless and legacy DSLRs.
Nikon Z & D.NEF, .NRWLossless 14-bit and High Efficiency RAW (HE*) from Z9, Z8, Z6/Z7, and legacy D-series bodies.
Fujifilm X & GFX.RAFX-Trans sensor patterns and medium format GFX RAW files.
Panasonic Lumix.RW2Micro Four Thirds and full-frame Lumix S series RAW captures.
Olympus / OM System.ORFHigh-resolution shot modes and standard OM System captures.
Leica & Adobe.DNG, .RWLUniversal digital negatives, Leica M/SL series, and aerial drone DNG captures.
Hasselblad.3FR, .FFFMedium format captures from X and H system digital backs.
Phase One.IIQHigh-bitrate IQ series commercial medium format files.
Pentax.PEFPentax K-series DSLR and mirrorless RAW captures.
Kodak & Leaf.KDC, .MOSArchival and legacy digital medium format studio captures.
Apple iOS / macOS.HEIC, .HEIFHigh Efficiency Image Container photos from iPhones with depth maps and Apple ProRAW.
Standard Raster.JPG, .JPEG, .PNG, .WebP, .AVIFFull-resolution JPEG deliverables and modern web formats.

Smart Typo Guidance

If a file with a common extension typo is dragged into the dropzone (such as .awr instead of .arw, .rc3 instead of .cr3, or .fen instead of .nef), BestShots actively detects the typo and displays a guidance card indicating the correct camera manufacturer format.


Fast Cloud Ingestion Architecture (ADR 0015)

Traditional web applications attempt to upload whole 50MB to 100MB camera RAW files to serverless functions. For a 2,000-frame wedding or studio shoot, that requires uploading 60GB to 150GB of data, taking hours and often triggering timeouts or connection drops.

BestShots solves this via Previews-Only Cloud Ingestion (ADR 0015):

Direct Azure Blob Ingestion Architecture
50MB File Limit
1
Request SAS Token

Client requests time-bound upload SAS signature from BestShots API.

2
Direct Stream to Azure Blob

Browser streams up to 50MB RAW directly, bypassing the 4.5MB Vercel cap.

3
Event Grid & Sharp Proxy

Azure Functions extract EXIF tags and render 300x300 WebP proxies.

How It Works Under the Hood

  1. Chunked Binary Slicing: Using HTML5 File.slice(), dedicated background Web Workers inspect only the header and container chunks of local camera files. The massive multi-megabyte sensor data is never loaded entirely into browser RAM.
  2. ISP Embedded Preview Extraction: The exifr parser isolates the high-resolution JPEG preview generated directly by your camera's image signal processor (ISP) and embedded within the RAW container.
  3. Hardware-Accelerated Decoding: The browser's native createImageBitmap() decodes the preview on worker threads, applying EXIF orientation tags automatically.
  4. Normalized WebP Inspection Proxy: OffscreenCanvas renders an optimized 2048px WebP proxy (~250KB–500KB at 85% quality) and a 300px thumbnail.
  5. Lossless EXIF Metadata Preservation: Camera make, camera model, lens, focal length, shutter speed, aperture (f-number), ISO, and capture timestamp are parsed client-side with zero server round-trips.
  6. Direct Azure Blob Upload via SAS: Only the lightweight 2048px WebP inspection proxy is uploaded to Microsoft Azure Blob Storage using secure Shared Access Signature tokens.
  7. Over 95% Bandwidth Reduction: Ingesting a 50GB RAW shoot requires transmitting only ~1.2GB of WebP proxies. Uploads finish in 2 to 3 minutes instead of multiple hours.
  8. Zero Cloud RAW Exposure: Your master RAW files remain 100% on your local workstation or external SSD.

Network-Adaptive Concurrency

The client upload manager inspects browser navigator.connection metrics to optimize throughput:

  • Fast Broadband / Fiber (4G/5G/WiFi): Runs up to 4 parallel upload streams simultaneously.
  • Constrained / Mobile Connections (2G/3G): Automatically throttles down to 1 to 2 streams with chunked retries to prevent connection exhaustion.

Choose the strategy that fits your studio workflow:

  • Best For: All shoots, including studio sessions, weddings, and commercial projects.
  • How It Works: Drag your camera RAW files (.ARW, .CR3, .NEF, .RAF, etc.) directly into BestShots. The app extracts 2048px proxies locally in seconds, runs AI analysis, and exports an XMP Workflow Bundle.
  • Advantage: Zero pre-conversion required. Master RAW files stay safely on your computer.

Strategy B: Companion RAW+JPEG Shoot

  • Best For: Photographers who capture dual-slot RAW + JPEG in camera.
  • How It Works: Upload either the RAW files or companion JPEGs. Because camera files share identical base filenames (e.g. 080A0386.CR3 and 080A0386.JPG), exported .xmp sidecars pair seamlessly with both formats.
  • Sync Back: BestShots generates .xmp sidecars retaining original camera stems ({originalName}). Moving sidecars into your photo folder synchronizes ratings across both RAW and JPEG files simultaneously.