All projects

Hazard Monitoring Video Pipeline

Fault-tolerant H.264 recording and RTSP streaming on Jetson Orin Nano

GStreamerH.264RTSP / MediaMTXDocker

A Swiss natural-hazard monitoring company operates remote-site detection systems built on NVIDIA Jetson Orin Nano platforms, with integrated USB cameras for visual inspection and verification.

Our team was hired to replace their existing GStreamer pipeline, which ran through the gst-launch command-line tool, with a video pipeline service built on the GStreamer API in Python. We added runtime reconfiguration and programmatic error recovery, all within a tight CPU budget. The service is deployed as one Docker container per camera and controlled over REST by the client's own application.

Each camera feeds three independent outputs:

    • Recording: continuous one-minute segments with millisecond-accurate UTC timestamps. Segments are written as fragmented MP4, so a file still being recorded can be copied and

played up to its last second.

    • Live streaming: H.264 published to a remote MediaMTX server over RTSP or RTSPS, with optional JWT authentication.

    • Snapshots: JPEG frames captured on demand.

 

Performance without a hardware encoder. The Orin Nano has no video encoder, so H.264 encoding runs in software with x264. To fit recording, streaming and snapshots within the CPU budget, encoder parameters such as preset, bitrate and profile were tuned, and the output frame rate is reduced from the camera rate, with surplus frames dropped before decoding. MJPEG decoding and scaling use the Jetson's hardware when present, with a software fallback.

Isolation. Streaming runs in a separate GStreamer pipeline, so network, server or authentication failures can stop the live stream but never interrupt recording.

Live reconfiguration. Frame rate, resolution, crop and encoding quality change through the API without stopping the camera. Recording changes apply at the next segment boundary, and the

configuration persists across restarts.

Unattended operation. Camera, network and process failures recover automatically, typically within five seconds. Each output reports its own errors through the API, so problems are visible rather than silent.

 

CLIENT TESTIMONIAL:

We had an excellent experience working with Softhenge Team. They implemented a video processing pipeline for our NVIDIA Orin Nano platform and delivered great results.

Throughout the project, communication was fast, clear, and proactive. Narek was always highly responsive, easy to work with, and genuinely invested in making the project successful rather than just completing the assigned tasks.

The quality of the implementation was excellent, and they consistently approached challenges with a solution-oriented mindset. Their technical expertise, reliability, and professionalism made the collaboration smooth from start to finish.

 

Starting a project, or getting a stalled one back on track?

Tell us what you are building. You will get an honest view on scope, effort and fit. Reply within 1-2 business days. Everything you send stays confidential.