Component Selection Guide#
This page provides clear, task-oriented guidance on what components to choose for your edge AI solution. It focuses on the following eight core technologies used in Open Edge Platform:
Training or fine-tuning a model?
Train models with:
PyTorch
Model development and research workflow.
Choose it when: You need to design, train, fine-tune, validate, or experiment with neural networks and export the resulting model for deployment.
Do not choose it as the main tool when: You already have a prepared model and you want to optimize it and deploy on Intel hardware.
You already have a model?
Run optimized inference inside your application with:
OpenVINO
Model conversion, optimization, compilation, and runtime inference.
Choose it when: You need optimized, in-process model inference on Intel hardware from C++, Python, or other supported runtime integrations.
Run inference over REST or gRPC with:
OpenVINO Model Server (OVMS)
Production model serving powered by OpenVINO.
Choose it when: Multiple applications need remote inference through REST or gRPC, model lifecycle management, scalable deployment, or separation of clients from model execution.
It uses OpenVINO runtime, offerting its inference capabilities.
Need image, video, or audio?
Use custom live multimedia graph without built-in AI analytics with:
GStreamer
General multimedia pipeline foundation.
Choose it when: You need a modular, plugin-based framework for custom live or file-based audio/video capture, transformation, transport, playback, or streaming.
It does not offer AI-based analysis.
Use AI-enabled analytics with:
DL Streamer
AI-enabled media analytics pipelines.
Choose it when: You are building real-time or batch audio/video analytics and want ready-to-use GStreamer elements for inference, tracking, classification, metadata, and hardware-aware media flow.
It is based on GStreamer and offers its media processing features.
Use REST-managed analytics pipelines with:
DL Streamer Pipeline Server
Deployment and lifecycle management of media analytics pipelines.
Choose it when: You want DL Streamer pipelines exposed as a configurable service, managed through REST APIs, and deployable as a reusable microservice.
It is based on DL Streamer, extending its capabilities with pipeline serving.
Need to process image or video data?
Apply frame-level image processing or custom computer vision with:
OpenCV
Computer vision algorithms and image manipulation.
Choose it when: You need frame-level image processing, calibration, geometry, feature extraction, classical computer vision, visualization, or custom pre/post-processing.
Implement codec, container, probing, recording, or transcoding with:
FFmpeg
Media ingest, conversion, packaging, and codec operations.
Choose it when: You need broad codec and container support, probing, muxing/demuxing, recording, transcoding, filtering, or reliable media conversion through command-line tools or libraries.
When selecting the software stack appropriate for your solution, consider what features you need and pick the building blocks accordingly. The components described here do not exclude each other and may be complementary.
Recommended Integration Patterns#
Train, optimize, and embed:
Train or fine-tune in PyTorch, export the model, optimize it for deployment, and run inference inside the application with OpenVINO. Add OpenCV for custom frame preparation or result rendering.
Development Cycle:
PyTorch → OpenVINO → application
Serve a shared inference capability:
Use this pattern when model execution must be independently deployed, scaled, versioned, or shared by multiple applications.
Development Cycle:
PyTorch or another training framework → OpenVINO format/runtime → OVMS →
REST/gRPC clients
Build an embedded video analytics pipeline:
Use DL Streamer as the main pipeline layer. Use OpenCV only for custom image operations not already available as pipeline elements.
Development Cycle:
FFmpeg or GStreamer ingest → DL Streamer analytics → OpenVINO inference →
metadata and video output
Deploy analytics as a managed service:
Choose this pattern when clients should create, start, stop, and monitor analytics pipelines through service APIs rather than own pipeline code.
Development Cycle:
Media source → DL Streamer Pipeline Server → Configured DL Streamer pipelines →
Downstream applications
Build a non-AI media workflow:
Choose FFmpeg for conversion, packaging, probing, recording, and broad codec coverage. Choose GStreamer for an application-controlled, live, extensible plugin graph. Combine them only where their strengths are complementary.
Development Cycle:
FFmpeg and/or GStreamer