When a team says it wants to “do video analysis,” the request usually arrives as a single line item with a single hardware budget attached. That framing is where the cost problem starts. Video analysis is not one workload; it is a chain of distinct stages, each with its own compute profile and its own cost-per-output. Treat it as one homogeneous block, and you are forced into an all-or-nothing hardware bet — buy enough GPU to cover the heaviest stage and let it sit idle through the rest, or under-provision and bottleneck the whole pipeline. The more useful way to read “video analysis” is as a verb that decomposes. Decode the stream. Detect objects or events. Track them across frames. Classify what you found. Post-process the results into something a downstream system can use. Each of those verbs lands on different silicon for different reasons, and the gap between a naive uniform deployment and a decomposed one shows up directly in your monthly bill. How Does Video Analysis Work, and What Does It Mean in Practice? Concretely: a video stream arrives as compressed bytes — H.264, HEVC, AV1 — and almost nothing useful can happen until those bytes become pixels. So the first stage is decode. Then a model looks at the decoded frames and answers a question: where are the objects, is there motion, did an event occur? That is detection. Once you have detections, you usually want continuity — the same car across thirty frames is one car, not thirty cars — which is tracking. Then you often want a label richer than “object present”: vehicle make, jersey number, scene category. That is classification. Finally post-processing turns raw model output into structured records, alerts, indexes, or overlays. The reason this decomposition matters is economic, not academic. Decode is a fixed-function, throughput-bound job that dedicated hardware does extremely cheaply. Detection on a heavy convolutional or transformer backbone is the opposite — it is where the GPU actually earns its keep. Tracking is frequently lightweight bookkeeping that runs fine on a CPU core. The compute profiles diverge by an order of magnitude or more between stages, and a single hardware-sizing number cannot honor that spread. This is the same logic that governs when GPU-accelerated video analytics earns its cost in media pipelines: profiling the workload, not the vendor’s positioning, decides where acceleration pays for itself. The stage breakdown is simply the vocabulary you need to read that profile. The Stages of a Video-Analysis Pipeline and Their Compute Profiles Here is the stage decomposition with the compute character each stage typically carries. The figures below are directional planning heuristics drawn from patterns we see across video-analytics engagements, not a benchmarked rate for any specific system — your numbers depend on resolution, frame rate, model size, and stream count. Stage Job Typical home Bound by Cost character Decode Compressed bytes → pixels Fixed-function decoder (NVDEC) or CPU Throughput Very low per frame; near-free on dedicated hardware Detection Locate objects/events per frame GPU Compute (FLOPs) Dominant cost; scales with model size and resolution Tracking Associate detections across frames CPU Memory/logic Low; mostly bookkeeping Classification Label detected regions GPU (batched) or CPU Compute Moderate; batching amortizes well Post-processing Format, index, alert, overlay CPU I/O Low; rarely the bottleneck The single most important reading of this table: detection usually dominates the compute budget, while decode, tracking, and post-processing are comparatively cheap and frequently CPU-resident. That asymmetry is precisely why a monolithic “provision one big GPU box for video analysis” decision wastes money — you pay for accelerator capacity that three of the five stages never touch. NVIDIA’s published specifications make the decode point concrete: data-center GPUs ship dedicated NVDEC decode engines separate from the CUDA cores, so decode and inference can run concurrently without contending for the same execution units. That hardware fact is what makes “decode on the GPU’s fixed-function block, inference on the CUDA cores” a real placement option rather than a theoretical one. Which Stages Benefit From GPU Acceleration and Which Stay on CPU? The honest answer is that only some of them benefit, and which ones depend on your stream count and resolution. As a working rubric: Detection and heavy classification almost always belong on the GPU when you are running modern deep models — this is the stage where parallel throughput across thousands of cores collapses per-frame latency in a way no CPU can match. Decode belongs on a dedicated decode engine (NVDEC) if you have one, which keeps it off both the CPU and the CUDA cores; on systems without it, decode often stays on CPU. Tracking and post-processing usually stay on CPU. Moving a Kalman filter or an IOU-association step to the GPU rarely repays the host-to-device transfer cost. The trap here is what we describe in the GPU underutilisation pattern that leaves accelerator capacity idle: when you put every stage on the GPU because the deployment is undifferentiated, the lightweight stages create transfer overhead and serialization that strand the capacity you were paying for. A decomposed pipeline keeps each stage on the silicon where its economics work. Whether a stage is latency-bound or throughput-bound also changes the answer. Detection serving live alerts is latency-sensitive; the same detection running over an archive is throughput-sensitive and batches happily. The distinction between throughput and latency in AI inference is what tells you whether to size a stage for response time or for frames-per-dollar — and grounding your placement decision in that measurement reasoning is more reliable than assuming one number covers both regimes. How Do You Estimate Cost-per-Analytics-Hour From the Stage Breakdown? Once you can name which stages dominate your workload, cost-per-analytics-hour stops being a guess. The estimate is a sum over stages, not a single accelerator rental rate. Worked example, with explicit assumptions. Say you are analyzing 50 concurrent 1080p streams at 15 analyzed frames per second, with object detection plus tracking. Assume detection consumes roughly 80% of the per-frame compute, decode runs on NVDEC at negligible marginal cost, and tracking plus post-processing fit inside spare CPU cycles. Then your cost-per-analytics-hour is dominated almost entirely by how many detection-frames one GPU can sustain per second — not by the GPU’s headline FLOPs number, and not by decode at all. If one accelerator sustains the 750 detection-frames-per-second this workload demands, your per-stream cost is the GPU-hour rate divided across 50 streams; if it sustains only half that under realistic load, your cost-per-stream doubles. That “under realistic load” caveat is the whole game. Headline specs and synthetic benchmarks routinely overstate sustainable throughput, which is exactly why benchmark numbers fail to match real workloads — the only defensible cost-per-analytics-hour comes from measuring the detection stage under conditions like your actual stream mix, not from a spec sheet. Estimate from the dominant stage, measure it under load, and the number holds up to scrutiny. Where Does Video Analysis Sit Between Server-Side and Edge? The server-versus-edge choice is driven by the same per-stage thinking, applied to where the bytes are and how fast the answer must come back. Edge deployment wins when bandwidth to ship raw video is prohibitive, when latency must be sub-second at the camera, or when privacy demands that frames never leave the premises. Server-side wins when you can centralize accelerators, batch across many streams, and tolerate the round-trip. In practice many production systems split the pipeline across the boundary: run decode and a lightweight detection model at the edge to discard uninteresting frames, then ship only candidate frames to a server-side GPU for heavy classification. That hybrid placement is only visible once you have decomposed the pipeline — a monolithic view cannot express “this stage at the edge, that stage in the data center.” What it actually means for a stage to run in real time, and where that constraint forces edge placement, is something we treat separately in what real-time computing actually means in video-analytics pipelines. This stage-aware reasoning underpins the broadcast and media-analytics workloads on our media and telecom industry work — the placement decision is the deliverable, and it follows directly from the stage profile. How a Per-Stage View Changes a Hardware-Sizing Decision Compare the two mental models on a single decision: you have 200 camera streams and a fixed budget. The monolithic view sizes for the peak: enough GPU to run every stage on every stream, sized against the heaviest stage running everywhere. You buy a fleet, and most of it is idle during decode, tracking, and post-processing. The decomposed view sizes each stage independently: decode on NVDEC, detection on a right-sized pool of GPUs shared across streams via batching, tracking and post-processing on CPU. You buy a fraction of the accelerator capacity and run it hot. The avoided cost of the fleet-wide GPU rollout — the GPUs you did not buy because only detection needed them — is the entire ROI of thinking this way. That avoided spend is, in our experience, the single largest line item the decomposition recovers. The reframe is simple to state and hard to unlearn: video analysis is a portfolio of stages with different economics, and you place each one where its economics work. AI vs Classical Computer Vision, and Where General Models Fit Two more questions come up constantly, and both touch the stage profiles directly. First, AI-based versus classical computer-vision analysis. Classical methods — background subtraction, optical flow, Haar-style detectors built on OpenCV — are cheap and often CPU-resident, which changes the whole profile: a motion-triggered classical detector might keep the entire pipeline off the GPU until something actually moves. AI-based detection on deep backbones is more capable and more general but shifts the dominant cost squarely onto the accelerator. The choice is not “newer is better”; it is which method’s compute profile fits your accuracy requirement and your budget. We go deeper into that trade-off in our explanation of how AI video analytics works in practice. Second, can general-purpose models like ChatGPT do video analysis? Multimodal large models can describe a frame or reason about a short clip, and they are genuinely useful for open-ended, low-volume understanding — “summarize what happens in this segment.” They are not a fit for the high-throughput detection-and-tracking core of a production pipeline: the per-frame cost and latency are orders of magnitude too high to run on 200 streams at 15 frames per second. The realistic place for a general model is a post-processing or triage stage — describing or labeling the candidate clips a cheaper detector has already surfaced — not the dominant per-frame stage. FAQ How does video analysis work, and what does it mean in practice? A video stream arrives compressed and is decoded into pixels, then a detection stage locates objects or events per frame, a tracking stage associates them across frames, a classification stage labels them, and a post-processing stage turns the output into records or alerts. In practice it means treating analysis as a chain of distinct stages rather than one workload, because each stage has its own compute profile and cost. What are the distinct stages of a video-analysis pipeline and how do their compute profiles differ? The stages are decode, detection, tracking, classification, and post-processing. Decode is throughput-bound and near-free on a dedicated decode engine; detection is compute-bound and usually dominates the GPU budget; tracking is lightweight bookkeeping that runs on CPU; classification is moderate and batches well; post-processing is I/O-bound and rarely a bottleneck. The profiles diverge by an order of magnitude or more. Which video-analysis stages typically benefit from GPU acceleration and which stay on CPU? Detection and heavy classification almost always belong on the GPU because parallel throughput collapses per-frame latency. Decode belongs on a dedicated decode engine like NVDEC when available, and tracking plus post-processing usually stay on CPU because moving them to the GPU rarely repays the host-to-device transfer cost. How do you estimate cost-per-analytics-hour once you understand the stage breakdown? You sum the cost over stages rather than quoting one accelerator rate, and because detection typically dominates, the estimate is driven by how many detection-frames one GPU sustains per second under realistic load. The only defensible number comes from measuring the dominant stage under conditions like your actual stream mix, since headline specs routinely overstate sustainable throughput. Where does video analysis sit between server-side and edge deployment, and what drives that choice? Edge wins when bandwidth to ship raw video is prohibitive, latency must be sub-second, or privacy demands frames stay on premises; server-side wins when you can centralize accelerators and batch across many streams. Many production systems split the pipeline — lightweight detection at the edge to discard uninteresting frames, heavy classification on a server-side GPU — which is only expressible once the pipeline is decomposed. How does a per-stage view of video analysis change a hardware-sizing decision compared with treating it as one workload? A monolithic view sizes for the heaviest stage running everywhere, buying a GPU fleet that sits idle during decode, tracking, and post-processing. A decomposed view sizes each stage independently — decode on NVDEC, detection on a right-sized shared GPU pool, the rest on CPU — and the avoided cost of the GPUs you did not buy is the ROI of the decomposition. Can general-purpose AI models like ChatGPT perform video analysis, and where do they fit? Multimodal large models can describe a frame or summarize a short clip and are useful for open-ended, low-volume understanding. They are not a fit for the high-throughput detection-and-tracking core of a production pipeline because per-frame cost and latency are far too high at scale; their realistic place is a post-processing or triage stage over clips a cheaper detector has already surfaced. What is the difference between AI-based video analysis and classical computer-vision video analysis, and how does that choice affect per-stage compute profiles? Classical methods like background subtraction and optical flow are cheap and often CPU-resident, which can keep the whole pipeline off the GPU until motion occurs. AI-based detection on deep backbones is more capable and general but shifts the dominant cost onto the accelerator, so the choice is about which method’s compute profile fits your accuracy requirement and budget — not which is newer. The Question to Profile Before You Buy The question worth carrying out of this is not “how much GPU does video analysis need,” but “which stage of my video analysis actually needs it, and at what sustained throughput under my real stream mix.” Answer the second question with a per-stage profile before you commission a fleet, and the first question answers itself — usually for far less hardware than a monolithic estimate would have bought.