top of page

GStreamer

GStreamer is RidgeRun's preferred multimedia framework. Since the early project conception in 2001, RidgeRun contributed with GStreamer to port the framework to smaller, resource-constrained devices, such as cell phones.

GStreamer Consulting and Development

gstreamer

The modularity, flexibility, and scalability of the GStreamer project quickly positioned it as one of the leading multimedia frameworks for embedded devices in the community. Since then, RidgeRun has partnered with the top embedded systems manufacturers such as Texas Instruments, NXP, NVIDIA, and Xilinx to port, accelerate and optimize GStreamer to leverage the system's hardware coprocessors.

Multimedia Solutions Using GStreamer

RidgeRun has helped many customers over the last decade to implement their multimedia solutions using GStreamer. The framework's modular design can quickly scale a simple camera video recording to a fully fledged media server with network streaming, snapshot taking, and live preview. RidgeRun can help you build the right GStreamer pipelines for your requirements in a portable, scalable way. Whether you want to switch from RTSP to WebRTC, upgrade from H264 to H265 or migrate your entire solution to a different HW platform, you've already saved months of engineering effort by choosing the right tools and the right team to implement it.

Whether you need a standalone application or an extension to your current solution, we can help you get there. RidgeRun has implemented solutions for customers in a variety of languages - such as C, C++, Python, Obj-C, Java or Rust - and in a variety of platforms ranging from small embedded devices running Android or barebones Linux to high-end servers running a complete GNU/Linux OS.

gstreamer multimedia solutions
photo of a dog being enhanced with a GStreamer plugin

GStreamer Plug-in Development

One of the key factors that make GStreamer so scalable is its modular plug-in design. Every processing unit in the pipeline is represented by a separate element that is built, distributed and deployed independently. Even though there are more than 1000 elements currently and freely available, RidgeRun has plenty of experience developing custom GStreamer plug-ins for the unique and specific requirements of every customer. 

Not every customer needs an element designed from scratch. RidgeRun also offers services to extending existing ones, upgrade them to the latest GStreamer version, or even debugging unexpected behaviors from them
 

Embedded Hardware Acceleration

Many embedded platforms have independent hardware coprocessors to perform heavy, multimedia-specific tasks. Even though these hardware units perform similar operations on different chipsets, their API varies from vendor to vendor. By abstracting this functionality in a GStreamer element, the media server increases portability. This way a multimedia solution can be prototyped on a PC, deployed for an embedded platform and even migrated to a completely different SoC with ease.

RidgeRun has over a decade partnering with the top SoC manufacturers to support their hardware units using GStreamer. Starting from TI's DSP and ISP modules, NXP VPUs, Xilinx FPGAs to NVIDIA GPUs, RidgeRun has plenty of experience handling high bandwidth data transfers, asynchronous operations, and HW specific memory requirements. We focus on zero memory copy solutions, with low GStreamer overhead and high performance.
 

Nvidia Jetson TX2
gstreamer pipeline optimization

GStreamer Pipeline Optimization 

There are a lot of variables that may affect the user experience of an end product. Lipsync becomes annoying when audio leads the video for more than 45ms and lags it for more than 125ms. A remotely controlled device becomes hard to use when latency is greater than 200ms. A viewer may experience similar levels of perceptual distortion when viewing a stream with jitter than with packet losses. 

RidgeRun has over a decade of experience optimizing and fine-tuning GStreamer pipelines for specific systems and specific requirements. The combined HW, kernel and GStreamer knowledge makes RidgeRun a fundamental partner in your end products lifecycle.

GStreamer Training Services

samantha-borges-EeS69TTPQ18-unsplash.jpg

Do you want your team to learn more about GStreamer?

RidgeRun offers training services, workshops, and technical walk-through for teams of all technical levels. From introductory GStreamer courses to advanced design, profiling, optimization and debugging techniques. RidgeRun has you covered.

 

Request your GStreamer training about:

  • GStreamer Fundamentals

  • Element Design and Development

  • Code Guidelines and Best Practices

  • Application Design and Development

  • Zero-copy pipelines

  • Debugging Techniques

  • Optimization Techniques

  • Advanced Topics: A/V Synchronization, Memory Management, Metadata, Streaming, etc.

  • Typical Problems: Negotiation, Frame Dropping, Latency, Memory Optimization, etc.

  • Any custom topic not listed above!

 

RidgeRun Open Source GStreamer Projects

RidgeRun understands the value of Open Source. Great things are built together. That's why we've made some of our key pieces of GStreamer based software freely available to the community.

Many of these Open Source tools have been presented in GStreamer annual conferences around the world. For example, GstInference, a GStreamer framework for deep learning inference, was presented on the GStreamer 2018 Conference, in Scotland. GStreamer Daemon, a standalone process that allows the user to control GStreamer pipelines using TCP messages, was presented in the GStreamer 2017 Conference, in Prague. GstShark, a set of profiling tools for GStreamer pipelines, was also presented in the same conference. GstInterpipe, a plug-in allowing inter-pipeline buffer communication, was presented in the GStreamer 2015 Conference, in Ireland. 

Learn more about Open Source GStreamer projects:

open source GStreamer project development
bottom of page