mdk 0.4.1

Additional Details

new sdk is available

There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package mdk --version 0.4.1
NuGet\Install-Package mdk -Version 0.4.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="mdk" Version="0.4.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add mdk --version 0.4.1
#r "nuget: mdk, 0.4.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install mdk as a Cake Addin
#addin nuget:?package=mdk&version=0.4.1

// Install mdk as a Cake Tool
#tool nuget:?package=mdk&version=0.4.1

MDK: Multimedia Development Kit

Features

  • Simple and powerful API set
  • Cross platform: Windows, UWP, Linux, macOS, Android, iOS, Raspberry Pi
  • Hardware accelerated decoding and 0-copy GPU rendering for all supported platforms
  • OpenGL rendering w/ or w/o user provided context
  • Ingegrated with any gui toolkits via OpenGL (Qt, SDL, glfw, SFML etc.) easily
  • Seamless/Gapless media and bitrate switch for any media
  • Configurable FFmpeg runtime libraries.
  • HDR rendering in GPU

FFmpeg Runtime Lookup

FFmpeg modules can be specified via environment var AVUTIL_LIB, AVCODEC_LIB, AVFORMAT_LIB, AVFILTER_LIB, SWRESAMPLE_LIB, SWSCALE_LIB, or SetGlobalOption() with key avutil_lib, avcodec_lib, avformat_lib, swresample_lib, swscale_lib, avfilter_lib. For example SetGlobalOption("avutil_lib", "ffmpeg-4.dll")

If ffmpeg any module is not set, it's searched in the following order

  • current module dir > framework dir(apple) > system default search dir
  • single ffmpeg library > ffmpeg modules w/ version > ffmpeg modules w/o version

About SDK for Windows Desktop

SDK is built by clang-cl 9.0 + lld with

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

Use in Visual Studio

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.

Runtime Requirements

  • Vista+
  • ucrt, vc140+ runtime

Recommended(optional):

  • libEGL.dll, libGLESv2.dll, D3DCompiler_47/43.dll. Better performance especially for hardware decoding 0-copy rendering. Qt apps can use qt's dlls

Supported decoders:

  • FFmpeg. options: threads=N. e.g. -c:v FFmpeg. -c:v FFmpeg:threads=4
  • MFT. options: d3d=0/9/11, pool=0/1. e.g. -c:v MFT(software), -c:v MFT:d3d=11(hardware).
  • CUDA
  • D3D11: via FFmpeg
  • DXVA: via FFmpeg
  • NVDEC: via FFmpeg
  • CUVID: via FFmpeg
  • QSV: via FFmpeg, not tested

Supported Graphics APIs:

  • OpenGL: via WGL. The default if EGL runtime is not found.
  • OpenGL ES2/3: via ANGLE or others. The default if EGL runtime is found.

ANGLE OpenGL ES2/3 is recommended on Windows. 0 overhead for GPU decoder rendering.

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-2019 WangBin(the author of QtAV) <wbsecg1 at gmail.com> Free for non-commercial use.

Product Compatible and additional computed target framework versions.
native native is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.27.0.1496 310 5/6/2024
0.26.0.1387 354 3/31/2024
0.25.0.1311 208 1/31/2024