这个项目能做什么

ffmpeg-kit-extended 是一款功能全面的 Flutter 和 React Native 插件,面向移动与桌面平台封装了 FFmpeg、FFprobe 和 FFplay 9.0.1 API。它使用 Dart FFI 直接绑定原生 FFmpeg 库,在 Android、iOS、macOS、Linux 和 Windows 上提供高性能的媒体处理、信息检索和音视频播放能力。 主要功能包括: - 跨平台视频播放,提供统一的 surface API(Android Surface、iOS/macOS CVPixelBuffer/Metal、Linux OpenGL、Windows) - 异步并行命令执行,不会阻塞 UI 线程 - 实时流式返回播放位置和视频尺寸,用于直播播放监控 - 完整的会话生命周期管理(启动、取消、列出会话) - 针对日志、统计信息和完成事件提供详细回调 - 包内省 API,可查询版本、构建日期以及可用的 muxer、demuxer、编码器、解码器和滤镜 - 支持自定义原生库加载与配置 - 可通过配套的 ffmpeg-kit-builders 仓库部署自定义构建版本 预构建版本分为五个层级:base(仅核心)、audio、video、video_hw(硬件加速视频)和 full(所有平台兼容库)。full 包在桌面平台包含 libopenvino、libtensorflow、libonnxruntime、libtorch、whisper 和 pocketsphinx 等 AI 库。支持大量外部库,覆盖编解码器(libx264、libx265、libvpx、libaom、libdav1d 等)、流媒体(libsrt、librist、librtmp)、硬件加速(Vulkan、OpenCL、CUDA、VAAPI、VideoToolbox、MediaFoundation)以及平台专用框架(AVFoundation、MediaCodec、JNI)。 平台支持矩阵: - Android(API 26+):armv7、arm64、x86_64;Flutter 和 React Native - iOS 13+ / tvOS 13+:arm64;Flutter 和 React Native(tvOS 不支持 Flutter) - macOS 13+:arm64、x86_64;Flutter 和 React Native - Linux(glibc 2.28+):x86_64;仅 Flutter - Windows 8+:x86_64;Flutter 和 React Native 包体积因平台和层级而异(例如 Android base 约 30-38 MB,full 约 113-170 MB;iOS base 约 50-55 MB,full 约 112-147 MB)。GPL 许可的库会被明确标记;如需宽松许可,建议使用 LGPL 包。 该插件已发布在 pub.dev(ffmpeg_kit_extended_flutter)和 npm(ffmpeg-kit-extended)上。