README 已跳转至官方文档站,仓库内不含完整安装与 API 说明,需另开 developers.google.com/edge/mediapipe 查阅;Tasks API 会向 Google 上报性能与使用指标,商用需自行取得用户同意;Framework 与 Solutions 是两套不同层级,选错入口会走弯路
mediapipe
google-ai-edgeApache-2.0活跃维护跨平台机器学习框架,提供可定制的视觉、音频等实时流媒体处理方案,方便在移动端和桌面端搭建低延迟推理管线。
Cross-platform, customizable ML solutions for live and streaming media.
README 未给出安装命令,仅指向各平台 setup 指南:https://developers.google.com/edge/mediapipe/solutions/setup_pythonREADME 未说明具体显存或 GPU 型号要求,仅强调面向移动端、Web、桌面、边缘设备和 IoT 的端侧运行
谷歌开源的端侧 ML 解决方案库,帮你把音视频视觉模型部署到手机、Web 和 IoT 设备
跨平台机器学习框架,提供可定制的视觉、音频等实时流媒体处理方案,方便在移动端和桌面端搭建低延迟推理管线。
核心能力
- 提供 MediaPipe Tasks 跨平台 API 与库,直接部署现成方案
- 覆盖音频、视觉、文本、生成式 AI、检索、决策等任务
- 附带预训练可直接运行的模型,无需自行训练
- 用 Packets、Graphs、Calculators 搭建低层推理流水线
- MediaPipe Studio 可在浏览器中可视化、测试和基准评测
容易踩的坑
- v1.2.2MediaPipe v1.2.2最新正式版2026-11-03 · 2026-11-03 22:08 UTC
Bazel changes
- Fix the tensor shape for column-major matrices in ConvertMatrixToTensorOnCpu.
- Use
'anonymous'instead of'Anonymous'forHTMLImageElement.crossOrigin. - Replace status_macros.h includes with absl/status/status_macros.h in mediapipe/gpu
- Replace status_macros.h includes with absl/status/status_macros.h in mediapipe/tasks/vision and benchmark
- Alias mediapipe::StatusBuilder and mediapipe::source_location to Abseil equivalents
- Migrate mediapipe::StatusBuilder callers to absl::StatusBuilder
- Migrate DRISHTI_CHECK_OK macros to ABSL_CHECK_OK
- Add C++ and C prerequisite fixes for audio and classifier options.
- Migrate statusor.h and StatusOr to absl::StatusOr
- Clarify in the
HandLandmarkerResultandGestureRecognizerResultdocumentation across C, C++, iOS, Java, Python, and Web thatLeftandRighthandedness correspond to the subject's hands rather than the viewer's, and that passing a horizontally mirrored image inverts these outputs. - Migrate canonical_errors.h to absl/status/status.h
- Modernize ret_check.h to use absl::StatusBuilder and absl::SourceLocation
- Bump MediaPipe version to 1.2.1.
- Add support for configuring Qualcomm HTP PD session
- Migrate RETURN_IF_ERROR and ASSIGN_OR_RETURN to ABSL_* in framework
- Migrate RETURN_IF_ERROR and ASSIGN_OR_RETURN to ABSL_* in gpu
- Migrate RETURN_IF_ERROR and ASSIGN_OR_RETURN to ABSL_* in calculators/tensor
- Migrate RETURN_IF_ERROR and ASSIGN_OR_RETURN to ABSL_* in calculators
- Migrate RETURN_IF_ERROR and ASSIGN_OR_RETURN to ABSL_* in tasks
- Migrate RETURN_IF_ERROR and ASSIGN_OR_RETURN to ABSL_* in util, modules, and examples
- Migrate RETURN_IF_ERROR and ASSIGN_OR_RETURN to ABSL_* in tasks/cc/vision and benchmark
- Add MpBaseOptionsFree to C API base_options.
- Attach the model's output quantization to LiteRT inference runner outputs.
- Add
TaskRunnerOptions::memory_managerto register a sharedMemoryManageraskMemoryManagerServiceon the task'sCalculatorGraphbefore initialization. - Bump MediaPipe to 1.2.2
- Release LiteRT CPU output views early unless the output is AHWB-backed.
- Update Swift Package Manager files for the 1.2.2 iOS release.
MediaPipe Tasks update
This section should highlight the changes that are done specifically for any platform and don't propagate to other platforms.
iOS
- Add MPPCommonUtils helpers for C API conversion.
- Add C API options conversion to MPPBaseOptions+Helpers.
- Add C API classification result conversion to MPPClassificationResult+Helpers.
- Add C API embedding conversion to MPPEmbedding+Helpers.
- Add C API embedding result conversion to MPPEmbeddingResult+Helpers.
- Add C API detection conversion to MPPDetection+Helpers.
- Add C API landmark conversion to MPPLandmark+Helpers.
Javascript
- Remove non-SIMD WebAssembly builds from the MediaPipe Tasks Web SDK.
Python
- Fix Java builder calls and align Python option defaults in MediaPipe.
- v1.2.0MediaPipe v1.2.02026-10-28 · 2026-10-28 16:05 UTC
查看更新说明
Bazel changes
- Bump MediaPipe version to 1.2.0
- Support Web Worker platform detection and Flutter Web telemetry overrides.
- Rollback due to breakage in gmscore.build.
- Fix GPU memory leaks when releasing AHWB-backed SSBOs and pooled textures.
- Fix nullptr exception in ImageToTensorCalculator
- Add support for F16 formats in ImageFrame
- Fix MediaPipe Tasks telemetry fields and audio_classifier.h license.
- Prevent possible lock-order-inversion deadlocks when locking input tensors in InferenceRunnerLiteRt
- Expose the remaining MlDriftDelegateOptions in InferenceCalculatorOptions
- Run face blendshapes on CPU when using the GPU delegate.
- Optimize Parakeet ASR streaming latency and decoder/runtime performance.
- Replace status_macros.h includes with absl/status/status_macros.h in mediapipe/framework
- Replace status_macros.h includes with absl/status/status_macros.h in mediapipe/calculators
- Replace status_macros.h includes with absl/status/status_macros.h in remaining mediapipe tasks, modules, and utilities
- Upgrade OpenCV to 4.10
- Enable F16 cv::Mat support in OpenCV conversions. OpenCV 4 was enabled in a previous CL.
- Update SPM files for 1.2.0
MediaPipe Tasks update
This section should highlight the changes that are done specifically for any platform and don't propagate to other platforms.
Android
- Add MediaPipe Tasks Android Kotlin TextToSpeech SDK and JNI bridge.
- Add LiteRT service support to InteractiveSegmenter on Android.
- Return topK distinct documents from SemanticRetriever when results are chunked.
iOS
- Open source the MediaPipe text proofreader and summarizer tasks.
- Add Apple Privacy Manifest (
PrivacyInfo.xcprivacy) to MediaPipe Tasks iOS Swift Package Manager package.
MediaPipe Dependencies
- Update WASM files for 1.2.0 release
- Update genai wasm
- v1.1.1MediaPipe v1.1.12026-10-14 · 2026-10-14 21:20 UTC
查看更新说明
Bazel changes
- Bump MediaPipe version to 1.1.1
- Add per-domain C libraries for Flutter SDK
- Fix GPU interactive segmentation on macOS.
- Add Flutter and Flutter Web host environments to MediaPipe Tasks C API.
- Add C API for intercepting Abseil logs in MediaPipe Tasks.
- mediapipe: Migrate to use new LiteRT GetOptions() API
- Migrate remaining NPU option callers to GetOptions()
- Update WASM and SPM files for 1.1..1 release
MediaPipe Tasks update
This section should highlight the changes that are done specifically for any platform and don't propagate to other platforms.
Android
- Enable LiteRT delegate for Interactive Segmenter on Android.
Javascript
- Update Retrieval SDK's code snippets
MediaPipe Dependencies
- Upgrade LiteRT dependency to v2.3.0 in MediaPipe WORKSPACE
- v1.1.0MediaPipe v1.1.02026-10-07 · 2026-10-07 00:47 UTC
查看更新说明
Build and Bazel changes
- Remove the dependency on internal Bazel Apple rules
resources.bzlinmediapipe/metal.bzl, using the metal rule provided by Bazel Apple rules. - Add Python 3.13 and 3.14 support to the MediaPipe Bazel build.
- Upgrade LiteRT dependency to v2.2.0 in MediaPipe
WORKSPACE. - Move up declaration of
kissfftin build configuration. - Fix
xla llvmdownload URL by usingmediapipe-assetsmirror. - Fix Windows build.
- Remove obsolete
unistd.hheader imports. - Configure MediaPipe for vendor/no-JNI Android builds.
Framework and core calculator improvements
- Bump MediaPipe version to 1.1.0.
- Add MediaPipe Universal Embedder, Semantic Retriever, and LiteRT-LM integration across C++, C, Python, and Android/Maven APIs.
- MediaPipe Decision: Add EmbeddingGemma 1 & 2 decision backend with multimodal state and option support.
- Implement core
TaskPartandEmbeddingProviderinterface. - Refactor
TextPart,AudioPart, andImagePartintotasks.coreand unify duplicates. - Refactor
TextEmbedderandImageEmbedderto use executor abstractions (TextEmbedderExecutor,ImageEmbedderExecutor). - Add
HasFile,GetBundleManifest, andGetBundleIdhelpers toModelAssetBundleResources. - Add
noexceptto move ctor/operator and addswaptoPacket. - Add method to create an empty packet in Java API.
- Use
ABSL_ASSIGN_OR_RETURNandABSL_RETURN_IF_ERRORin MediaPipe. - Rename
GeckoPreprocessorCalculatortoSentencePiecePreprocessorCalculator. - Add option to ignore missing
encoded_media_bytesinUnpackMediaSequenceCalculator. - Add LiteRT-LM based C++ Audio Embedder.
- C API for MediaPipe AudioEmbedder.
- Select the MediaPipe OpenGL device by Vulkan device UUID.
- Replace LiteRT delegate with
use_litertoption in MediaPipeBaseOptions. - Expose LiteRT and NPU delegate options to MediaPipe Tasks.
- Only use public LiteRT API in LiteRT inference calculator.
- Support passing
LiteRtSystemHandlesto Environment in LiteRT Inference Calculator. - Add support for specifying a signature key for LiteRT inference.
- Retain
MTLCommandQueuedirectly instead ofDrishtiMetalHelperinInferenceRunnerLiteRt. - Use runtime layout for rank-0 LiteRT model outputs in
InferenceRunnerLiteRt. - Check GPU service availability in
TensorsToDetectionsCalculator. - Improve MediaPipe Metal GPU delegate error messages for unsupported configurations.
- Allow size mismatched tensors for GPU execution.
- Fix race condition in
GpuResources. - Fix deprecated
CreateSourceTextureusage in desktop GPU example.
MediaPipe Tasks update
This section highlights the changes that are done specifically for each platform and don't propagate to other platforms.
Android
- Add plumbing needed for zero-copy
AHardwareBuffer(AHWB) output from the GPU. - Fix OpenGL ES and
AHardwareBuffersynchronization when converting between write and read views. - Wrap VC effects AHWB graph input as
AHardwareBuffer(kRGBA32). - Raise
MediaPipeExceptioninstead of crashing insurface_output_jnion Android EGL surface creation failure. - Fix crash in
PathToResourceAsFilewhenTEST_SRCDIRis not set on Android. - Made AppSearch vector store optional for SemanticRetriever Android SDK.
- Add Semantic Retriever Java API by prebuilding SQLite dependencies.
- Support in-memory audio and image representations in MediaPipe Tasks Android.
- Support multi-part multimodal embedding and vector store serialization in MediaPipe Tasks Android.
- Ensure that JNI methods are exported for Android Tasks.
- Remove legacy
LITERTdelegate flag from Android API.
iOS
- Update Swift Package Manager (SPM) manifest for MediaPipe Tasks iOS 1.1.0.
- Add iOS Retrieval SPM package (
MediaPipeTasksRetrieval). - Add missing
MPPAudioRecord.htoMediaPipeTasksRetrievalXCFramework headers. - Exclude MediaPipe C API (
_Mp*) symbols from the iOS symbol rename
- Remove the dependency on internal Bazel Apple rules
- v1.0.0MediaPipe v1.0.02026-07-28 · 2026-07-28 22:13 UTC
查看更新说明
Build changes
- Remove MacOS prebuilts
- Replace ITUIOSTestUtil with ITUTestRunEnvironment in iOS tests.
Bazel changes
- Migrate Apple rules dependencies to MODULE.bazel.
Framework and core calculator improvements
- Add Gecko support to MediaPipe Text Embedder Task
- Store wgpu::Instance in WebGpuService.
- Supporting builds with DRISHTI_DISABLE_GL_COMPUTE define.
- Bump MediaPipe version to 0.10.36.
-
- Abseil (com_google_absl): Updated from (2023-10-18) to (2025-01-14).
- Add Gecko support to TextEmbedder C API.
- Use standardized enum constants for Running Mode
- Report Mat type in debug logging.
- Add AddAudioHeaderCalculator
- Remove run_llm_inference.sh
- Add webgpu::Instance to WebGpuDeviceAttachmentManager.
- Fix MediaPipe nightly build failure and cleanup Bzlmod warnings.
- Fix null pointer access in Tensor::GetOpenGlTexture2dReadView() for AHWB backed Tensor.
- Adds SpectrogramFloatCalculator and InverseSpectrogramFloatCalculator to support float precision.
- Add support for Embedding Gemma models in TextEmbedder.
- Make wgpu::Instance a member of WebGpuAsyncFuture.
- Enforce namespacing conventions for MediaPipe Tasks C and Python APIs.
- Add methods to create and access Matrix packets using Direct ByteBuffers.
- Ensure AhwbGpuResources destructor cleans up OpenGL/EGL resources and forces AHWB usage completion.
- Update MediaPipe Python build Dockerfiles.
- Update base options and host environment.
- Introducing extra base options and corresponding conversion/get functions.
- Improve error message for option_value problems
- Support models with empty tags
- Add empty image checks to ScaleImageCalculator.
- Add gpu_postprocessing option for TensorsToSegmentationCalculator.
- Add text chunking utility
- Expand LiteRtService to support system runtime on Android.
- Add
vImageExtractChannelAndConvertToFloatfunction. - Compile with OpenCV 5's features
- Add documentation for LiteRT Inference Calculator accelerators
- Fix data race accessing GlContext::profiling_helper_
- Add a "prefer_ahwb" flag to MemoryManager
- Add Builder v2 and v3 APIs to change the node name
- Add verbose debug logging for buffer pooling
- Updates the manylinux Dockerfile and related build scripts to fix the
- Re-format GraphRunner
- Add EXIF orientation support to MpImageCreateFromFile and the Python Task API
MediaPipe Tasks update
This section should highlight the changes that are done specifically for any platform and don't propagate to other platforms.
Android
- Revert Java switch statement syntax update
- Introducing utils to convert BaseOptions <-> proto::BaseOptions.
- Release TextSummarizer and summarization_200m model
- Release TextProofreader and proofread_200m model
- Update TextSummarizer to load from file descriptor
iOS
- Add Gecko support to iOS Text Embedding API
- Remove iOS and Android LLM Inference Engine from release
- appId/appVersion/osVersion to common utility.
- Makes InteractiveSegmenter a legacy one, in preparation of releasing v2 / new interface.
- Add Documents path fallback for MPPFileInfo.
- Add TextProofreader and TextSummarizer to MediaPipe Tasks iOS.
- Add AudioToolbox framework to MediaPipeTasksCommon podspec.
Javascript
- Add Gecko support to MP Text Embedder for Web
- Add a Module.BAZEL to MediaPipe and migrate JS depdendencies to Aspect JS
- Add dummy logging framework
- Add MediaPipe Tasks Privacy Notice
- Add IIFE bundles for web task modules.
- Export InteractiveSegmenter methods for public visibility
- Allow MP Web LLM Inference to load .litertlm files containing web-formatted LLMs
- MP Web LLM Inference: add new experimental 'disableRewinding' flag for testing long-context support
- Cache running mode in VisionTaskRunner.
Python
- Add Gecko support to the Python Text Embedder API
- Remove MediaPipe Python GenAI components f
- TextSummarizer Python API OSS
- TextProofreader Python API OSS
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
layout: forward target: https://developers.google.com/edge/mediapipe title: Home nav_order: 1
Attention: See https://developers.google.com/edge/mediapipe for the primary developer documentation site for MediaPipe.

On-device machine learning for everyone
Delight your customers with innovative machine learning features. MediaPipe contains everything that you need to customize and deploy to mobile (Android, iOS), web, desktop, edge devices, and IoT, effortlessly.
Get started
You can get started with MediaPipe Solutions by following the developer guides for each solution, including:
If you need help setting up a development environment for use with MediaPipe Tasks, follow our setup guides for:
Solutions
MediaPipe Solutions provides a suite of libraries and tools for you to quickly apply artificial intelligence (AI) and machine learning (ML) techniques in your applications. You can plug these solutions into your applications immediately, customize them to your needs, and use them across multiple development platforms. MediaPipe Solutions is part of the MediaPipe open source project, so you can further customize the solutions code to meet your application needs.
These libraries and resources provide the core functionality for each MediaPipe Solution:
- MediaPipe Tasks: Cross-platform APIs and libraries for deploying solutions. Learn more.
- MediaPipe models: Pre-trained, ready-to-run models for use with each solution.
To customize and evaluate solutions, use MediaPipe Studio. It lets you visualize, test, and benchmark solutions in your browser. Learn more and see our demos.
Framework
To start using MediaPipe Framework, install MediaPipe Framework and start building example applications in C++, Android, and iOS.
MediaPipe Framework is the low-level component used to build efficient on-device machine learning pipelines, similar to the premade MediaPipe Solutions.
Before using MediaPipe Framework, familiarize yourself with the following key Framework concepts:
Community
- Discuss - General community discussion around MediaPipe.
- Awesome MediaPipe - A curated list of awesome MediaPipe related frameworks, libraries and software.
Contributing
We welcome contributions. Please follow these guidelines.
We use GitHub issues for tracking requests and bugs. Please post questions to
the MediaPipe Stack Overflow with a mediapipe tag.
Privacy Notice
Last modified: June 5, 2026
When you use MediaPipe Tasks, processing of the input data (e.g. images, video, text) takes place on device, and MediaPipe does not send that input data to Google servers. As a result, you can use our MediaPipe Tasks APIs for processing data that should not leave the device.
MediaPipe Tasks APIs send metrics about the performance and utilization of the APIs in your app to Google. Google uses this metrics data to measure performance, usage, debug, maintain and improve the MediaPipe Tasks, as further described in our Privacy Policy.
You are responsible for obtaining informed consent from your app users about Google's processing of MediaPipe metrics data as required by applicable law.
###Publications
- Bring multimodal semantic search to the edge with EmbeddingGemma 2 in Google Developers Blog
- Bringing artworks to life with AR in Google Developers Blog
- Prosthesis control via Mirru App using MediaPipe hand tracking in Google Developers Blog
- SignAll SDK: Sign language interface using MediaPipe is now available for developers in Google Developers Blog
- MediaPipe Holistic - Simultaneous Face, Hand and Pose Prediction, on Device in Google AI Blog
- Background Features in Google Meet, Powered by Web ML in Google AI Blog
- MediaPipe 3D Face Transform in Google Developers Blog
- Instant Motion Tracking With MediaPipe in Google Developers Blog
- BlazePose - On-device Real-time Body Pose Tracking in Google AI Blog
- MediaPipe Iris: Real-time Eye Tracking and Depth Estimation in Google AI Blog
- MediaPipe KNIFT: Template-based feature matching in Google Developers Blog
- Alfred Camera: Smart camera features using MediaPipe in Google Developers Blog
- Real-Time 3D Object Detection on Mobile Devices with MediaPipe in Google AI Blog
- AutoFlip: An Open Source Framework for Intelligent Video Reframing in Google AI Blog
- MediaPipe on the Web in Google Developers Blog
- Object Detection and Tracking using MediaPipe in Google Developers Blog
- On-Device, Real-Time Hand Tracking with MediaPipe in Google AI Blog
- MediaPipe: A Framework for Building Perception Pipelines