프로젝트 소개

MDK SDK는 네이티브 및 GUI 애플리케이션에 비디오 디코딩과 렌더링을 내장하기 위한 크로스 플랫폼 멀티미디어 재생 개발 키트입니다. Windows x86/ARM, UWP, Linux, macOS, Android, OpenHarmony, iOS, tvOS, visionOS, Raspberry Pi 및 RockChip을 지원하며, Qt, SDL, GLFW, SFML, Flutter, OBS, WinUI3 및 .NET Avalonia 등을 위한 플레이어 API와 통합 경로를 제공합니다. SDK는 하드웨어 가속 디코딩과 제로 카피 GPU 렌더링을 강조합니다. 렌더링 백엔드에는 OpenGL, D3D11, D3D12, Vulkan 및 Metal이 포함되며, 애플리케이션 제공 컨텍스트 유무에 관계없이 사용 가능합니다. Vulkan 지원은 진행 중인 작업으로 문서화되어 있습니다. HDR 메타데이터 패스스루 및 HDR/SDR 톤 매핑, HEVC 및 AV1용 Dolby Vision Profile 5, 알파 채널 HEVC 및 VP8/VP9, ASS, 일반 텍스트, 비트맵 및 폐쇄 자막을 포함한 자막을 지원합니다. 재생 기능에는 끊김 없는 또는 갭리스 미디어 및 비트레이트 전환, 타임라인 미리보기를 위한 연속 탐색, HAP, ProRes Raw, Blackmagic RAW, R3D/N-RAW 및 nvJPEG2000과 같은 전문 코덱 지원이 포함됩니다. FFmpeg는 런타임에 동적으로 로드되며, FFmpeg 4.0부터 9.x까지의 바이너리 호환성이 문서화되어 있습니다. 패키지는 CMake, qmake, CocoaPods, Swift Package Manager, NuGet 및 OpenHarmony ohpm을 통해 사용할 수 있습니다. 언어 바인딩은 Swift, Flutter/Dart, C# 및 ArkTS를 다룹니다. 배포에는 MDK 라이브러리와 FFmpeg가 필요하며, libass, dav1d AV1 디코딩, Blackmagic RAW 및 R3D 구성 요소는 사용되는 기능에 따라 선택 사항입니다. 프로젝트는 위키 문서, SDK 헤더, 예제, 플랫폼별 디코더 권장 사항, 변경 로그 및 야간 빌드를 제공합니다. 라이선스는 키 기반입니다. 적격한 오픈 소스, 비상업적, Flutter, 기여자 및 기증자 사용에 대해 무료 사용이 설명되어 있으며, 다른 애플리케이션에는 상업용 라이선스가 제공됩니다.