Об этом проекте

ffmpeg-kit-extended — это полнофункциональный плагин для Flutter и React Native, который оборачивает API FFmpeg, FFprobe и FFplay 9.0.1 для мобильных и настольных платформ. Он использует Dart FFI для прямой привязки к нативным библиотекам FFmpeg, обеспечивая высокопроизводительную обработку мультимедиа, получение информации и аудио/видеовоспроизведение на Android, iOS, macOS, Linux и Windows. Ключевые возможности: - Кроссплатформенное воспроизведение видео с единым surface API (Android Surface, iOS/macOS CVPixelBuffer/Metal, Linux OpenGL, Windows) - Асинхронное и параллельное выполнение команд без блокировки потока пользовательского интерфейса - Передача в реальном времени позиции и размеров видео для контроля живого воспроизведения - Полное управление жизненным циклом сессий (запуск, отмена, список сессий) - Подробные обратные вызовы для журналов, статистики и событий завершения - API интроспекции пакета для запроса версии, даты сборки и доступных муксеров, демультиплексоров, кодировщиков, декодировщиков и фильтров - Поддержка пользовательской загрузки и конфигурации нативных библиотек - Возможность развертывания пользовательских сборок через сопутствующий репозиторий ffmpeg-kit-builders Готовые сборки поставляются в пяти уровнях: base (только ядро), audio, video, video_hw (видео с аппаратным ускорением) и full (все совместимые с платформой библиотеки). Полный комплект включает AI-библиотеки, такие как libopenvino, libtensorflow, libonnxruntime, libtorch, whisper и pocketsphinx на настольных платформах. Поддерживается широкий спектр внешних библиотек: кодеки (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 МБ, full — около 113–170 МБ; iOS base — около 50–55 МБ, full — около 112–147 МБ). Библиотеки под лицензией GPL помечены; для разрешительной лицензии рекомендуются комплекты LGPL. Плагин опубликован на pub.dev (ffmpeg_kit_extended_flutter) и npm (ffmpeg-kit-extended).