MediaBox SDK が技術的なアーキテクチャのアップグレードを実現する方法についての詳細な説明

このコラムでは、Alibaba Cloud Video Cloud MediaBox に関する一連の技術記事を共有し、技術アーキテクチャ、技術的パフォーマンス、開発エネルギー効率、オーディオおよびビデオ開発ツールのベスト プラクティスの詳細な分析を提供し、オーディオおよびビデオの開発を開始します。一緒に開発の旅を続けましょう。この記事は MediaBox の技術アーキテクチャであり、オーディオおよびビデオ端末 SDK の技術アーキテクチャ、最適化された設計、アーキテクチャ上の利点に焦点を当て、MediaBox SDK が技術アーキテクチャのアップグレードを実現する方法を紹介します。

グッド・ティーチャー|著者

ストリーミングメディアの時代において、ショートビデオ、ライブブロードキャスト、オーディオおよびビデオ通話およびその他の関連ビジネスの研究開発に投資する企業がますます増えており、特にユーザートラフィックのメインエントランスとしてのモバイル端末の重要性はますます高まっています。熾烈なストリーミングメディア競争の戦場。

この波を受けて、多くのアプリ メーカーがオーディオおよびビデオ分野に参入し、ライブ ブロードキャスト、プレーヤー、オーディオおよびビデオ通話などの複数のオーディオおよびビデオ サービスを伴う複数のオーディオおよびビデオ ビジネスにアクセスすることがよくあります。

従来、メーカーが複数の音声・動画サービスにアクセスする場合、複数の音声・動画SDKにアクセスする必要があったため、パッケージサイズが急速に増大し、アクセス効率が低く、迅速にオンラインに接続できず、結果として、競争でチャンスを逃した。

MediaBox オーディオおよびビデオ ターミナル SDK は、企業のこの問題点を解決するために生まれました。

 

01 コンセプト説明

MediaBox オーディオおよびビデオ ターミナル SDK (MediaBox SDK) は、統一された技術ベースを使用して、さまざまな機能を備えた一連の SDK を形成し、柔軟で使いやすく、効率的なアクセス エクスペリエンスを顧客に提供します。オーディオおよびビデオ端末 SDK、オーディオおよびビデオ ローコード開発 AUI キット、および業界のエコロジー協力に基づいて構築されたオーディオおよびビデオ シナリオ ソリューションは、一緒になって MediaBox オーディオおよびビデオ端末統合スイートの全体像を形成します。

ビジネスの観点から見ると、MediaBox SDK は、プレーヤー、ライブ ブロードキャスト、超低遅延ライブ ブロードキャスト、リアルタイム オーディオおよびビデオ通信、ショート ビデオ作成およびその他のオーディオおよびビデオ サービスを含む、Alibaba Cloud Video Cloud の基本的な端末機能のコレクションです。能力。

技術機能の面では、オーディオおよびビデオ端末 SDK は、オーディオおよびビデオの収集、前処理、オーディオおよびビデオのエンコード、カプセル化/カプセル化解除、メディア ネットワーク送信、オーディオおよびビデオのデコード、後処理などのさまざまな技術機能を提供します。 、オーディオとビデオのレンダリング。

 

02 技術アーキテクチャ

高性能、高可用性、高い柔軟性、プラグ可能性、容易なスケーラビリティを備えた SDK を構築するために、SDK のメディア エンジンをマイクロカーネル、メディア コンポーネント、端末基本機能コンポーネントの 3 つの部分に分割します。

マイクロカーネル: ビジネス SDK の中核およびコントロール センターとして、さまざまなメディア コンポーネントを接続して管理し、主にメッセージ センター、ディスパッチ センター、リンク管理、キュー管理、コンポーネント管理、プラグインで構成されるビジネス パイプラインを形成する責任があります。管理監視センターの構成。

メディア コンポーネント: オーディオとビデオのメディア処理の基本的な機能単位。オーディオとビデオのコレクション、前処理と後処理、オーディオとビデオのエンコードとデコード、ファイルのカプセル化とカプセル化解除、メディア ネットワーク出力、メディア レンダリングで構成されます。

エンドサイドの基本機能: 基本機能をサポートするエンドサイドの高可用性。ライセンス、構成配信、例外管理、隠しポイントなどの複数のエンドサイド機能を提供します。

 

03 設計の最適化

通常、オーディオおよびビデオのエンドサイド SDK には統一されたコアとコンポーネントがありません。各 SDK は独立したビジネス開発であり、機能の再利用はありません。そのため、コンポーネントの統合された反復的な最適化を実行することは不可能です。代わりに、異なる SDK が使用されます。パフォーマンス、機能の最適化、互換性の適応などを個別に最適化する必要があり、その結果、すぐにビジネスに適用できなくなります。

これに関して、Alibaba Cloud Video Cloud MediaBox は、カーネルとターミナル SDK のコンポーネントの設計を最適化し、高パフォーマンス、高安定性、高可用性のアーキテクチャのアップグレードを実現しました。

• マイクロカーネル設計。統合されたマイクロカーネルに基づいてすべてのビジネスを再構築します。

 すべての SDK コンポーネントを統合し、統合された方法でメディア コンポーネントを抽出および沈殿させ、すべてのコンポーネントが一貫した機能、一貫した動作、安定したパフォーマンスを確保できるようにします。

 端末側のすべての基本機能を統合し、統一された方法で SDK サービスを認可し、端末側のトラブルシューティングおよび異常警告機能を強化し、高可用性を確保します。

 

1. マイクロカーネルの設計

各 SDK の元のエンジン層設計を包括的に検討した後、元のビジネス モデルに基づいて、すべてのオーディオおよびビデオ SDK で使用できるマイクロカーネルのセットを設計しました。

高いパフォーマンスと高い安定性を実現し、ビジネスに損害を与えることなくカーネルがシンプルで使いやすいことを保証するために、私たちが採用するマイクロカーネル設計は次の部分で構成されます。

メッセージ センター: さまざまなビジネス コンポーネント間のメッセージ配布を担当します。 

スケジューリング センター: 各ビジネス コンポーネントの実行タスクのスレッド スケジューリングを担当します。 

リンク管理: メディア エンジンのさまざまなビジネス コンポーネント間のリンク関係を管理します。 

キュー管理: メッセージ キュー管理。ディスパッチ センターと連携して現在のタスク キューを管理します。 

• コンポーネント管理: ビジネスのすべてのコンポーネントを管理し、コンポーネントの登録と登録解除を担当します。

• 監視と管理: コンポーネントのデータ処理を監視し、メッセージ処理またはデータ処理の異常を適時に検出します。

• プラグイン管理: プラグイン設計が事前に組み込まれているため、プラグインのカスタマイズと機能の拡張が簡単になります。

 

2. コンポーネントの抽出と再利用

ビデオクラウドターミナルSDKで使用されるメディアコンポーネントをコンポーネントベースで管理し、統合抽出、再利用、統合最適化と反復を実現します。各オーディオ SDK およびビデオ SDK 内のコンポーネントの分布は、図に示すとおりです。

ライブ ブロードキャスト シナリオと短いビデオ撮影シナリオのビジネス パイプラインを例として、各コンポーネントの一連の効果を示します。

ライブブロードキャストシナリオにおけるビジネスパイプライン

ショートビデオ撮影シナリオにおけるビジネスパイプライン

 

3. コンポーネントの開発と設計

アプリケーション開発プロセス中、研究開発の学生は多くの場合、複雑な機能を備えたライブラリを、単一の機能と役割を持ついくつかの小さなコンポーネントに分割し、Maven (Android) または Cocoapod (iOS) を通じてコン​​ポーネントを管理します。その後、Gradle と Xcode がコンポーネント間の依存関係を自動的に整理するため、ビジネスの学生は各コンポーネントについて気にする必要がなく、ビジネス自体についてのみ気にする必要があります。

ただし、ビデオクラウドターミナルSDKの対象製品はアプリではなくSDKです。したがって、SDKなどのクロスプラットフォーム端末に直面する場合、マルチプラットフォームコードを管理する必要があり、機能コンポーネントのコードは、C++コード(メインコード)、object-cコード(iOS)、Javaコード(Android)として配布されます。 ) と WebAssembly。これまでのところ、混合コードを管理し、複数のプラットフォームの開発ニーズを満たす機能を備えた優れたツールはありません。

この目的を達成するために、CPM、Java Maven、Cocoapod、Npm などのパッケージ管理ソリューションを参照し、MediaBox ターミナル SDK 用のマルチプラットフォーム コンポーネント管理および依存関係ソリューションをカスタマイズしました。デバッグ、効率的なコンパイル、依存関係の競合警告を通じて、このような機能により、コンポーネントを大規模に再利用し、統一されたバージョンの反復を実現できます。

※異なるプラットフォーム上のコンポーネントでも同様のコンポーネントベースの使用管理を実現するために、今後ACPMコンポーネントを紹介する特集記事を掲載する予定ですので、ご期待ください。

 

4. 統一された基礎的能力開発

メディア処理部分の統合に加え、基本的な機能も統合・統一されています。例えば、ライセンス管理については、以前はSDKごとにライセンス管理があり、お客様が利用する際には、別々の場所で認証を行う必要がありましたが、統合認証を追加した後は、統合コンソールから認証を申請するだけで済みます。 MediaBox オーディオおよびビデオ ターミナル SDK で十分です。

1) 統​​合認可

2) 統合されたクラッシュキャプチャ

クラッシュ キャプチャ機能により、SDK の例外をキャプチャし (SDK でキャプチャされないものはキャプチャされません)、それらをできるだけ早く分析して修復し、安定性の高い SDK を作成できます。

さらに、顧客の突然の異常やオンライン互換性の問題のトラブルシューティングと適応を行うために、オンライン異常警告、構成配信、および埋め込み機能も追加しました。

 

04 建築上の利点

オーディオおよびビデオ端末 SDK アーキテクチャの設計を最適化した後、MediaBox コア、複数のビジネス エンジン、統合メディア コンポーネント、および完全な端末側の基本機能構築を実装しました。主な結果は以下のとおりです。

高い再利用率デバイス側のすべてのメディア コンポーネントが再利用され、コードの再利用率は 80% と高く、SDK パッケージ全体のサイズは 60% 削減されます。 

高い信頼性いくつかのバージョンを繰り返した結果、MediaBox SDK のオンラインの安定性が向上し、SDK のクラッシュは 100,000 分の 1 に減少しました。 

高い柔軟性MediaBox SDK は、ライブ ブロードキャストとプレーヤーの組み合わせ、ライブ ブロードキャストとリアルタイム オーディオとビデオの組み合わせなど、顧客のさまざまなビジネス コンビネーション機能に対応し、顧客のニーズをより柔軟に満たすことができます。 

高性能統合されたマイクロカーネルとパフォーマンス指標の統合監視により、メモリと CPU の使用量が削減されました。 

この技術アーキテクチャに基づいて、MediaBox はさまざまな分散 SDK をフル機能の統合パッケージに結合し、最終的にビデオ クラウド MediaBox SDK 製品の大規模ファミリーを形成します。

オーディオおよびビデオ ターミナル SDK 製品情報の詳細については、公式 Web サイトにアクセスして体験してください:オーディオおよびビデオ ターミナル SDK_Intelligent Media Service IMS_Video Service_Alibaba Cloud

Lei Jun氏はXiaomiのThePaper OSの完全なシステムアーキテクチャを発表し、最下層が完全に再構築されたと述べ、 Yuque氏は10月23日に障害の原因と修復プロセスを発表 Microsoft CEOのナデラ氏「Windows Phoneとモバイル事業を放棄したのは間違った決断だった」 . Java 11 と Java 17 の使用率は両方とも Java 8 を上回りました. Hugging Face は Yuque へのアクセスを制限されました. ネットワーク障害は約 10 時間続きましたが、現在は通常に戻っています. 国家データ局が Oracle を正式に発表しました. Visual Studio 用の Java 開発拡張機能を開始しましたCode.Musk : Wikipedia が「Weiji Encyclopedia」に名前変更されたら 10 億寄付 USDMySQL 8.2.0 GA
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/4713941/blog/10123343