Download Nightly Build SDK
Features
- Simple and powerful API set
- Cross platform: Windows, UWP, Linux, macOS, Android, iOS, Raspberry Pi
- Hardware accelerated decoders
- 0-copy GPU rendering for all platforms and all renderers(Vulkan is WIP.)
- Dynamic OpenGL
- OpenGL, D3D11, D3D12, Vulkan and Metal rendering w/ or w/o user provided context
- Integrated with any platform native ui apps, gui toolkits or other apps via OpenGL, D3D11/12, Vulkan and Metal (OBS, Flutter, Qt, SDL, GLFW, SFML etc.) easily
- HDR display, HDR to SDR and SDR to HDR tone mapping
- Seamless/Gapless media and bitrate switch for any media
- Optimized Continuous seeking. As fast as mpv, but much lower cpu, memory and gpu load. Suitable for timeline preview
- Subtitle rendering, including ass, plain text, bitmap, closed caption
- Smart FFmpeg runtime, dynamic load, compatible with 4.x~6.x abi
- Professional codecs: GPU accelerated HAP codec rendering, Blackmagic RAW, R3D
Install
CMake
include(mdk-sdk-dir/lib/cmake/FindMDK.cmake)
target_link_libraries(your_target PRIVATE mdk)
CocoaPods
For macOS and iOS
pod 'mdk'
Optionally you can use mdk.xcframework
If fail to code sign: In Build Phase
, add a New Run Script Phase
with content [ -n "$CODE_SIGN_IDENTITY" ] && find "$BUILT_PRODUCTS_DIR" -depth -name "libffmpeg*.dylib" -exec codesign -i mdk.framework.ffmpeg -f -vvvv -s"${EXPANDED_CODE_SIGN_IDENTITY}" ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements,flags {} \;
Nuget
Install via NuGet in Visual Studio for both Windows desktop and UWP
Documents
- wiki
- sdk headers
Open Source
Modules and Dependencies
- License generator and validator
- Android java wrapper and example
- blackmagic raw plugin
- MediaFoundation decoder module
- av1 software decoder module
- sunxi decoder + renderer
- GFX surface and render loop
- Java support
- Android java and jni APIs in C++
- C++ TLS
- C++ compatibility layer
- cmake tools
- Blackmagic RAW
- R3D RAW
Examples and Plugins for Other Frameworks
- examples for different platforms and gui toolkits
- Swift player for macOS
- obs-studio video source plugin
- as a qtmultimedia plugin
Language Bindings
Sponsors
Users
License
- Use for free: make sure your sdk is updated, otherwise you may see an QR image in the last frame. sdk will be released every month.
- Free for opensource projects, QtAV donors and contributors, non-commercial softwares: you can acquire a key from me.
- Commercial license: a key for an app for a single platform or multiple platforms.
License key generator and validator is open source