|
2 | 2 |
|
3 | 3 | [](https://dev.azure.com/kb137035/mdk/_build/latest?definitionId=2&branchName=master)
|
4 | 4 |
|
5 |
| -**Download **[Nightly Build SDK](https://sourceforge.net/projects/mdk-sdk/files/nightly/) |
| 5 | +**Download** [Nightly Build SDK](https://sourceforge.net/projects/mdk-sdk/files/nightly/) |
6 | 6 |
|
7 | 7 | [Changelog](https://github.com/wang-bin/mdk-sdk/blob/master/Changelog.md)
|
8 | 8 |
|
9 | 9 | ## Features
|
10 |
| -- Simple and powerful API set |
11 |
| -- Cross platform: Windows, UWP, Linux, macOS, Android, iOS, Raspberry Pi |
12 |
| -- Hardware accelerated decoding and 0-copy GPU rendering for all platforms |
13 |
| -- OpenGL, D3D11, Vulkan and Metal rendering w/ or w/o user provided context |
14 |
| -- Integrated with any gui toolkits or apps via OpenGL, D3D11, Vulkan and Metal (OBS, Qt, SDL, glfw, SFML etc.) easily |
15 |
| -- Seamless/Gapless media and bitrate switch for any media |
| 10 | + |
| 11 | +- [Simple and powerful API set](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs) |
| 12 | +- [Cross platform: Windows, UWP, Linux, macOS, Android, iOS, Raspberry Pi](https://github.com/wang-bin/mdk-sdk/wiki/System-Requirements) |
| 13 | +- [Hardware accelerated decoders](https://github.com/wang-bin/mdk-sdk/wiki/Decoders) |
| 14 | +- [0-copy GPU rendering for all platforms and all renderers(Vulkan is WIP.)](https://github.com/wang-bin/mdk-sdk/wiki/Zero-Copy-Renderer) |
| 15 | +- [Dynamic OpenGL](https://github.com/wang-bin/mdk-sdk/wiki/OpenGL-Support-Matrix) |
| 16 | +- [OpenGL, D3D11, Vulkan and Metal rendering w/ or w/o user provided context](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) |
| 17 | +- Integrated with any platform native ui apps, gui toolkits or other apps via [OpenGL, D3D11, Vulkan and Metal](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) ([OBS](https://github.com/wang-bin/obs-mdk), [Qt](https://github.com/wang-bin/mdk-examples/tree/master/Qt), [SDL](https://github.com/wang-bin/mdk-examples/tree/master/SDL), [GLFW](https://github.com/wang-bin/mdk-examples/tree/master/GLFW), [SFML](https://github.com/wang-bin/mdk-examples/tree/master/SFML) etc.) easily |
| 18 | +- [Seamless/Gapless media and bitrate switch for any media](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs) |
16 | 19 | - HDR rendering in GPU
|
17 |
| -- Optimized Continuous seeking. As fast as mpv, but much lower cpu, memory and gpu load. Suitable for timeline preview |
18 |
| -- Smart FFmpeg runtime. See https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime |
| 20 | +- Optimized Continuous seeking. As fast as mpv, but much lower cpu, memory and gpu load. Suitable for [timeline preview](https://github.com/wang-bin/mdk-sdk/wiki/Typical-Usage#timeline-preview) |
| 21 | +- [Smart FFmpeg runtime](https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime) |
19 | 22 |
|
20 | 23 | ## [API Levels](https://github.com/wang-bin/mdk-sdk/wiki/%E9%80%9A%E7%94%A8ABI%E7%9A%84CPP%E5%BA%93API%E8%AE%BE%E8%AE%A1)
|
21 |
| -- ABI level APIs(not public): the implementation, in abi namespace. depends on c++ abi. build and runtime abi must be matched. |
| 24 | + |
| 25 | +- ABI level APIs(not public): the implementation, in abi namespace. depends on c++ abi. build and runtime abi must be matched. Used internally and for plugins. |
22 | 26 | - C APIs: No C++ ABI restriction.
|
23 | 27 | - C++ APIs: a header only thin wrapper for C APIs. No C++ ABI restriction. No user code change to switch between ABI level APIs and C++ APIs.
|
24 | 28 |
|
|
27 | 31 | ## Install
|
28 | 32 |
|
29 | 33 | ### CMake
|
| 34 | + |
30 | 35 | ```
|
31 | 36 | include(mdk-sdk-dir/lib/cmake/FindMDK.cmake)
|
32 | 37 | target_link_libraries(your_target PRIVATE mdk)
|
|
38 | 43 |
|
39 | 44 | ` pod 'mdk'`
|
40 | 45 |
|
| 46 | +Optionally you can use [mdk.xcframework](https://sourceforge.net/projects/mdk-sdk/files/nightly/mdk-sdk-apple.tar.xz/download) |
| 47 | + |
| 48 | +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 {} \;` |
| 49 | + |
41 | 50 | ### Nuget
|
42 | 51 |
|
43 | 52 | Install via [NuGet](https://www.nuget.org/packages/mdk) in Visual Studio for both Windows desktop and UWP
|
44 | 53 |
|
45 | 54 |
|
46 |
| - |
47 |
| -# Documents |
| 55 | +## Documents |
48 | 56 |
|
49 | 57 | - [wiki](https://github.com/wang-bin/mdk-sdk/wiki)
|
50 | 58 | - sdk headers
|
51 | 59 |
|
52 | 60 |
|
53 | 61 |
|
54 |
| -## TODO: |
| 62 | +## Open Source |
| 63 | +### Modules and Dependencies |
| 64 | +- [License generator and validator](https://github.com/wang-bin/appkey) |
| 65 | +- [Android java wrapper and example](https://github.com/wang-bin/mdk-android) |
| 66 | +- [MediaFoundation decoder module](https://github.com/wang-bin/mdk-mft) |
| 67 | +- [av1 software decoder module](https://github.com/wang-bin/mdk-dav1d) |
| 68 | +- [sunxi decoder + renderer](https://github.com/wang-bin/mdk-sunxi) |
| 69 | +- [GFX surface and render loop](https://github.com/wang-bin/ugs) |
| 70 | +- [Java support](https://github.com/wang-bin/JMI) |
| 71 | +- [Android java and jni APIs in C++](https://github.com/wang-bin/AND) |
| 72 | +- [C++ TLS](https://github.com/wang-bin/ThreadLocal) |
| 73 | +- [C++ compatibility layer](https://github.com/wang-bin/cppcompat) |
| 74 | +- [cmake tools](https://github.com/wang-bin/cmake-tools) |
| 75 | + |
| 76 | +### Examples and Plugins for Other Frameworks |
| 77 | +- [examples for different platforms and gui toolkits](https://github.com/wang-bin/mdk-examples) |
| 78 | +- [Swift player for macOS](https://github.com/wang-bin/SPV) |
| 79 | +- [obs-studio video source plugin](https://github.com/wang-bin/obs-mdk) |
| 80 | +- [as a qtmultimedia plugin](https://github.com/wang-bin/qtmultimedia-plugins-mdk) |
55 | 81 |
|
56 |
| -https://github.com/wang-bin/mdk-sdk/wiki/TODO |
| 82 | +### Language Bindings |
| 83 | +- [swift binding](https://github.com/wang-bin/mdkSwift) |
| 84 | + |
| 85 | +## Users |
| 86 | + |
| 87 | +<a href="https://bigringvr.com"><img src="https://bigringvr.com/images/BR_Logo_only.svg" width=140 height=120 alt="BigRingVR"/></a> |
| 88 | +<a herf="http://1218.io"><img src="https://avatars.githubusercontent.com/u/15963166?v=4" width=120 height=120 alt="Seer"/></a> |
| 89 | +<a href="https://www.heavym.net/en"><img alt="HeavyM" src="https://eadn-wc04-3624428.nxedge.io/cdn/wp-content/uploads/2020/09/Logo-Verticale-Base-Sans-signature-Small-border.svg" height=120 ></a> |
| 90 | +<a href="https://sureyyasoft.com"><img class="logo" src="http://sureyyasoft.com/images/s_images/logo_title.png" height=70 alt="SureyyaSoft"></a> |
| 91 | +[](https://www.flyability.com) |
| 92 | + |
| 93 | +[金嵘达科技](http://www.kingroda.com) |
| 94 | + |
| 95 | +[爱玩宝](https://www.aiwanbao.com) |
57 | 96 |
|
58 | 97 |
|
59 | 98 |
|
60 |
| -## Open Source Modules and Examples |
61 |
| -- swift: https://github.com/wang-bin/swiftMDK |
62 |
| -- Android java wrapper and example: https://github.com/wang-bin/mdk-android |
63 |
| -- MFT decoder module: https://github.com/wang-bin/mdk-mft |
64 |
| -- av1 decoder module: https://github.com/wang-bin/mdk-dav1d |
65 |
| -- sunxi decoder + renderer: https://github.com/wang-bin/mdk-sunxi |
66 |
| -- obs plugin: https://github.com/wang-bin/obs-mdk |
67 |
| -- examples for different platforms and gui toolkits: https://github.com/wang-bin/mdk-examples |
68 |
| -- as a qtmultimedia plugin: https://github.com/wang-bin/qtmultimedia-plugins-mdk |
69 |
| -- GFX surface: https://github.com/wang-bin/ugs |
70 |
| -- Java support: https://github.com/wang-bin/JMI |
71 |
| -- Android APIs in C++: https://github.com/wang-bin/AND |
72 |
| -- C++ TLS: https://github.com/wang-bin/ThreadLocal |
73 |
| -- C++ compatibility layer: https://github.com/wang-bin/cppcompat |
74 |
| -- cmake: https://github.com/wang-bin/cmake-tools |
75 | 99 |
|
76 | 100 | ## License
|
| 101 | + |
77 | 102 | - 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.
|
78 |
| -- Free for GPL softwares, opensource projects, QtAV donors and contributors, no commercial softwares: you can acquire a key from me. |
79 |
| -- Commercial license: a key for an app for a single platform or multiple platforms. |
| 103 | +- Free for opensource projects, QtAV donors and contributors, non-commercial softwares: you can acquire a key from me. |
| 104 | +- Commercial license: a key for an app for a single platform or multiple platforms. |
| 105 | + |
| 106 | +License key generator and validator is [open source](https://github.com/wang-bin/appkey) |
0 commit comments