デバイス上の超解像機能は、デバイス上の超解像モデルに基づいて開発されており、デバイス上で低定義のビデオを高定義のビデオに変換できます。 これにより、ビデオ品質が大幅に向上し、送信コストが削減されます。 このトピックでは、AndroidまたはiOSデバイスでデバイス上の超解像度機能を設定する方法について説明します。
背景情報
ビデオサービスの発展に伴い、ユーザーはより高い定義でのビデオ再生を必要とします。 ただし、特定のビデオソースファイルは、制作、ストレージ、または配信の制限により、高解像度のビデオストリームにトランスコードできません。 これはユーザーエクスペリエンスに影響します。 従来のクラウドベースの超高解像度生産ソリューションには、高帯域幅が必要です。 この場合、これらの解決策は、劣悪なネットワーク条件を有する環境には適さない。
デバイス上の超解像度機能を使用すると、デバイス上で低定義のビデオを高定義のビデオに変換できます。 これにより、帯域幅コストを上げることなく、ビデオ品質とユーザーエクスペリエンスが大幅に向上します。
メリット
項目 | 説明 |
パフォーマンスと消費電力 |
|
互換性 |
|
実装方法 |
|
前提条件
ApsaraVideo Player SDKのライセンスを取得し、デバイス上のスーパー解像度機能を有効にします。 詳細については、「ライセンスの取得」をご参照ください。
ApsaraVideo Player SDK for Androidのデバイス上の超解像度機能を使用する
デバイス上の超解像機能ライブラリを取得します。
超解決機能ライブラリを取得するには、チケットを起票するか、Alibaba Cloudカスタマーサービスにお問い合わせください。
デバイス上の超解像機能ライブラリを統合します。
デバイス上の超解像機能ライブラリをロードします。
Android用のデバイス上の超解像度機能ライブラリは、動的ライブラリです。 次のメソッドを呼び出して、ライブラリを読み込むことができます。
System.loadLibrary(libname);
オンデバイスのスーパー解像度機能ライブラリを設定します。
/** * 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);
オンデバイスの超解像機能を使用します。 サンプルコード:
// 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のデバイス上の超解像度機能を使用する
デバイス上の超解像機能ライブラリを取得します。
超解像度機能ライブラリを取得するには、チケットを起票するか、Alibaba Cloudカスタマーサービスにお問い合わせください。
デバイス上の超解像機能ライブラリを統合します。
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'
オンデバイスの超解像機能を使用します。 サンプルコード:
// 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.