An AWS Panorama alternative, without the appliance

AWS Panorama stopped working on May 31, 2026. Pictograph runs your detector on your RTSP cameras on cloud NVIDIA GPUs, tracks and counts what it sees, and sends the events to your systems.

Pictograph vs AWS Panorama

Where each runs your model and what it does with a camera, from AWS's documentation and Pictograph's.

Pictograph compared with AWS Panorama
Feature Pictograph AWS Panorama
Available after May 31, 2026 No: shut down
Where the model runs Cloud NVIDIA GPUs (T4, L4, A100) An appliance on your site
Hardware to buy and maintain None The appliance and its cameras
Video in RTSP, WebRTC (WHIP / WHEP), files RTSP, H.264 only
Label images and train models –
Tracking, line counts, dwell time Workflows Your application code
Events to your systems Signed webhooks Your application code
Video stays on your site –
Run the model on your own hardware ONNX, ExecuTorch exports

Where Pictograph fits

Panorama applications whose cameras can reach the cloud, for teams that would rather not buy and run new edge hardware. AWS's advice for a rebuilt Panorama application is a GStreamer or DeepStream media pipeline with an NVIDIA inference runtime. A Pictograph deployment runs that pipeline for you, from decoding to TensorRT inference, tracking, counting, and webhooks, on a GPU in us-east or us-west, and labeling and training happen in the same place.

Where an on-site device still wins

Video that may not leave the site, a site with a weak uplink, or many cameras in one place, where sending every stream to the cloud costs more than a local server. Pictograph does not run on your hardware as a service. You can still train there and run the exported model on site, but the video pipeline around it is yours to build.

Point a camera at your detector

Once the model is deployed, one command or a few lines of Python replace a Panorama camera node.

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

client = Client()
deployment = client.deployments.get(
    deployment="loading-dock-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 and returns each frame's detections as it is processed. The streams guide covers every source and the live view, live workflows add tracking, line counts, dwell time, and webhooks, and local inference covers running the model on your own hardware.

Move a Panorama application in four steps

Pictograph trains the model as well as running it, so the first three steps build it.

  1. Collect frames

    Upload recordings from your cameras, which Pictograph splits into frames, or import the labeled images your Panorama model was trained on.

  2. Draft and review labels

    SAM3 drafts every object you name in 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 and stream your cameras to it, or serve a workflow that counts and sends webhooks.

The video API extracts frames, annotation import brings existing labels, auto-annotation covers SAM3's prompts, the training guide walks through a run, and deployments covers GPUs, regions, and billing.

AWS Panorama alternative FAQ

Is AWS Panorama discontinued?

Yes. AWS stopped accepting new Panorama customers on May 20, 2025, and ended support on May 31, 2026. After that date existing customers can no longer use the service, its console, or its resources. AWS points to solutions from its partners, or to building your own with SageMaker, IoT Greengrass, and a current NVIDIA Jetson or an edge server, with a GStreamer or DeepStream media pipeline.

Do my cameras need to be reachable from the internet?

For a deployment to connect to a camera itself, yes: it pulls the RTSP stream from the cloud and connects again if the camera drops. A camera that is only reachable inside your network can be pushed out over WebRTC (WHIP) from a machine there running GStreamer or OBS. Either way the video crosses your uplink, and its data transfer is billed with the deployment.

Can I bring the model I ran on Panorama?

Not as it is: Pictograph deploys models trained on Pictograph. Bring the labeled images instead. Upload them, import their COCO, YOLO, or Pascal VOC annotations, and train an RF-DETR or YOLOX detector on them. If you have footage but no labels, SAM3 drafts them from text prompts for you to review.

Can the model still run on site?

Yes, the model can. Every trained model can be downloaded as ONNX, which ONNX Runtime runs on a CPU or a GPU, or as an ExecuTorch file for a Jetson's CPU, and the SDK loads either and returns typed results. The video pipeline around it on your site is yours to build, as it was on Panorama. The TensorRT engines Pictograph builds are compiled for its cloud GPUs and do not run on a Jetson.

How fast is it?

On a live 1080p RTSP camera, a YOLOX-s detector returns each frame's boxes 3.75 ms after capture on an L4 and 8.78 ms on a T4, in FP16. That does not include the network hop from your camera to the GPU, which depends on how far your site is from the deployment's region (us-east or us-west).

Run your detector on your cameras

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