Об этом проекте

KSPlayer — это фреймворк для воспроизведения мультимедиа на операционных системах Apple, включая iOS 13+, macCatalyst 14+, macOS 10.15+, tvOS 13+, xrOS 1+ и visionOS. Он построен на основе AVPlayer и FFmpeg и предоставляет вид плеера, а также низкоуровневые параметры воспроизведения для приложений, которым нужны настраиваемые элементы управления видео или особое поведение потоковой передачи. Документированный общий набор функций охватывает воспроизведение 4K, HDR и HDR10, видео 360 градусов, режим «картинка в картинке», аппаратное ускорение, автоматическое определение деинтерлейсинга, многоканальный и пространственный звук, пользовательские сетевые протоколы, такие как NFS и SMB, текстовые и графические субтитры, скрытые субтитры, онлайн-поиск субтитров, бесшовное циклическое воспроизведение диапазона, низколатентную трансляцию по локальной сети и автоматическое переключение между потоками с несколькими битрейтами. В проекте также документирована поддержка HLG, HDR10+, Dolby Vision и Dolby Atmos, при этом некоторые расширенные функции Dolby и воспроизведения доступны только в платной редакции LGPL. KSPlayer по умолчанию распространяется под лицензией GPL. Доступна платная версия LGPL, а также другие коммерческие лицензионные соглашения. Таблица функций различает редакции: возможности, доступные только в платной версии, включают масштабирование видео, предпросмотр полосы прогресса, предварительное кэширование на жесткий диск, вывод на другой экран, переключение видео с нулевой задержкой, передачу звука по Wi-Fi, перемотку прямого эфира, офлайн-генерацию и перевод ИИ-субтитров, отдельные URL-адреса аудио и видео, воспроизведение Blu-ray ISO/BDMV/DVD, возобновляемое воспроизведение в мини-окне приложения, поддержку MKV в AVPlayer, нативный E-AC-3 Atmos, динамические метаданные Dolby Vision P5/P8, AC-4, аппаратное декодирование AV1, динамические метаданные HDR10+, перевод субтитров, воспроизведение 8K или 120 FPS, загрузку видео и конвертацию форматов, основные и дополнительные субтитры, а также полный рендеринг субтитров ASS через libass. В таблице указаны FFmpeg 9.0.1 для версии LGPL и FFmpeg 6.1.0 для версии GPL. Интеграция документирована через Swift Package Manager и CocoaPods. Приведенные примеры создают IOSVideoPlayerView, воспроизводят URL-адрес или KSPlayerResource, определяют несколько определений качества с обложками, прикрепляют пользовательские HTTP-заголовки, наблюдают за временем и состоянием воспроизведения через обратные вызовы или делегат, создают подкласс вида плеера для настройки пользовательского интерфейса, выбирают аудио- или субтитровые дорожки и настраивают буферизацию, автовоспроизведение, перемотку, зацикливание, фильтры, аппаратное декодирование, субтитры, задержку звука, задержку видео, поворот, режим «картинка в картинке» и поведение удаленного управления через KSOptions. Доступно демонстрационное рабочее пространство: выполните pod install в каталоге Demo и откройте сгенерированное рабочее пространство Xcode. В репозитории также перечислены приложения App Store, которые, по словам автора, лицензированы для использования SDK, и предоставлена контактная информация для коммерческой настройки и лицензирования.