SlideShare a Scribd company logo
1 of 19
Download to read offline
Building Accelerated
Gstreamer Applications
for Video and Audio AI
Abdo Babukr
Accelerated Computing Consultant
Wave Spectrum, Inc.
• What is Gstreamer?
• Why use Gstreamer?
• How to use Gstreamer?
• What are the AI extensions to Gstreamer?
• Example AI pipeline
Agenda
2
© 2023 Wave Spectrum, Inc.
• Gstreamer is an open-source multimedia framework used for
developing video and audio streaming applications.
• It is a highly modularized framework where pipelines are
constructed in a plug-and-play fashion using building blocks called
plugins.
• Examples of streaming applications include:
• Network streaming (rtsp, http, rtp, etc.).
• Video and audio transcoding (encoders, decoders, parsers, etc.).
• Video and audio processing (audio/video filters and converters).
What Is Gstreamer?
3
© 2023 Wave Spectrum, Inc.
What Is Gstreamer? (cont.)
4
© 2023 Wave Spectrum, Inc.
. alsasrc audioconvert autoaudiosink
d v4l2src videoconvert autovideosink
• There are three main types of plugins:
• Source plugins – provide input to the pipeline.
• Cams/mics, network streams, multimedia files, app sources, etc.
• Transform plugins – convert input buffer to output buffer.
• Converters, muxers/demuxers, codecs, overlay operations, etc.
• Sink plugins – are the outputs of the pipeline.
• Displays/speakers, networks streams, multimedia files, app sinks, etc.
Why Use Gstreamer?
5
© 2023 Wave Spectrum, Inc.
• Gstreamer saves a considerable amount of development time.
• It includes hundreds of plugins implementing functions a developer would not
need to redevelop.
• Codecs, converters, parsers, network protocols, etc.
• It uses a lightweight mechanism for passing buffers between plugins, making
it efficient for use in embedded systems.
• It supports hardware buffers and plugins which use coprocessors to accelerate
signal and image processing tasks including codecs, filtering and inferencing.
• It is extremely flexible and can encompass either a small portion of the
application or the entire application.
Why Use Gstreamer? (command line example)
6
© 2023 Wave Spectrum, Inc.
• Suppose you want to create a recorder; you can construct this pipeline:
• The queue in between the audio source plugin and the audioconvert
plugin creates CPU thread separate from the video branch.
• The pipeline containing the nine plugins is constructed in a command line
this way:
filesink
alsasrc
v4l2src videoconvert x264enc
queue audioconvert lamemp3enc
mp4mux
gst-launch-1.0 -e v4l2src ! videoconvert ! x264enc ! mp4mux name=m 
alsasrc ! queue ! audioconvert ! lamemp3enc ! m. ! 
filesink location=output.mp4
Why Use Gstreamer? (python example)
7
© 2023 Wave Spectrum, Inc.
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst, GObject
# Initialize GStreamer
Gst.init(None)
# Create the pipeline
pipeline = Gst.Pipeline()
# Create the elements
src = Gst.ElementFactory.make("v4l2src", None)
..
# Set properties
src.set_property("device", "/dev/video0")
sink.set_property("location", "output.mp4")
# Add the elements to the pipeline
pipeline.add(src)
..
# Link the elements
src.link(vidconvert)
..
# Start playing the pipeline
pipeline.set_state(Gst.State.PLAYING)
# Wait until error or EOS
bus = pipeline.get_bus()
msg =
bus.timed_pop_filtered(Gst.CLOCK_TIME_NONE,
Gst.MessageType.ERROR | Gst.MessageType.EOS)
# Free resources
pipeline.set_state(Gst.State.NULL)
Why Use Gstreamer? (C++ example)
8
© 2023 Wave Spectrum, Inc.
#include <gst/gst.h>
int main(int argc, char *argv[]) {
GstElement *pipeline, *src ..;
GstBus *bus;
GstMessage *msg;
GstStateChangeReturn ret;
// Initialize GStreamer
gst_init(&argc, &argv);
// Create the pipeline
pipeline = gst_pipeline_new("mypipeline");
// Create the elements
src = gst_element_factory_make("v4l2src", "src");
..
// Set properties
g_object_set(src, "device", "/dev/video0", NULL);
g_object_set(sink, "location", "output.mp4", NULL);
// Add the elements to the pipeline
gst_bin_add_many(GST_BIN(pipeline), src, .., NULL);
// Link the elements
gst_element_link_many(src, .. , NULL);
gst_element_link_many(alsasrc, .. , NULL);
// Start playing the pipeline
ret = gst_element_set_state(pipeline, GST_STATE_PLAYING);
// Check for failure
..
// Wait until error or EOS
..
// Free resources
..
return 0;
}
How to Use Gstreamer?
9
© 2023 Wave Spectrum, Inc.
• Gstreamer can be installed on popular operating systems:
• iOS, MacOS, Android, Windows, and Linux.
• On Debian-based embedded or desktop Linux it is installed with:
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev 
gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad 
gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x 
gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
• For desktop hardware accelerated plugins you will need either an
integrated or discrete GPU and the Video Acceleration API.
• For embedded hardware accelerated plugins you will need a DSP, a GPU or
an ISP; these accelerators support Open Media Acceleration (OpenMAX).
How to Use Gstreamer? (Accelerating)
10
© 2023 Wave Spectrum, Inc.
filesrc qtdemux
queue
queue
Video
encoder
Video
converter
autovideosink
Audio
encoder
Audio
converter
autoaudiosink
gst-launch-1.0 filesrc location=output.mp4 ! qtdemux name=demux 
demux.video_0 ! queue ! avdec_h264 ! videoconvert ! autovideosink 
demux.audio_0 ! queue2 ! avdec_acc ! audioconvert ! autoaudiosink
avdec_h264 is a software plugin performing the video encoding, for hardware acceleration it can
be replaced with:
vaapidecode, omxh264dec or nvv4l2decoder.
Likewise, videoconvert is a software plugin performing video conversion, for hardware acceleration
it can be replaced, for example, by nvvideoconvert.
How to Use Gstreamer? (Internals)
11
© 2023 Wave Spectrum, Inc.
Gstreamer AI Extensions
12
© 2023 Wave Spectrum, Inc.
• NNstreamer- A set of plugins used to run neural network models
and managing neural network pipelines easily and efficiently.
• Deepstream- Nvidia-based streaming analytics toolkit based on
Gstreamer. Includes plugins for Video and Audio AI and IoT.
• Vitis Video SDK- Complete Software stack to build AI-powered
intelligent video analytics solutions on AMD platforms.
Gstreamer AI Extensions
13
© 2023 Wave Spectrum, Inc.
• Any model type can be supported.
• Additional plugins are available for specific model types including:
• Classification
• Detection
• Segmentation
Example AI Pipeline
14
© 2023 Wave Spectrum, Inc.
• We construct a pipeline which counts vehicles passing by, gathers live
analytics and sends the data to the cloud.
• Vehicles are detected, and classified by type, make and color.
• A data storage branch is included to collect more training images for
continuous AI model improvements.
• A display branch is included for viewing the display in real-time.
Example AI Pipeline
15
© 2023 Wave Spectrum, Inc.
https://www.youtube.com/watch?v=Q8pqb8KVyzE
Example AI Pipeline
16
© 2023 Wave Spectrum, Inc.
Conclusion
17
© 2023 Wave Spectrum, Inc.
• Gstreamer and Gstreamer-based AI SDKs can be used to rapidly construct
Video and AI processing pipelines.
• Gstreamer supports the use of coprocessors to accelerate compute
intensive tasks within the pipeline.
• Gstreamer can consist of either a small portion or most of the application.
Resources
18
© 2023 Wave Spectrum, Inc.
Gstreamer and Accelerated Gstreamer
Accelerated Gstreamer user guide
https://developer.download.nvidia.com/embedded/L4T/r32_Releas
e_v1.0/Docs/Accelerated_GStreamer_User_Guide.pdf
Hardware accelerated video processing on Intel graphics
https://github.com/GStreamer/gstreamer-vaapi
Open-source multimedia framework
https://gstreamer.freedesktop.org/
Resources
19
© 2023 Wave Spectrum, Inc.
AI Extensions to Gstreamer
NNStreamer
https://nnstreamer.ai/
Nvidia Deepstream
https://developer.nvidia.com/deepstream-sdk
Vitis video SDK migration
https://www.xilinx.com/developer/articles/vvas-migration-for-
deepstream-users.html

More Related Content

Similar to “Building Accelerated GStreamer Applications for Video and Audio AI,” a Presentation from Wave Spectrum

OSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home ServicesOSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home Servicesmfrancis
 
UplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingUplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingSatya Harish
 
Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...
Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...
Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...Amazon Web Services
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Intel® Software
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024Cloud Native NoVA
 
Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...
Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...
Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...Amazon Web Services
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basicsidrajeev
 
Azure SignalR Service, il web socket che tanto ci mancava
Azure SignalR Service, il web socket che tanto ci mancavaAzure SignalR Service, il web socket che tanto ci mancava
Azure SignalR Service, il web socket che tanto ci mancavaAndrea Tosato
 
Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Canturk Isci
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationAmir Zmora
 
Video Gateway Installation and configuration
Video Gateway Installation and configurationVideo Gateway Installation and configuration
Video Gateway Installation and configurationsreeharsha43
 
Streaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & videoStreaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & videoMike Taylor
 
Ibm spectrum scale fundamentals workshop for americas part 1 components archi...
Ibm spectrum scale fundamentals workshop for americas part 1 components archi...Ibm spectrum scale fundamentals workshop for americas part 1 components archi...
Ibm spectrum scale fundamentals workshop for americas part 1 components archi...xKinAnx
 
SUGCON: The Agile Nirvana of DevSecOps and Containerization
SUGCON: The Agile Nirvana of DevSecOps and ContainerizationSUGCON: The Agile Nirvana of DevSecOps and Containerization
SUGCON: The Agile Nirvana of DevSecOps and ContainerizationVasiliy Fomichev
 
SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)Herve Blanc
 
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)Igalia
 

Similar to “Building Accelerated GStreamer Applications for Video and Audio AI,” a Presentation from Wave Spectrum (20)

OSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home ServicesOSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home Services
 
C44081316
C44081316C44081316
C44081316
 
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 
UplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingUplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computing
 
Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...
Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...
Stream Video, Analyze It in Real Time, and Share It in Real Time (ANT357) - A...
 
2019 VizEx View HTML5 Workshop
2019 VizEx View HTML5 Workshop2019 VizEx View HTML5 Workshop
2019 VizEx View HTML5 Workshop
 
My Profile
My ProfileMy Profile
My Profile
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 
Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...
Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...
Accelerating Development Using Custom Hardware Accelerations with Amazon EC2 ...
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
 
Azure SignalR Service, il web socket che tanto ci mancava
Azure SignalR Service, il web socket che tanto ci mancavaAzure SignalR Service, il web socket che tanto ci mancava
Azure SignalR Service, il web socket che tanto ci mancava
 
Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
 
Video Gateway Installation and configuration
Video Gateway Installation and configurationVideo Gateway Installation and configuration
Video Gateway Installation and configuration
 
Streaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & videoStreaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & video
 
Ibm spectrum scale fundamentals workshop for americas part 1 components archi...
Ibm spectrum scale fundamentals workshop for americas part 1 components archi...Ibm spectrum scale fundamentals workshop for americas part 1 components archi...
Ibm spectrum scale fundamentals workshop for americas part 1 components archi...
 
SUGCON: The Agile Nirvana of DevSecOps and Containerization
SUGCON: The Agile Nirvana of DevSecOps and ContainerizationSUGCON: The Agile Nirvana of DevSecOps and Containerization
SUGCON: The Agile Nirvana of DevSecOps and Containerization
 
SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)
 
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
 

More from Edge AI and Vision Alliance

“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...Edge AI and Vision Alliance
 
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...Edge AI and Vision Alliance
 
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...Edge AI and Vision Alliance
 
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...Edge AI and Vision Alliance
 
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...Edge AI and Vision Alliance
 
“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...Edge AI and Vision Alliance
 
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsightsEdge AI and Vision Alliance
 
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...Edge AI and Vision Alliance
 
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...Edge AI and Vision Alliance
 
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...Edge AI and Vision Alliance
 
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...Edge AI and Vision Alliance
 
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...Edge AI and Vision Alliance
 
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...Edge AI and Vision Alliance
 
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...Edge AI and Vision Alliance
 
“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from SamsaraEdge AI and Vision Alliance
 
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...Edge AI and Vision Alliance
 
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...Edge AI and Vision Alliance
 
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...Edge AI and Vision Alliance
 
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...Edge AI and Vision Alliance
 
“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...
“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...
“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...Edge AI and Vision Alliance
 

More from Edge AI and Vision Alliance (20)

“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
“Learning Compact DNN Models for Embedded Vision,” a Presentation from the Un...
 
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
“Introduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
 
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
“Selecting Tools for Developing, Monitoring and Maintaining ML Models,” a Pre...
 
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
“Understanding, Selecting and Optimizing Object Detectors for Edge Applicatio...
 
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
“Introduction to Modern LiDAR for Machine Perception,” a Presentation from th...
 
“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...“Vision-language Representations for Robotics,” a Presentation from the Unive...
“Vision-language Representations for Robotics,” a Presentation from the Unive...
 
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
“ADAS and AV Sensors: What’s Winning and Why?,” a Presentation from TechInsights
 
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
“Computer Vision in Sports: Scalable Solutions for Downmarkets,” a Presentati...
 
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
“Detecting Data Drift in Image Classification Neural Networks,” a Presentatio...
 
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
“Deep Neural Network Training: Diagnosing Problems and Implementing Solutions...
 
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
“AI Start-ups: The Perils of Fishing for Whales (War Stories from the Entrepr...
 
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
“A Computer Vision System for Autonomous Satellite Maneuvering,” a Presentati...
 
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
“Bias in Computer Vision—It’s Bigger Than Facial Recognition!,” a Presentatio...
 
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
“Sensor Fusion Techniques for Accurate Perception of Objects in the Environme...
 
“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara
 
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
“Combating Bias in Production Computer Vision Systems,” a Presentation from R...
 
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
“Developing an Embedded Vision AI-powered Fitness System,” a Presentation fro...
 
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
“Navigating the Evolving Venture Capital Landscape for Edge AI Start-ups,” a ...
 
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
“Advanced Presence Sensing: What It Means for the Smart Home,” a Presentation...
 
“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...
“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...
“Tracking and Fusing Diverse Risk Factors to Drive a SAFER Future,” a Present...
 

Recently uploaded

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 

“Building Accelerated GStreamer Applications for Video and Audio AI,” a Presentation from Wave Spectrum

  • 1. Building Accelerated Gstreamer Applications for Video and Audio AI Abdo Babukr Accelerated Computing Consultant Wave Spectrum, Inc.
  • 2. • What is Gstreamer? • Why use Gstreamer? • How to use Gstreamer? • What are the AI extensions to Gstreamer? • Example AI pipeline Agenda 2 © 2023 Wave Spectrum, Inc.
  • 3. • Gstreamer is an open-source multimedia framework used for developing video and audio streaming applications. • It is a highly modularized framework where pipelines are constructed in a plug-and-play fashion using building blocks called plugins. • Examples of streaming applications include: • Network streaming (rtsp, http, rtp, etc.). • Video and audio transcoding (encoders, decoders, parsers, etc.). • Video and audio processing (audio/video filters and converters). What Is Gstreamer? 3 © 2023 Wave Spectrum, Inc.
  • 4. What Is Gstreamer? (cont.) 4 © 2023 Wave Spectrum, Inc. . alsasrc audioconvert autoaudiosink d v4l2src videoconvert autovideosink • There are three main types of plugins: • Source plugins – provide input to the pipeline. • Cams/mics, network streams, multimedia files, app sources, etc. • Transform plugins – convert input buffer to output buffer. • Converters, muxers/demuxers, codecs, overlay operations, etc. • Sink plugins – are the outputs of the pipeline. • Displays/speakers, networks streams, multimedia files, app sinks, etc.
  • 5. Why Use Gstreamer? 5 © 2023 Wave Spectrum, Inc. • Gstreamer saves a considerable amount of development time. • It includes hundreds of plugins implementing functions a developer would not need to redevelop. • Codecs, converters, parsers, network protocols, etc. • It uses a lightweight mechanism for passing buffers between plugins, making it efficient for use in embedded systems. • It supports hardware buffers and plugins which use coprocessors to accelerate signal and image processing tasks including codecs, filtering and inferencing. • It is extremely flexible and can encompass either a small portion of the application or the entire application.
  • 6. Why Use Gstreamer? (command line example) 6 © 2023 Wave Spectrum, Inc. • Suppose you want to create a recorder; you can construct this pipeline: • The queue in between the audio source plugin and the audioconvert plugin creates CPU thread separate from the video branch. • The pipeline containing the nine plugins is constructed in a command line this way: filesink alsasrc v4l2src videoconvert x264enc queue audioconvert lamemp3enc mp4mux gst-launch-1.0 -e v4l2src ! videoconvert ! x264enc ! mp4mux name=m alsasrc ! queue ! audioconvert ! lamemp3enc ! m. ! filesink location=output.mp4
  • 7. Why Use Gstreamer? (python example) 7 © 2023 Wave Spectrum, Inc. import gi gi.require_version('Gst', '1.0') from gi.repository import Gst, GObject # Initialize GStreamer Gst.init(None) # Create the pipeline pipeline = Gst.Pipeline() # Create the elements src = Gst.ElementFactory.make("v4l2src", None) .. # Set properties src.set_property("device", "/dev/video0") sink.set_property("location", "output.mp4") # Add the elements to the pipeline pipeline.add(src) .. # Link the elements src.link(vidconvert) .. # Start playing the pipeline pipeline.set_state(Gst.State.PLAYING) # Wait until error or EOS bus = pipeline.get_bus() msg = bus.timed_pop_filtered(Gst.CLOCK_TIME_NONE, Gst.MessageType.ERROR | Gst.MessageType.EOS) # Free resources pipeline.set_state(Gst.State.NULL)
  • 8. Why Use Gstreamer? (C++ example) 8 © 2023 Wave Spectrum, Inc. #include <gst/gst.h> int main(int argc, char *argv[]) { GstElement *pipeline, *src ..; GstBus *bus; GstMessage *msg; GstStateChangeReturn ret; // Initialize GStreamer gst_init(&argc, &argv); // Create the pipeline pipeline = gst_pipeline_new("mypipeline"); // Create the elements src = gst_element_factory_make("v4l2src", "src"); .. // Set properties g_object_set(src, "device", "/dev/video0", NULL); g_object_set(sink, "location", "output.mp4", NULL); // Add the elements to the pipeline gst_bin_add_many(GST_BIN(pipeline), src, .., NULL); // Link the elements gst_element_link_many(src, .. , NULL); gst_element_link_many(alsasrc, .. , NULL); // Start playing the pipeline ret = gst_element_set_state(pipeline, GST_STATE_PLAYING); // Check for failure .. // Wait until error or EOS .. // Free resources .. return 0; }
  • 9. How to Use Gstreamer? 9 © 2023 Wave Spectrum, Inc. • Gstreamer can be installed on popular operating systems: • iOS, MacOS, Android, Windows, and Linux. • On Debian-based embedded or desktop Linux it is installed with: apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio • For desktop hardware accelerated plugins you will need either an integrated or discrete GPU and the Video Acceleration API. • For embedded hardware accelerated plugins you will need a DSP, a GPU or an ISP; these accelerators support Open Media Acceleration (OpenMAX).
  • 10. How to Use Gstreamer? (Accelerating) 10 © 2023 Wave Spectrum, Inc. filesrc qtdemux queue queue Video encoder Video converter autovideosink Audio encoder Audio converter autoaudiosink gst-launch-1.0 filesrc location=output.mp4 ! qtdemux name=demux demux.video_0 ! queue ! avdec_h264 ! videoconvert ! autovideosink demux.audio_0 ! queue2 ! avdec_acc ! audioconvert ! autoaudiosink avdec_h264 is a software plugin performing the video encoding, for hardware acceleration it can be replaced with: vaapidecode, omxh264dec or nvv4l2decoder. Likewise, videoconvert is a software plugin performing video conversion, for hardware acceleration it can be replaced, for example, by nvvideoconvert.
  • 11. How to Use Gstreamer? (Internals) 11 © 2023 Wave Spectrum, Inc.
  • 12. Gstreamer AI Extensions 12 © 2023 Wave Spectrum, Inc. • NNstreamer- A set of plugins used to run neural network models and managing neural network pipelines easily and efficiently. • Deepstream- Nvidia-based streaming analytics toolkit based on Gstreamer. Includes plugins for Video and Audio AI and IoT. • Vitis Video SDK- Complete Software stack to build AI-powered intelligent video analytics solutions on AMD platforms.
  • 13. Gstreamer AI Extensions 13 © 2023 Wave Spectrum, Inc. • Any model type can be supported. • Additional plugins are available for specific model types including: • Classification • Detection • Segmentation
  • 14. Example AI Pipeline 14 © 2023 Wave Spectrum, Inc. • We construct a pipeline which counts vehicles passing by, gathers live analytics and sends the data to the cloud. • Vehicles are detected, and classified by type, make and color. • A data storage branch is included to collect more training images for continuous AI model improvements. • A display branch is included for viewing the display in real-time.
  • 15. Example AI Pipeline 15 © 2023 Wave Spectrum, Inc.
  • 17. Conclusion 17 © 2023 Wave Spectrum, Inc. • Gstreamer and Gstreamer-based AI SDKs can be used to rapidly construct Video and AI processing pipelines. • Gstreamer supports the use of coprocessors to accelerate compute intensive tasks within the pipeline. • Gstreamer can consist of either a small portion or most of the application.
  • 18. Resources 18 © 2023 Wave Spectrum, Inc. Gstreamer and Accelerated Gstreamer Accelerated Gstreamer user guide https://developer.download.nvidia.com/embedded/L4T/r32_Releas e_v1.0/Docs/Accelerated_GStreamer_User_Guide.pdf Hardware accelerated video processing on Intel graphics https://github.com/GStreamer/gstreamer-vaapi Open-source multimedia framework https://gstreamer.freedesktop.org/
  • 19. Resources 19 © 2023 Wave Spectrum, Inc. AI Extensions to Gstreamer NNStreamer https://nnstreamer.ai/ Nvidia Deepstream https://developer.nvidia.com/deepstream-sdk Vitis video SDK migration https://www.xilinx.com/developer/articles/vvas-migration-for- deepstream-users.html