VIS-210 · Embedded Vision

Jetson Camera Pipelines with LibArgus

Building capture and processing pipelines on NVIDIA Jetson, from sensor to inference input.

Practitioner 3 days in person6 half-days online Max 14 in person

Who this course is for

Embedded software engineers building capture-to-inference pipelines on NVIDIA Jetson who need the camera stack understood and measured, not copied from a forum post.

Prerequisites

Linux userspace development in C/C++Basic camera concepts (formats, exposure, frame rates)GStreamer fundamentals are helpful; CUDA exposure is a plus

Course outline

Day 1 — The Jetson camera stack

  • Hardware path: sensor to CSI-2 receiver to VI and ISP engines
  • Device-tree and sensor-driver integration on Jetson: channels, ports and the plugin-manager history you should know
  • First frames: validating the path with v4l2-ctl before touching Argus
  • The LibArgus API: CaptureProvider, CaptureSession, requests, streams and events
  • Camera controls through Argus: exposure, gain, region of interest

Day 2 — Buffers and zero copy

  • EGLStream and the buffer ownership flow between producer and consumer
  • NvBuffer and dmabuf on Jetson: allocation, formats and colour-space conversion
  • Zero-copy capture into CUDA: mapping frames without a memcpy
  • Feeding inference: layout and format requirements of TensorRT-style inputs
  • GStreamer integration: nvarguscamerasrc, nvvidconv and hardware encode with NVENC

Day 3 — Performance and multi-camera

  • Profiling a capture pipeline: separating capture, ISP, conversion and inference time
  • Finding the stall: frame drops, timestamp gaps and their causes
  • Multi-camera on Jetson: session limits, bandwidth and synchronisation context
  • Thermal and power effects on sustained pipelines
  • Latency vs throughput settings and the configurations that actually move them

Hands-on labs

Labs follow the academy model — 35% principles, 20% guided investigation, 45% engineering studio. Every claim you make in a lab is backed by a trace, a counter or a measurement you captured yourself. How we teach

  1. Lab: Bring up a sensor on Jetson from device tree to first frames — validated with v4l2-ctl, then through a minimal LibArgus capture
  2. Lab: Write a LibArgus application that pulls frames to CPU memory and then re-maps the same frames into CUDA with zero copies, proving it from buffer addresses
  3. Lab: Build a GStreamer pipeline from nvarguscamerasrc through hardware H.264/H.265 encode and measure end-to-end glass-to-file latency
  4. Lab: Profile a capture-to-inference pipeline, identify the stall from timestamps and stage timings, fix it, and present before/after numbers

Capstone project

Deliver a measured sensor-to-inference pipeline on Jetson: Argus or GStreamer capture, a zero-copy path into CUDA/inference, and a profiling report that names the bottleneck, shows the evidence for it, and documents the improvement your fix produced.

What you leave with

  • A working LibArgus capture application template with camera controls
  • The Jetson device-tree/driver integration procedure from sensor to stream
  • Zero-copy buffer flow into CUDA using NvBuffer/dmabuf and EGLStream
  • GStreamer pipelines with nvarguscamerasrc and hardware encode
  • A pipeline-profiling method that separates capture, ISP, convert and inference time

How it runs

Every course follows the same model: 35% principles, 20% guided investigation, 45% engineering studio. You leave with working code, raw measurements and an evidence-based report — not a certificate of attendance. Read the methodology or see a full sample lesson.

Material is adapted to your kernel version, hardware and workload before a private delivery. For public cohorts, the environment is provided and configured.

Questions

Who is this course for?

Embedded software engineers building capture-to-inference pipelines on NVIDIA Jetson who need the camera stack understood and measured, not copied from a forum post. It sits at practitioner level within the Embedded Vision track.

What do I need to know already?

Specific prerequisites for this course: Linux userspace development in C/C++; Basic camera concepts (formats, exposure, frame rates); GStreamer fundamentals are helpful; CUDA exposure is a plus. We confirm levels before the cohort starts and adapt if a group is stronger or weaker than expected.

Can this run privately for my team?

Yes. Any course runs on-site at your offices anywhere, or live online for a distributed team, with labs adapted to your hardware and codebase.

What is the difference between in-person and online?

In person is 3 full days with hardware on your desk, capped at 14. Online is 6 half-day sessions across about two weeks so you can keep working, capped at 20, with remote lab access.

Do you invoice companies?

Yes. Purchase orders are accepted and invoicing is available in USD, EUR, GBP, SAR and CAD.

Upcoming dates

DatesWhereSeatsEarly birdRegular
11 Oct – 13 Oct 20263 full days RiyadhIn person · KAFD Conference Centre 9 of 14 —SAR 7,880
11 Oct – 13 Oct 20263 full days Kuwait CityIn person · Al Hamra Tower 4 of 14 —KWD 650
18 Oct – 20 Oct 20263 full days MuscatIn person · Knowledge Oasis Muscat 9 of 14 —OMR 810
25 Oct – 1 Nov 20266 half-days Gulf bandLive online · 09:00–13:00 GMT+3 7 of 20 —US$1,500
26 Oct – 28 Oct 20263 full days OttawaIn person · Kanata North Tech Park 4 of 14 —CAD 2,860
26 Oct – 28 Oct 20263 full days TorontoIn person · MaRS Discovery District 9 of 14 —CAD 2,860
26 Oct – 2 Nov 20266 half-days Europe bandLive online · 09:00–13:00 CET 12 of 20 —US$1,500
2 Nov – 4 Nov 20263 full days LondonIn person · Shoreditch Works 4 of 14 —GBP 1,640
2 Nov – 9 Nov 20266 half-days Americas bandLive online · 13:00–17:00 ET 17 of 20 —US$1,500
9 Nov – 11 Nov 20263 full days BerlinIn person · Factory Görlitzer Park 9 of 14 EUR 1,740until 10 OctEUR 1,930

Dates shown for the next few months. If nothing fits, tell us where and when — cohorts are added on demand, and private delivery can be scheduled any week.

More in Embedded Vision