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

MDK SDK — кросс-платформенный комплект разработки для воспроизведения мультимедиа, предназначенный для встраивания декодирования и рендеринга видео в нативные и GUI-приложения. Он поддерживает Windows x86/ARM, UWP, Linux, macOS, Android, OpenHarmony, iOS, tvOS, visionOS, Raspberry Pi и RockChip, а также предоставляет API проигрывателя и способы интеграции для Qt, SDL, GLFW, SFML, Flutter, OBS, WinUI3 и .NET Avalonia, среди прочих. SDK делает акцент на аппаратно ускоренном декодировании и рендеринге на GPU с нулевым копированием. Бэкенды рендеринга включают OpenGL, D3D11, D3D12, Vulkan и Metal с контекстом, предоставленным приложением, или без него; поддержка Vulkan описана как находящаяся в разработке. Поддерживаются сквозная передача метаданных HDR и тональное отображение HDR/SDR, Dolby Vision Profile 5 для HEVC и AV1, альфа-канал в HEVC и VP8/VP9, а также субтитры, включая ASS, обычный текст, растровые субтитры и скрытые субтитры. Возможности воспроизведения включают бесшовное или беззазорное переключение медиа и битрейта, непрерывную перемотку для предпросмотра на временной шкале и поддержку профессиональных кодеков, таких как HAP, ProRes Raw, Blackmagic RAW, R3D/N-RAW и nvJPEG2000. FFmpeg загружается динамически во время выполнения с задокументированной бинарной совместимостью с FFmpeg 4.0 по 9.x. Пакеты можно использовать через CMake, qmake, CocoaPods, Swift Package Manager, NuGet и OpenHarmony ohpm. Привязки к языкам охватывают Swift, Flutter/Dart, C# и ArkTS. Для распространения требуются библиотека MDK и FFmpeg; компоненты libass, декодирование AV1 через dav1d, Blackmagic RAW и R3D являются необязательными в зависимости от используемых функций. Проект предоставляет документацию в вики, заголовочные файлы SDK, примеры, рекомендации по декодерам для конкретных платформ, журнал изменений и ночные сборки. Лицензирование основано на ключах: бесплатное использование описано для соответствующих условий проектов с открытым исходным кодом, некоммерческого использования, Flutter, участников и спонсоров, тогда как коммерческие лицензии предлагаются для остальных приложений.