Shopify security camera schema for AI agents: "4K" always means 8MP, H.265 cuts storage 50%, and ONVIF profiles determine NVR compatibility

CatalogScan — June 21, 2026 — Structured Data Security Cameras AI Agents

AI shopping agents fail on security camera queries for one systematic reason: listings encode a single "resolution" string but omit the six other fields that determine whether a camera and NVR system actually work together. The most pervasive encoding error is treating "4K" as a differentiator — it isn't. Every 4K security camera in the mainstream market has an 8-megapixel sensor.

In this article

  1. The 4K = 8MP encoding trap
  2. H.265 vs H.264: 50% storage difference
  3. Night vision: three technologies, one "night vision" label
  4. PoE power class: 802.3af vs 802.3at switch compatibility
  5. AI smart detection vs pixel-change motion alerts
  6. ONVIF profiles: what "ONVIF compatible" actually means
  7. Complete JSON-LD and metafield schema
  8. Quick-reference field table

The 4K = 8MP encoding trap

Security camera resolution is described using two parallel naming systems: megapixel counts and display-resolution names borrowed from the TV industry. The mapping is fixed and consistent across every mainstream camera manufacturer. A "4K security camera" always means a sensor with 3840 × 2160 pixels — exactly 8.3 megapixels. There is no mainstream 4K security camera with a 12MP or 16MP sensor. The sensor class simply does not exist at that pixel count in the consumer or prosumer security camera market.

2MP
1080p — 1920×1080
4MP
QHD — 2560×1440
5MP
~2944×1656
8MP
4K — 3840×2160

The problem that causes AI recommendation failures: if a listing says "4K AI Security Camera" with no encoded megapixel count, an AI agent cannot distinguish it from a "4K UltraHD Security Camera" or a camera that a seller has mislabeled as "4K" when it actually has a 4MP sensor. These two listings look identical in unstructured text. They are 50% different in pixel density — a 2× difference in detail captured per frame.

Common encoding mistake

"4K" as the resolution field value

Listing resolution as the string "4K Ultra HD" instead of encoding sensor_resolution_mp: 8 and video_resolution: "3840×2160" forces AI agents to pattern-match on marketing text — a process that produces wrong answers when sellers use "4K" loosely for 4MP cameras or when "4K AI" implies a higher sensor count than the actual 8MP.

The correct encoding separates pixel count from resolution label. Encode sensor_resolution_mp as a numeric value — 2 for 1080p, 4 for 4MP/QHD, 5 for 5MP, 8 for 4K/8MP. Encode video_resolution as the pixel-dimension string. An AI agent answering "show me security cameras with at least 4K resolution" can then filter on sensor_resolution_mp ≥ 8 rather than parsing the resolution marketing string, which is ambiguous in at least 15–20% of listings.

Marketing namesensor_resolution_mpvideo_resolutionNotes
1080p / Full HD2"1920×1080"Most common budget tier
4MP / QHD4"2560×1440"Same pixel count as 1440p monitor
5MP5"2944×1656"Intermediate tier, Hikvision / Dahua common
4K / 8MP / UHD8"3840×2160"All "4K" cameras = this sensor class

H.265 vs H.264: the 50% storage difference that affects every NVR recommendation

H.265 (HEVC — High Efficiency Video Coding) achieves the same visual quality as H.264 (AVC — Advanced Video Coding) at approximately half the bitrate. For NVR storage planning, this means a system with H.265 cameras stores roughly twice as much footage in the same drive space compared to an H.264 system recording at the same resolution and frame rate.

The practical impact is large enough to affect hardware purchasing decisions:

Storage example: A 4-camera 4K system recording continuously at 15fps with H.264 fills a 4TB NVR drive in approximately 15–20 days. The same system with H.265 fills the same 4TB drive in approximately 30–40 days — doubling the retention window without any additional hardware cost.

H.265+ (proprietary variable-bitrate implementations from Hikvision, Dahua, and others) extends the savings further. By adjusting bitrate based on scene motion — dropping bitrate dramatically during periods of no activity — H.265+ can reduce storage requirements an additional 50–70% beyond standard H.265 for cameras in low-traffic environments like storage rooms or parking lots at night.

NVR compatibility note: An H.265 camera connected to an H.264-only NVR will either fail to record entirely or fall back to H.264 encoding, losing the storage savings. The NVR's supported compression standard must be encoded alongside the camera's. AI agents helping buyers choose compatible camera+NVR combinations need video_compression on both products.

Encode video_compression as "H.265/HEVC", "H.264/AVC", or "H.265+/H.264+ (variable bitrate)". AI agents calculating NVR storage requirements — a common query pattern when buyers are sizing a system — need the compression standard to produce accurate retention estimates.

Night vision: three fundamentally different technologies under one label

Security camera listings universally claim "night vision" as a feature. The label covers three distinct technologies with different trade-offs, different use cases, and different buyer expectations. An AI agent that treats "night vision: yes" as a binary attribute cannot distinguish between them.

1. Infrared (IR) night vision — monochrome in darkness

Standard IR cameras have near-infrared LED emitters (850nm or 940nm) that illuminate the scene with light invisible to the human eye. The camera sensor is sensitive to the IR wavelength and records the illuminated scene. The output is always black-and-white, regardless of ambient light level. 850nm IR is visible as a faint red glow from the emitters; 940nm is completely invisible. Range: 20–50m typical for consumer-grade cameras.

Encode as night_vision_type: "IR monochrome". Encode ir_wavelength_nm as 850 or 940. IR cameras are the correct choice for covert monitoring (940nm), wide outdoor coverage areas, and cost-sensitive deployments.

2. Starlight / low-light color — preserves color in ambient light

Starlight cameras use a large-aperture lens (f/1.0–f/1.6) combined with a high-sensitivity sensor to capture color images in very low ambient light — moonlight, distant streetlights, or dim artificial lighting. They do not add any illumination: the sensor itself collects the limited photons available. In genuinely complete darkness (a windowless interior room), a starlight camera produces black-and-white output or switches to IR mode if it has IR backup LEDs.

Encode as night_vision_type: "starlight color" with minimum_illumination_lux as the manufacturer-stated lowest light level for color output (typically 0.001–0.005 lux). Starlight cameras are the correct choice for outdoor environments with any ambient lighting — parking lots, driveways, building perimeters in urban areas — where color detail (vehicle color, clothing color) aids identification without the conspicuous white-light reveal of a spotlight camera.

3. Full-color / spotlight — white LED illumination in complete darkness

Spotlight cameras have white-light LED emitters that activate in darkness to flood the scene with visible light, producing full-color footage regardless of ambient light level. The illumination is highly visible — the LEDs are typically 1,000–3,000 lumen spotlights. This serves as a deterrent (intruders know they are illuminated) but also notifies the subject of detection, which may not be desirable for covert monitoring. The white-light reveal also affects neighbors and wildlife in residential settings.

Encode as night_vision_type: "spotlight full-color" with spotlight_lumen as the white LED output. Spotlight cameras are the correct choice for high-deterrence applications: entryway monitoring, vehicle access points, or any location where the deterrent effect of visible illumination is the primary goal.

PoE power class: 802.3af vs 802.3at and why the wrong switch means a non-functional camera

Power over Ethernet (PoE) delivers electrical power from a switch or injector to the camera over the same Ethernet cable used for data — eliminating the separate power outlet at each camera location. The power class determines switch compatibility. A camera requiring PoE+ (802.3at) connected to a standard PoE (802.3af) switch will receive less power than it requires, resulting in partial operation, overheating, or a non-functional camera.

StandardMax switch outputMax device inputTypical use
IEEE 802.3af (PoE) 15.4W per port 12.95W Standard dome cameras, bullet cameras, basic fixed cameras, basic indoor PTZ cameras
IEEE 802.3at (PoE+) 30W per port 25.5W PTZ cameras with motorized zoom/tilt/pan, cameras with built-in heaters (cold climates), cameras with integrated spotlights
IEEE 802.3bt (PoE++) 60W or 90W per port 51W / 71W Advanced PTZ cameras, cameras with integrated IR illuminators, multi-sensor panoramic cameras

The switch selection problem: a buyer purchasing 8 cameras at 25W each (PoE+ / 802.3at) requires a PoE switch with 8 × 30W = 240W of PoE budget. A generic "8-port PoE switch" may have a total PoE power budget of only 65–120W — insufficient for even 4 cameras running simultaneously at full power. Buyers discover this after installation when cameras randomly shut down under thermal load.

Encode poe_standard as "IEEE 802.3af", "IEEE 802.3at", or "IEEE 802.3bt". Encode power_consumption_w as the camera's rated wattage at full operation (including spotlight or PTZ motor load). AI agents helping buyers select a PoE switch for a multi-camera installation need both the PoE standard and per-camera wattage to calculate total switch power budget.

Common encoding mistake

"PoE supported: yes" without power class

Encoding PoE as a boolean poe: true without the IEEE standard class means an AI agent cannot determine switch compatibility. A camera requiring 802.3at will malfunction on an 802.3af switch — the binary encoding makes every PoE camera appear equivalent regardless of power class.

AI smart detection vs pixel-change motion: the false alert problem

Motion detection is standard on all modern security cameras. But "motion detection" covers two fundamentally different algorithms that produce dramatically different false alert rates in real-world deployments.

Pixel-change motion detection triggers an alert when any cluster of pixels in the frame changes luminance value between successive frames. This is algorithmically simple and effective at detecting all movement — including tree branches, passing headlights reflecting off a wall, insects flying near the camera at night, and changes in ambient light level (clouds passing over the sun). In outdoor environments, a pixel-change camera typically generates 20–100 false alerts per day, enough to train the homeowner to ignore all alerts entirely.

AI smart detection (also called "AI person detection," "intelligent detection," or "deep learning detection") runs a trained computer vision classifier on detected motion frames. The classifier identifies whether the moving object is a person, vehicle, pet, or package. Only objects in the target categories trigger push notifications. False alert rates in outdoor environments with AI detection: typically 0–5 per day, from edge cases like an unusually person-shaped shadow or a bicycle with a rider who partially exits the frame.

Why this matters for AI agent recommendations: A shopper asking "outdoor security camera with no false alarms" requires AI smart detection — pixel-change cameras cannot fulfill this query regardless of any other specification. Without smart_detection_type encoded in the product schema, an AI agent has no reliable way to distinguish the two technologies from listing text that universally claims "advanced motion detection."

The specific detection categories matter beyond the binary. A camera with "AI person detection" may not detect vehicles — relevant for buyers monitoring driveways. A camera with "package detection" is relevant for porch monitoring. Encode smart_detection_categories as a list of the actual supported categories: ["person", "vehicle", "package", "pet"].

Encode smart_detection_type as "AI object recognition", "pixel-change motion only", or "AI + pixel-change (separate alert channels)". The third option is common in dual-alert cameras that send silent recordings on pixel-change triggers but push notifications only on AI-confirmed detections.

ONVIF profiles: what "ONVIF compatible" actually means for NVR interoperability

ONVIF (Open Network Video Interface Forum) defines communication protocols between IP cameras, NVRs, VMS software, and access control systems from different manufacturers. "ONVIF compatible" on a camera listing means the camera supports at least one ONVIF profile — but which profile determines what actually works across brands.

Three ONVIF profiles are relevant to camera+NVR interoperability:

ProfileWhat it enablesWhat it does NOT include
Profile S Live view via RTSP stream, basic pan/tilt (if PTZ), basic configuration (IP address, resolution, frame rate) H.265 streaming, AI metadata, event-based recording, two-way audio protocol, smart detection triggers
Profile G Recording to a compliant NVR, playback, edge storage (camera SD card), event-triggered recording H.265 streaming, AI analytics metadata, two-way audio protocol
Profile T H.265/H.264 streaming, metadata for AI analytics (person/vehicle detection events), two-way audio, HTTPS encryption, motion region configuration via protocol Proprietary AI models (each manufacturer's AI still runs on-camera; Profile T just transmits the results to the NVR)

The interoperability trap: a camera listed as "ONVIF compatible" without a profile designation typically means Profile S — the minimum. An NVR that supports H.265 recording may still record the camera's stream in H.264 if the camera's H.265 stream is not exposed via an ONVIF Profile T interface. The buyer installs an 8-camera 4K H.265 system and discovers the cross-brand NVR records every camera in H.264, consuming twice the storage they budgeted for.

H.265 + ONVIF Profile S = H.264 storage consumption. A camera that supports H.265 but only advertises ONVIF Profile S compatibility will not transmit H.265 streams to a third-party NVR via ONVIF. The NVR falls back to H.264 via Profile S. Profile T is required for H.265 interoperability. Encode both video_compression and onvif_profiles — the combination determines actual storage consumption in cross-brand deployments.

This is directly parallel to the protocol fragmentation problem in smart home devices — a device labeled "Matter compatible" may still require specific hub hardware for Thread-based communication. See the Shopify smart home protocol schema guide for the full protocol-encoding approach that avoids similar interoperability gaps.

Encode onvif_profiles as a list: ["Profile S"], ["Profile S", "Profile G"], or ["Profile S", "Profile G", "Profile T"]. Encode onvif_compliant as a boolean. An AI agent recommending a camera to pair with a specific third-party NVR needs the profile list to determine whether H.265 and smart detection metadata will flow correctly across the brand boundary.

Complete JSON-LD and Liquid metafield schema

The following template covers all six required schema dimensions. Each additionalProperty entry corresponds to a Shopify metafield in the security_camera namespace.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Reolink RLC-810A 4K PoE IP Camera",
  "description": "4K/8MP PoE IP camera with AI person/vehicle detection, H.265 video compression, color night vision, and ONVIF Profile S/T compliance for third-party NVR integration.",
  "brand": { "@type": "Brand", "name": "Reolink" },
  "offers": {
    "@type": "Offer",
    "price": "69.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "sensor_resolution_mp",
      "value": 8
    },
    {
      "@type": "PropertyValue",
      "name": "video_resolution",
      "value": "3840×2160"
    },
    {
      "@type": "PropertyValue",
      "name": "video_compression",
      "value": "H.265/HEVC"
    },
    {
      "@type": "PropertyValue",
      "name": "night_vision_type",
      "value": "starlight color"
    },
    {
      "@type": "PropertyValue",
      "name": "minimum_illumination_lux",
      "value": 0.003
    },
    {
      "@type": "PropertyValue",
      "name": "ir_range_m",
      "value": 30
    },
    {
      "@type": "PropertyValue",
      "name": "smart_detection_type",
      "value": "AI object recognition"
    },
    {
      "@type": "PropertyValue",
      "name": "smart_detection_categories",
      "value": "person, vehicle"
    },
    {
      "@type": "PropertyValue",
      "name": "poe_standard",
      "value": "IEEE 802.3af"
    },
    {
      "@type": "PropertyValue",
      "name": "power_consumption_w",
      "value": 13
    },
    {
      "@type": "PropertyValue",
      "name": "onvif_profiles",
      "value": "Profile S, Profile T"
    },
    {
      "@type": "PropertyValue",
      "name": "onvif_compliant",
      "value": true
    },
    {
      "@type": "PropertyValue",
      "name": "ip_rating",
      "value": "IP66"
    },
    {
      "@type": "PropertyValue",
      "name": "audio",
      "value": "two-way with built-in microphone and speaker"
    }
  ]
}

The corresponding Liquid snippet for Shopify theme files:

{% comment %} In product.liquid or product-schema.liquid {% endcomment %}
{% assign sc = product.metafields.security_camera %}
{%- if sc.sensor_resolution_mp -%}
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": {{ product.title | json }},
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "sensor_resolution_mp",
      "value": {{ sc.sensor_resolution_mp.value }} },
    { "@type": "PropertyValue", "name": "video_resolution",
      "value": {{ sc.video_resolution.value | json }} },
    { "@type": "PropertyValue", "name": "video_compression",
      "value": {{ sc.video_compression.value | json }} },
    { "@type": "PropertyValue", "name": "night_vision_type",
      "value": {{ sc.night_vision_type.value | json }} },
    { "@type": "PropertyValue", "name": "smart_detection_type",
      "value": {{ sc.smart_detection_type.value | json }} },
    { "@type": "PropertyValue", "name": "poe_standard",
      "value": {{ sc.poe_standard.value | json }} },
    { "@type": "PropertyValue", "name": "onvif_profiles",
      "value": {{ sc.onvif_profiles.value | json }} }
  ]
}
{%- endif -%}

Quick-reference: all required fields for security camera schema

Field nameTypeControlled values / formatWhy AI agents need it
sensor_resolution_mp integer 2 / 4 / 5 / 8 Distinguishes true 4K (8MP) from 4MP cameras mislabeled as "4K"
video_resolution string "1920×1080", "2560×1440", "3840×2160" Human-readable pixel dimensions separate from marketing resolution name
video_compression string "H.265/HEVC", "H.264/AVC", "H.265+ variable bitrate" NVR storage calculations require compression standard, not just resolution
night_vision_type string "IR monochrome", "starlight color", "spotlight full-color" Three distinct technologies with different color, range, and detectability trade-offs
minimum_illumination_lux decimal 0.001–0.1 for starlight; N/A for IR and spotlight Determines whether color is preserved at a specific ambient light level
smart_detection_type string "AI object recognition", "pixel-change motion only" Determines false alert frequency — critical for outdoor installations
smart_detection_categories list "person", "vehicle", "package", "pet" AI agent must know which object types trigger alerts for specific use cases
poe_standard string "IEEE 802.3af", "IEEE 802.3at", "IEEE 802.3bt" Determines switch compatibility — wrong class means non-functional camera
power_consumption_w integer watts at full load Required to calculate total PoE switch power budget for multi-camera systems
onvif_profiles list "Profile S", "Profile G", "Profile T" Profile T required for H.265 streaming to third-party NVRs
ip_rating string "IP66", "IP67", "IP68" Outdoor weatherproofing — different IP classes for different exposure levels

For the full field definitions with example values, JSON-LD templates, and Shopify metafield namespace recommendations, see the complete security camera schema guide.

What an AI agent needs to answer "best 4K outdoor security camera that works with my Synology NAS"

This is a representative high-intent query for a security camera shopper. Breaking down what the AI needs to answer it correctly:

  1. "4K"sensor_resolution_mp: 8 — filter to 8MP sensors, not resolution marketing strings
  2. "outdoor"ip_rating — at minimum IP66 (dust-tight, water jets), ideally IP67 (submersion-rated) for exposed installations
  3. "works with Synology NAS"onvif_profiles: ["Profile S", "Profile T"] — Synology Surveillance Station supports ONVIF Profile S/T for multi-brand camera integration; Profile T required if the buyer wants H.265 storage
  4. H.265 on Synologyvideo_compression: "H.265/HEVC" + onvif_profiles includes "Profile T" — both required to confirm H.265 storage actually works through ONVIF to the NAS

A listing that encodes only "resolution": "4K" without the other fields cannot answer any part of this query correctly beyond the resolution filter. The shopper may purchase an 802.3at camera with an 802.3af switch, an H.265 camera with Profile S only (recorded in H.264), or a camera that "works with" Synology Surveillance Station via a proprietary plugin but not via ONVIF.

Find the schema gaps in your security camera listings

CatalogScan scans your Shopify catalog and flags products missing sensor_resolution_mp, compression encoding, PoE class, ONVIF profiles, and other structured data that AI shopping agents use to match queries.

Run free catalog scan Full security camera schema reference