Skip to content
WangBin edited this page Oct 31, 2023 · 82 revisions

Build status github

Build Status

Download Nightly Build SDK

Changelog. API

Features

Install

CMake

  include(${MDK_SDK_DIR}/lib/cmake/FindMDK.cmake)
  target_link_libraries(your_target PRIVATE mdk)

Qt qmake

include($$MDK_SDK_DIR/mdk.pri)

CocoaPods

pod 'mdk'

Optionally you can use mdk.xcframework directly.

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 "lib*.dylib" -exec codesign -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

Recommended settings

  • macOS, iOS: player.setDecoders(MediaType::Video, {"VT", "hap", "FFmpeg", "dav1d"});
  • Windows: player.setDecoders(MediaType::Video, {"MFT:d3d=11", "D3D11", "CUDA", "hap", "FFmpeg", "dav1d"});
  • Linux:
    // XInitThreads(); // If using x11. before any x11 api call. some gui toolkits already call this, e.g. qt, glfw
    SetGlobalOption("X11Display", DisplayPtr); // If using x11. Requred by VAAPI, VDPAU
    player.setDecoders(MediaType::Video, {"VAAPI", "VDPAU", "CUDA", "hap", "FFmpeg", "dav1d"});
  • Raspberry Pi: use mdk-sdk-linux.tar.xz, delete libffmpeg.so.* to use system ffmpeg to support h264, hevc hardware decoder and 0-copy rendering
    player.setDecoders(MediaType::Video, {"V4L2M2M", "FFmpeg:hwcontext=drm", "FFmpeg"});
  • Android:
    SetGlobalOption("JavaVM", JvmPtr); // REQUIRED
    player.setDecoders(MediaType::Video, {"AMediaCodec", "FFmpeg", "dav1d"});

Live streams (RTSP, RTMP etc.) low latency

player.setProperty("avformat.fflags", "+nobuffer");
player.setProperty("avformat.analyzeduration", "10000");
player.setProperty("avformat.probesize", "1000");
player.setProperty("avformat.fpsprobesize", "0");

Open Source

Modules and Dependencies

Examples and Plugins for Other Frameworks

Language Bindings

Sponsors

Sportimization

Users

BigRingVR Seer HeavyM Sportimization SureyyaSoft Flyability Quipu GyroFlow XnViewMP www.connecting-technology smartplayer

金嵘达科技 爱玩宝

License

  • Free for opensource projects, QtAV donors and contributors: you can acquire a key from me. Can be commercial software
  • Free for Flutter users. A key is already included. Can be commercial softwares.
  • Free for other non-commercial users: you can acquire a key from me.
  • Commercial license for other users: a key for an app for a single platform or multiple platforms.
  • Other users without a key: make sure your sdk is updated, otherwise you may see an QR image in the last frame.

License key generator and validator is open source

Clone this wiki locally