すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:デバイス上の超解像度

最終更新日:Oct 23, 2024

デバイス上の超解像機能は、デバイス上の超解像モデルに基づいて開発されており、デバイス上で低定義のビデオを高定義のビデオに変換できます。 これにより、ビデオ品質が大幅に向上し、送信コストが削減されます。 このトピックでは、AndroidまたはiOSデバイスでデバイス上の超解像度機能を設定する方法について説明します。

背景情報

ビデオサービスの発展に伴い、ユーザーはより高い定義でのビデオ再生を必要とします。 ただし、特定のビデオソースファイルは、制作、ストレージ、または配信の制限により、高解像度のビデオストリームにトランスコードできません。 これはユーザーエクスペリエンスに影響します。 従来のクラウドベースの超高解像度生産ソリューションには、高帯域幅が必要です。 この場合、これらの解決策は、劣悪なネットワーク条件を有する環境には適さない。

デバイス上の超解像度機能を使用すると、デバイス上で低定義のビデオを高定義のビデオに変換できます。 これにより、帯域幅コストを上げることなく、ビデオ品質とユーザーエクスペリエンスが大幅に向上します。

メリット

項目

説明

パフォーマンスと消費電力

  • 効率的: ビデオからの単一フレームの処理時間は20ミリ秒未満です。 ビデオをリアルタイムで30フレーム /秒 (FPS) で超解像度に変換できます。 この機能は、オンデマンドビデオ再生やライブストリーミングなどのさまざまなシナリオで使用できます。

  • 強力: 複数の定義のビデオを変換できます。 540Pの最高の定義は、リアルタイム変換にサポートされています。 540Pビデオを1080Pに変換できます。

  • 省電力: 消費電力は、モデル、チップ、およびビデオの解像度によって異なります。 最低消费电力は1时间あたり50 mAから100 mAです。

互換性

  • モデル: この機能は、ほとんどの主流モデルで使用できます。

  • プラットフォーム: AndroidとiOSがサポートされています。

実装方法

  • プラグイン: オンデバイスの超解像機能は、プラグインを使用して実装され、主流のプレーヤーのライブラリとは独立しています。 プレーヤーに影響を与えることなく、プラグインを置き換えたり、機能を更新したりできます。 これにより、デバイス上の超解像機能が使いやすくなります。

  • 小さいサイズ: 機能ライブラリは小さなスペースを占有します。 Androidアルゴリズムライブラリは408 KBを占有し、iOSアルゴリズムライブラリは730 KBを占有します。

前提条件

ApsaraVideo Player SDKのライセンスを取得し、デバイス上のスーパー解像度機能を有効にします。 詳細については、「ライセンスの取得」をご参照ください。

ApsaraVideo Player SDK for Androidのデバイス上の超解像度機能を使用する

  1. デバイス上の超解像機能ライブラリを取得します。

    超解決機能ライブラリを取得するには、チケットを起票するか、Alibaba Cloudカスタマーサービスにお問い合わせください。

  2. デバイス上の超解像機能ライブラリを統合します。

    1. デバイス上の超解像機能ライブラリをロードします。

      Android用のデバイス上の超解像度機能ライブラリは、動的ライブラリです。 次のメソッドを呼び出して、ライブラリを読み込むことができます。

      System.loadLibrary(libname);
    2. オンデバイスのスーパー解像度機能ライブラリを設定します。

          /**
           * Configure the filter settings. Call this method before you prepare the player. Call the updateFilterConfig() method if you want to update filter settings.
           * @param filterConfig
           */
          /****
           * Set filter config. call this before prepare. If want update filter config, call updateFilterConfig()
           * @param filterConfig
           */
          abstract public void setFilterConfig(FilterConfig filterConfig);
      
          /**
           * Update filter settings.
           * @param target
           * @param options
           */
          /****
           * upadate filter config.
           * @param target
           * @param options
           */
          abstract public void updateFilterConfig(String target, FilterConfig.FilterOptions options);
      
          /**
           * Enable or disable the filter.
           * @param target  If you leave this parameter empty, the configurations take effect on all filters.
           * @param invalid  true indicates that the filter is enabled and false indicates that the filter is disabled.
           */
          /****
           * disable/enable filter.
           * @param target  if empty , disable all filters.
           * @param invalid  true: enable(default); false: disable
           */
          abstract public void setFilterInvalid(String target, boolean invalid);
  3. オンデバイスの超解像機能を使用します。 サンプルコード:

    // filterConfig is a JSON string. Sample code:
    player.setFilterConfig(filterConfig);
    // Configure the on-device super resolution feature. The value of target must be the same as the value of target specified in the following method.
    player.setFilterInvalid(target,false);
    [
      {
        "target":"sr",
        "options":{
          // You do not need to configure option for the on-device super resolution feature.
        }
      }
    ]

ApsaraVideo Player SDK for iOSのデバイス上の超解像度機能を使用する

  1. デバイス上の超解像機能ライブラリを取得します。

    超解像度機能ライブラリを取得するには、チケットを起票するか、Alibaba Cloudカスタマーサービスにお問い合わせください。

  2. デバイス上の超解像機能ライブラリを統合します。

    iOS用のデバイス上の超解像度機能ライブラリは、動的フレームワークです。 ライブラリをXcodeのフレームワークとライブラリに追加する必要があります。 次のサンプルコードは、ライブラリの追加方法の例を示しています。

    説明

    次のサンプルコードでは、ApsaraVideo Player SDK for iOS V5.5.4.0を例として使用しています。 ビジネス要件に基づいて、目的のバージョンのSDKをダウンロードできます。 さまざまなバージョンのApsaraVideo Player SDK For iOSの詳細については、「ApsaraVideo Player SDK for iOSのリリースノート」をご参照ください。

    pod 'AliPlayerSDK_iOS_NORMAL_SR_FILTER', '5.5.4.0'
  3. オンデバイスの超解像機能を使用します。 サンプルコード:

    // Initialize the player.
    AVPFilter* srFilter = [[AVPFilter alloc] initWithTarget:@"normal_sr"]; // To use the library, you must set target to normal_sr.
    AVPFilterOptions* srOptions = [[AVPFilterOptions alloc] init];
    [srOptions setOptions:@"path" value:@"xxx"]; // Specify the relative path of the sandbox.
    [srFilter setOptions:srOptions];
    [filterConfig addFilter:srFilter];
    [self.player setFilterConfig:filterConfig];
    
    // Use the on-device super resolution feature.
    [self.player setFilterInvalid:@"normal_sr" invalid:YES]; // Set invalid to YES to enable the on-device super resolution feature and set invalid to NO to disable the feature.