GStreamer
GStreamer is an open-source multimedia framework for building graphs of reusable components that capture, process, encode, decode, analyze, display, record, or stream audio and video. Embedded teams use GStreamer when they need a configurable media pipeline that can connect cameras, hardware accelerators, codecs, AI inference, displays, storage, and network protocols within one application.
RidgeRun develops and optimizes GStreamer solutions for embedded Linux systems. Typical work includes pipeline architecture, custom elements, hardware codec integration, zero-copy memory paths, latency reduction, profiling, stability analysis, and production debugging.
When should embedded developers use GStreamer?
GStreamer is a strong fit when a product needs one or more of the following:
- Camera capture through V4L2, vendor camera stacks, network sources, or custom drivers.
- Hardware-accelerated encoding, decoding, scaling, compositing, or image processing.
- RTSP, RTP, WebRTC, SRT, HLS, MPEG-TS, file recording, or custom transport.
- Dynamic pipeline reconfiguration or runtime source switching.
- Integration with computer vision or AI inference.
- Synchronization of multiple audio, video, metadata, or sensor streams.
- A reusable plugin architecture instead of a monolithic media application.
A simpler library or direct codec API may be more appropriate when the application has one fixed data path, no runtime graph changes, and strict control over every buffer is more important than ecosystem interoperability.
Embedded GStreamer architecture
A production embedded pipeline commonly contains five layers:
- Capture: camera, microphone, file, shared memory, or network input.
- Pre-processing: debayering, color conversion, scaling, denoising, stabilization, or image-signal processing.
- Analysis: metadata extraction, computer vision, AI inference, tracking, or overlays.
- Compression and packaging: hardware or software codec, parser, muxer, and timestamps.
- Output: display, storage, RTSP/RTP/WebRTC endpoint, cloud transport, or another application.
A GStreamer application can control the life cycle of the pipeline based on analytic information and make dynamic changes. RidgeRun provides ready-to-use solutions for each of the five layers and tools for accelerating prototyping, performance profiling, and dynamic control.
RidgeRun GStreamer technologies
For 20 years, RidgeRun has been a leading developer of GStreamer-based solutions, creating and maintaining frameworks that address recurring embedded multimedia problems. This section summarizes ready-to-use solutions offered by RidgeRun.
Featured Open Source Solutions
| Technology | Field | Primary use | How to get |
|---|---|---|---|
| GStreamer Daemon | Pipeline control | Create and control pipelines from another process through an API | gstd-1.x |
| GstInterpipe | Pipeline control | Connect independent GStreamer pipelines and switch streams dynamically | gst-interpipe |
| GstShark | Performance profiling | Profile pipeline scheduling, element behavior and performance | gst-shark |
| GstPerf | Performance profiling | Profile pipeline framerate and CPU load | gst-perf |
Featured Computer Vision Solutions
| Product | Field | Primary use | How to get |
|---|---|---|---|
| GStreamer Based Image Signal Processor | Computer Vision | Use OpenCL to accelerate the image processing filters | OpenCL ISP |
| RidgeRun Video Stabilization Library | Computer Vision | Real time video stabilization | Real-Time Video Stabilization Library |
| GstCUDA | Computer Vision | Integrate custom CUDA kernels in GStreamer pipelines | GstCuda |
| FPGA Image Signal Processor | Computer Vision | Accelerate image signal processing on FPGA-based pipelines | FPGA Image Signal Processor |
| CUDA Camera Undistort | Computer Vision | Correct lens distortion using CUDA acceleration | CUDA Camera Undistort |
| Image Stitching | Computer Vision | Stitch multiple video streams into a panoramic image | Image Stitching |
| GstVPI | Computer Vision | Integrate NVIDIA VPI processing into GStreamer pipelines | GstVPI |
| Birds Eye View | Computer Vision | Generate bird's-eye-view video from multiple cameras | Birds Eye View |
| CUDA ISP | Computer Vision | Run image signal processing stages on CUDA-capable devices | CUDA ISP |
| GPU Motion Detector | Computer Vision | Detect motion in video using GPU acceleration | GPU Motion Detector |
| 360 Projector | Computer Vision | Project 360-degree video into different viewing formats | 360 Projector |
| Pan/Tilt/Zoom/Rotate | Computer Vision | Apply pan, tilt, zoom and rotation to video streams | Pan/Tilt/Zoom/Rotate |
| Spherical Video PTZ | Computer Vision | Control pan, tilt and zoom in spherical video | Spherical Video PTZ |
| Browser Sink | Computer Vision | Render GStreamer video directly in a web browser | Browser Sink |
| Camera Synchronization | Computer Vision | Synchronize multiple cameras for aligned capture and processing | Camera Synchronization |
Featured Video-based AI Solutions
| Deepstream Reference Designs | Video-based AI | Accelerate AI video analytics development with a DeepStream reference pipeline | Deepstream Reference Design |
| Object/Face Blurring | Video-based AI | Blur selected objects or faces in live or recorded video | Object/Face Blurring |
Featured Metadata Solutions
| H.264/H.265 SEI Metadata | Metadata | Insert and extract SEI metadata in H.264 and H.265 streams | H.264/H.265 SEI Metadata |
| KLV In-band Metadata | Metadata | Transport KLV metadata inside video streams | KLV In-band Metadata |
| AV1 Obu Metadata | Metadata | Insert and parse metadata in AV1 OBU streams | AV1 Obu Metadata |
| RTMP Metadata | Metadata | Attach and process metadata in RTMP streaming workflows | RTMP Metadata |
| LibMISB | Metadata | Work with MISB-compatible metadata in video applications | LibMISB |
Featured Video Streaming Solutions
| WebRTC Wrapper | Video Streaming | Simplify WebRTC integration for GStreamer applications | WebRTC Wrapper |
| RTP Congestion Control | Video Streaming | Improve RTP streaming stability under changing network conditions | RTP Congestion Control |
| GstRtspSink | Video Streaming | Stream GStreamer pipelines to RTSP clients | RTSP Sink |
| ONVIF Server | Video Streaming | Expose video devices and streams through an ONVIF-compliant server | ONVIF Server |
| AWS Kinesis WebRTC | Video Streaming | Connect GStreamer pipelines to AWS Kinesis Video Streams with WebRTC | AWS Kinesis WebRTC |
| Network Balancer | Video Streaming | Balance media traffic across network paths and endpoints | Network Balancer |
| ONVIF Reference Design | Video Streaming | Provide a reference design for ONVIF-enabled streaming systems | ONVIF Reference Design |
| GStreamer Plugin for Meta Quest | Video Streaming | Stream and process media for Meta Quest devices with GStreamer | GStreamer Plugin for Meta Quest |
Featured GUI Solutions
| Qt Overlay | GUI Overlay | Render Qt-based overlays on top of video streams | Qt Overlay |
| OpenGL HTML Overlay] | GUI Overlay | Composite HTML overlays using OpenGL acceleration | OpenGL HTML Overlay |
| Fast Text/Graphics Overlay | GUI Overlay | Draw low-latency text and graphics overlays on video | Fast Text/Graphics Overlay |
Other Solutions
| GstSerial | Other | Exchange serial data within GStreamer-based applications | GstSerial |
| Buffer Interprocess Sharing | Other | Share video buffers efficiently across processes | Buffer Interprocess Sharing |
| LibGUVC | Other | Build USB video class applications and integrations | LibGUVC |
| PreRecord | Other | Save video buffered before an event trigger | PreRecord |
| GStreamer Analytics | Other | Add analytics capabilities to GStreamer processing pipelines | GStreamer Analytics |
RidgeRun engineering support for GStreamer
RidgeRun can help with embedded GStreamer pipeline design, custom plugin development, camera and codec integration, zero-copy optimization, latency analysis, performance profiling, production debugging, application audit and platform migration. Contact RidgeRun to talk to an engineer about your project and learn how we can help.
Choose the right RidgeRun resource
| Goal | Recommended resource |
|---|---|
| Reduce end-to-end delay | Building Low-Latency Video Streaming Pipelines |
| Find pipeline bottlenecks | GstShark |
| Monitor pipelines across devices | RidgeRun GStreamer Analytics |
| Control pipelines from another process | GStreamer Daemon |
| Add CUDA processing | GstCUDA |
| Debug pipeline failures | GStreamer Debugging |
| Train an engineering team | GStreamer Training Services |
Related pages
- Building Low-Latency Video Streaming Pipelines
- Embedded GStreamer Performance Tuning
- GStreamer Debugging
- GStreamer Daemon
- GStreamer Training Services
FAQ
- What is GStreamer used for in embedded systems?
- GStreamer is used to build modular audio and video pipelines for camera capture, processing, AI inference, encoding, display, recording, and network streaming on embedded Linux platforms.
For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.
Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.