Skip to content

Latest commit

 

History

History
109 lines (82 loc) · 6.54 KB

README.Windows.md

File metadata and controls

109 lines (82 loc) · 6.54 KB

MDK: Multimedia Development Kit

Features

About SDK for Windows Desktop & UWP

SDK is built by

SDK can be used by any C or C++11 compiler, e.g. vs2015, vs2022, mingw g++, clang

Use in Visual Studio

Install via NuGet (Recommended)

mdk is published on https://www.nuget.org/packages/mdk/. Now you can install it in visual studio.

Import from Release Package

mdk sdk can be imported by vs projects. Insert the following line in your vcxproj as the last element of Project (assume mdk-sdk is in the same dir as vcxproj)

<Import Project="mdk-sdk\build\native\MDK.targets" Condition="Exists('mdk-sdk\build\native\MDK.targets')" />

Once installed or imported, necessary compile flags and link flags will be added, runtime dlls will be copied to output dir.

Use in CMake Projects

	include(mdk-sdk-dir/lib/cmake/FindMDK.cmake)
	target_link_libraries(your_target PRIVATE mdk)

Qt qmake project

include($$MDK_SDK_DIR/mdk.pri)

Recommended settings

    player.setDecoders(MediaType::Video, {"MFT:d3d=11", "D3D11", "CUDA", "hap", "FFmpeg", "dav1d"});
  • Vista+
  • ucrt, vc140+ runtime

Optional:

  • libEGL.dll, libGLESv2.dll, D3DCompiler_47/43.dll. Qt apps can use qt's dlls
  • vulkan
  • D3D11: recommended
  • D3D12
  • OpenGL(No UWP): via WGL. The default if EGL runtime is not found.
  • OpenGL ES2/3: via ANGLE or others. The default if EGL runtime is found.
  • Vulkan(No UWP)
  • FFmpeg. options: threads=N. e.g. -c:v FFmpeg. -c:v FFmpeg:threads=4
  • MFT. options: d3d=0/9/11/12, pool=0/1. e.g. -c:v MFT(software), -c:v MFT:d3d=11(hardware) or MFT:d3d=12.
  • CUDA(No UWP)
  • D3D11: via FFmpeg
  • DXVA(No UWP): via FFmpeg
  • NVDEC(No UWP): via FFmpeg
  • CUVID(No UWP): via FFmpeg
  • QSV(No UWP): via FFmpeg
  • BRAW: Blackmagic RAW
  • R3D: R3D RAW
  • hap
  • VAAPI

Examples

gapless playback for any audio and video: mdkplay.exe(or glfwplay.exe/window.exe/sdlplay.exe) file file2 ...

N players for 1 video: multiplayers -es -share -c:v D3D11 -win N url

N videos and N players: multiplayers -es -share -c:v D3D11 url1 url2 ... urlN

N videos renderers for 1 player: multiwidnows url

Source code:

Copyright (c) 2016-2024 WangBin(the author of QtAV) Free for opensource softwares, non-commercial softwares, flutter, QtAV donors and contributors.