展示HN:跨平台Flutter和React-Native插件 – FFmpeg-Kit-Extended
功能齐全的 React-Native 和 Flutter 插件,允许您执行 FFmpeg、FFprobe 和 FFplay 命令,而无需部署这些可执行文件。以原生性能水平获得 FFmpeg 的全部功能。支持 100 多个外部库,并提供预打包的预设分发,涵盖 24 个不同平台的二进制文件,包含多种功能,并支持自定义构建的部署。
核心功能:
- 跨平台支持:支持 Android、iOS、macOS、tvOS、Linux 和 Windows。
- Android:全面的视频播放支持,具有原生表面渲染。
- x86:由于其遗留状态,不支持 x86 架构。
- iOS 和 macOS:高性能视频播放,集成 CVPixelBuffer 和 Metal。
- iOS:支持物理设备和模拟器。由于其遗留状态,不支持 x86_64 架构。
- FFmpeg、FFprobe 和 FFplay:支持最新的 8.1.2 API,用于媒体处理、信息检索和音频/视频播放。
- 视频播放:完整的跨平台视频播放,统一的表面 API。
- 实时流媒体:用于实时播放监控的位置和视频维度流。
- 异步执行:运行长时间任务而不阻塞 UI 线程。
- 并行执行:并行运行多个任务。
- 回调支持:详细的日志、统计和会话完成钩子。
- 会话管理:全面控制执行生命周期(开始、取消、列出)。
- 可扩展:设计允许自定义原生库加载和配置。
- 完整的包内省 API:获取有关包的详细信息,包括版本、构建日期以及可用的复用器、解复用器、编码器、解码器、过滤器等。
- 部署自定义构建:您可以部署自定义的 ffmpeg-kit-extended 构建。请参见: [ffmpeg-kit-builders](https://github.com/akashskypatel/ffmpeg-kit-builders)
- 预构建分发:支持的预构建包类型包括调试、基础、完整、音频、视频和视频_hw。
- 支持的许可证:支持 GPL 和 LGPL 许可证。
平台支持:
- Android(及 Android TV) - Flutter 和 React-Native
- iOS(及模拟器) - Flutter 和 React-Native
- tvOS(及模拟器) - React-Native
- macOS - Flutter 和 React-Native
- Linux - Flutter
- Windows - Flutter 和 React-Native
目前 Flutter 不支持 tvOS,因此 Flutter 不提供 tvOS 支持。React-Native 目前不支持 Linux,因此 React-Native 不提供 Linux 支持。
演示: [演示链接](https://raw.githubusercontent.com/akashskypatel/ffmpeg-kit-extended/refs/heads/master/flutter/doc/demo.gif)
查看原文
Full featured React-Native and Flutter plugin that lets you execute FFmpeg, FFprobe and FFplay commands without needing to deploy those executables. Get the full power of FFmpeg at native performance level. Includes support for 100+ external libraries with pre-bundled preset distributions for 24 different binaries distributed per platform with various included features plus the ability to deploy custom builds.<p><a href="https://github.com/akashskypatel/ffmpeg-kit-extended" rel="nofollow">https://github.com/akashskypatel/ffmpeg-kit-extended</a><p><a href="https://www.npmjs.com/package/ffmpeg-kit-extended" rel="nofollow">https://www.npmjs.com/package/ffmpeg-kit-extended</a><p><a href="https://pub.dev/packages/ffmpegkitextended_flutter" rel="nofollow">https://pub.dev/packages/ffmpegkitextended_flutter</a><p>Core features:<p>- Cross-Platform Support: Works on Android, iOS, macOS, tvOS, Linux and Windows.<p>-- Android: Full video playback support with native surface rendering.<p>--- x86: x86 architecture is not supported due to its legacy status.<p>-- iOS & macOS: High-performance video playback with CVPixelBuffer and Metal integration.<p>-- iOS: Supports both physical devices and simulators. x86_64 architecture is not supported due to its legacy status.<p>- FFmpeg, FFprobe & FFplay: Latest 8.1.2 API support for media manipulation, information retrieval, and audio/video playback.<p>- Video Playback: Complete cross-platform video playback with unified surface API.<p>- Real-time Streaming: Position and video dimension streams for live playback monitoring.<p>- Asynchronous Execution: Run long-running tasks without blocking the UI thread.<p>- Parallel Execution: Run multiple tasks in parallel.<p>- Callback Support: detailed hooks for logs, statistics, and session completion.<p>- Session Management: Full control over execution lifecycle (start, cancel, list).<p>- Extensible: Designed to allow custom native library loading and configuration.<p>- Full package Introspection API: Get detailed information about the package, including version, build date, and available muxers, demuxers, encoders, decoders, filters, etc.<p>- Deploy Custom Builds: You can deploy custom builds of ffmpeg-kit-extended. See: <a href="https://github.com/akashskypatel/ffmpeg-kit-builders" rel="nofollow">https://github.com/akashskypatel/ffmpeg-kit-builders</a><p>- Prebuilt Distributions: Supported pre-built bundle types are debug, base, full, audio, video, and video_hw.<p>- Supported Licenses: supports both GPL and LGPL licenses<p>Platform Support:<p>Android (and Android TV) - Flutter & React-Native<p>iOS (and Simulator) - Flutter & React-Native<p>tvOS (and Simulator) - React-Native<p>macOS - Flutter & React-Native<p>Linux - Flutter<p>Windows - Flutter & React-Native<p>Flutter currently does not natively support tvOS, so tvOS support is not available for Flutter.<p>React-native currently does not natively support Linux, so Linux support is not available for React-native.<p>Demo : <a href="https://raw.githubusercontent.com/akashskypatel/ffmpeg-kit-extended/refs/heads/master/flutter/doc/demo.gif" rel="nofollow">https://raw.githubusercontent.com/akashskypatel/ffmpeg-kit-e...</a>