A Rekognition Streaming Video alternative for new projects

Amazon Rekognition Streaming Video stopped taking new customers on April 30, 2026. Pictograph runs a detector you train on live video from RTSP cameras, browsers, and phones, and returns every frame's results as it is processed.

Pictograph vs Rekognition Streaming Video

What each does with a live camera, from AWS's documentation and Pictograph's.

Pictograph compared with Rekognition
Feature Pictograph Rekognition
Open to new customers No, since April 30, 2026
What it detects Any class you train People, packages, and pets
Bring your own model –
Video in RTSP, WebRTC (WHIP / WHEP), files Kinesis Video Streams
Results for every frame Alerts + session summary
Tracking, line counts, dwell time Workflows –
Events to your systems Signed webhooks Amazon SNS + S3
Face search against a collection –
Run the model on your own hardware ONNX, TensorRT, ExecuTorch –

Where Pictograph fits

New camera projects that need more than three labels, or results for every frame rather than an alert per session. You train the detector on your own footage, deploy it as a TensorRT endpoint on a GPU in us-east or us-west, and stream to it directly. Workflows add tracking, line-crossing counts, dwell time, and webhooks on top.

Where Rekognition leads

Face search against a face collection, which Pictograph does not do, and people, package, and pet detection with no training at all. If you already run stream processors in an account that keeps access, the all-AWS pipeline (Kinesis Video Streams, SNS, S3) keeps working.

Stream a camera to your detector

Once the model is deployed, one command or a few lines of Python replace a stream processor.

# One JSON line per frame; Ctrl-C stops the stream
pictograph deployments stream door-cam-detector rtsp://camera.example.com:554/live --token pk_deploy_...
from pictograph import Client, DetectionResult

client = Client()
deployment = client.deployments.get(
    deployment="door-cam-detector",
)
infer = client.deployments.connect(
    deployment=deployment,
    api_key="pk_deploy_...",
    task="object_detection",
)

with infer.open_stream(source="rtsp://camera.example.com:554/live") as stream:
    for frame in stream.frames():
        result: DetectionResult = frame.result
        print(frame.index, [p.name for p in result.predictions])

The deployment pulls the RTSP camera itself; a browser or an app can push its own video over WebRTC instead. Each frame's detections come back as it is processed; a camera that stops sending does not end the stream, and idle_timeout tells your code when no frame has arrived for a while. The streams guide covers every source, the live view with detections drawn on it, and the REST API.

Move a stream processor in four steps

Rekognition's labels came pretrained; here the model is yours, so the first three steps build it.

  1. Collect frames

    Upload a few hundred frames from your cameras, or a short recording that Pictograph splits into frames.

  2. Draft and review labels

    SAM3 drafts every "person", "package", or "dog" from a text prompt. You review the drafts before training.

  3. Train a detector

    Export the reviewed dataset and train an RF-DETR or YOLOX detector on a managed GPU.

  4. Deploy and stream

    Deploy the model on a T4, L4, or A100, then stream your cameras to it, or serve a workflow that sends a webhook when a person appears.

The video API extracts frames, auto-annotation covers SAM3's prompts, the training guide walks through a run, and deployments and live workflows cover the endpoint and its webhooks.

Rekognition Streaming Video alternative FAQ

Is Amazon Rekognition Streaming Video being discontinued?

It is closed to new customers. AWS stopped offering Rekognition Streaming Video (and Bulk Image Analysis) to new customers on April 30, 2026. Accounts that used it in the previous 12 months keep access, and the rest of Rekognition is unaffected. AWS points new projects at running the Rekognition Image API on frames you extract yourself.

Can Pictograph detect people, packages, and pets like Rekognition did?

Yes, once you train a detector for them. Rekognition shipped those three labels pretrained; on Pictograph the model is yours. Upload frames from your cameras, let SAM3 draft "person", "package", and "dog" labels from text prompts, review the drafts, and train an RF-DETR or YOLOX detector on the export. A small run is usually a few dollars, and the model can also detect anything else your cameras need to see.

How does video get to Pictograph without Kinesis?

Three ways. A deployment can pull an RTSP camera or a WHEP source itself; your own sender (a browser webcam, a phone, an app) can push over WebRTC with WHIP; or you send single images to the /predict endpoint. A stream returns each frame's detections as it is processed over a WebSocket or a WebRTC data channel, so there is no Kinesis video stream, data stream, or S3 bucket to set up.

How do I get an alert when a person appears?

Serve a workflow on the stream. A workflow runs your model, tracks objects across frames, and can send a signed webhook when a new object of a class appears, when one crosses a line, or when it enters, leaves, or lingers in a zone. Each event is also logged, and an annotations output can save the frame to a dataset for review.

What does Rekognition do that Pictograph does not?

Face search. A Rekognition face search stream processor matches faces in live video against a face collection; Pictograph does not identify people. Rekognition also needs no training for its three labels and plugs straight into Kinesis, SNS, and S3, and existing customers keep using it. If face identification or a pretrained, all-AWS pipeline is the requirement, stay with Rekognition while you have access.

Run your own detector on live video

$5 of free compute every month. No card required.