このプロジェクトについて
AetherEngineは、Appleプラットフォーム(iOS、tvOS、macOS、visionOS)向けのメディアプレーヤーエンジンで、Swiftパッケージとして配布されています。これは完全なプレーヤーではなく、埋め込み可能なエンジンです。単一のビュー(UIKit/AppKit用のAetherPlayerView、SwiftUI用のAetherPlayerSurface)と非同期メソッドを公開し、トランスポートコントロール、メニュー、ビジュアルデザインはホストアプリに委ねます。アナリティクスは含まれていません。
アーキテクチャ:FFmpegがデマルチプレックスを処理し、デコードは可能な限りプラットフォームに依存します。H.264、HEVC、ハードウェア対応AV1はVideoToolboxを経由し、その他の形式(dav1d経由のAV1、VP9/VP8、MPEG-2、VC-1、MPEG-4 Part 2など)はlibavcodecソフトウェアデコードを使用します。ホストされるレイヤーは、ホストが認識する必要なく、セッションごとにAVPlayerLayerとAVSampleBufferDisplayLayerの間で切り替えられます。
フォーマットカバレッジには、MKV、MP4、WebM、MPEG-TS、AVI、ASF/WMV、OGG、FLVなどのコンテナに加え、タイトルとチャプター選択を備えた復号化されたDVD-VideoおよびBlu-ray ISOが含まれます。HDRサポートは、HDR10、HDR10+(フレームごとのST 2094-40)、Dolby Vision(P5、P7シングルレイヤー8.1、P8.1、P8.4、AV1 P10.x)、HLGをカバーします。オーディオはAAC、AC3、EAC3、FLAC、ALACなど多数を処理し、サポートされていないコーデックはEAC3 5.1またはロスレスFLACにブリッジします。Dolby Atmos(EAC3+JOC)は、HDMI MAT、AirPods空間オーディオ、Bluetoothルートでストリームコピーされます。オーディオ専用ロードオプションは、システムのNow-Playing統合を備えた軽量パイプラインを提供します。
ライブTVサポートには、オプションのDVRタイムシフトを備えた無制限のライブ再生、AES-128クリアキーとSSAI広告ポッド処理を備えた直接HLSインジェストが含まれます。字幕は、テキスト形式(SRT、ASS、SSA、VTT、mov_text)、CGImageとしてレンダリングされるビットマップ形式(PGS、DVB、DVD)、帯域内CEA-608クローズドキャプション、および選択可能なキャプションページを備えたlibzvbi経由でデコードされるDVBテレテキストをカバーします。外部字幕ファイルはファーストクラストラックとして扱われます。オプションのネイティブWebVTTレンディションにより、字幕はピクチャインピクチャ、AirPlay、外部ディスプレイでも存続できます。ビットマップトラックは、これらのコンテキスト向けにデバイス上でOCR認識され、テキストレンディションに変換できます。
その他の機能には、サムネイルとフレーム正確なスナップショットのための再生外FrameExtractor、文字起こしや音声認識のためのデコード済みPCMを提供するオプトインオーディオタップ、メタデータ解析、視聴済みコンテンツのキャッシュフレンドリーなシーク、設定可能なバッファリングを備えた長時間接続の再接続ストリーミング接続、ソースのプリウォーミング、ネイティブおよびソフトウェアパスの両方でのピクチャインピクチャサポート、iOSでのバックグラウンドオーディオ、オプション製品によるSMB2/3共有、IOReaderプロトコルによるカスタムバイトソース、自己署名またはプライベートCAメディアサーバー向けのオリジンごとのTLS信頼評価が含まれます。
READMEには、AVPlayer、VLCKit、libmpv、KSPlayerとの比較と、M1 MacBook Airで38および90 Mbit/sの4K HDR HEVC MatroskaファイルをローカルディスクおよびHTTP経由で測定したベンチマーク数値も示されています。プロジェクトは、ベンチマークハーネスが作者によって保守されており、生データと方法論へのリンクを提供していると述べています。ライセンスはLGPL-3.0で、App Store例外が付いています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.