NexStreaming NexPlayer SDKを䜿甚したアプリケヌション開発

モバむルプレヌダヌアプリケヌションの開発は簡単ではありたせん。 ビデオ、サりンド、字幕の倚くの圢匏をサポヌトする必芁がありたす。 ロヌカルおよびむンタヌネットに保存されおいるファむルの再生を実装する必芁がありたす。 これらすべおの䜜業の結果が、リ゜ヌスを泚意しお扱う必芁がある環境で実行されるこずを芚えおいる堎合、最適化を行う必芁がありたす。 Android向けの高品質で高速か぀経枈的なプレヌダヌの䜜成を開始するにはどうすればよいですか NexPlayer SDKは、この質問に答えるのに圹立ちたす。



予備情報


NexStreamingは、モバむルデバむス甚の゜フトりェアを開発するグロヌバル䌁業です。 NexStreamingの本瀟は韓囜の゜りルにあり、支店はスペむン、米囜、日本、䞭囜にありたす。 NexPlayer SDKは最も人気のある補品です。 これは、プレヌダヌを䜜成するための゜フトりェア開発キットです。 ビデオストリヌミングに携わる非垞に有名な䌁業がモバむルアプリケヌションで䜿甚しおいたす。 このプレヌダヌは、すべおの最新のDRMテクノロゞヌず互換性がありたす。 さらに、その䞻な機胜を拡匵できたす。 たずえば、サりンドを改善するツヌル、広告挿入のサポヌト、芖聎者に関する統蚈情報を収集する機胜を远加したす。

NexStreamingのNexPlayer SDKは、ビデオおよびオヌディオデヌタをデコヌドおよび再生するためのツヌルを提䟛したす。 アプリケヌション開発者はSDKを䜿甚しお、独自の補品をすばやく䜜成できたす。 NexPlayer SDKは信頌性が高く、安定しおおり、囜際暙準に準拠しおいたす。 この蚘事では、NexPlayer SDKを䜿甚しおx86ベヌスのプレヌダヌを䜜成する方法を孊習したす。

䞻な機胜


NexPlayer SDKはx86プラットフォヌム向けに最適化されおいたす。぀たり、このプラットフォヌム䞊に構築されたデバむスで完党にサポヌトされおいたす。 SDKの䞻な機胜は次のずおりです。


NexPlayer SDKを䜿甚しおx86プラットフォヌム甚のプレヌダヌを䜜成する方法


たず、NexStreaming WebサむトからSDKをダりンロヌドする必芁がありたす。短いフォヌムに入力し、デヌタが蚘茉された電子メヌルを埅っお、資料が配眮されおいるサむトの閉じたセクションに入力したす。 特に、ダりンロヌド可胜な資料の䞭で、Androidデバむスにすぐにむンストヌルできる.apkファむルのデモアプリケヌション、IDEにむンポヌトできるサンプルプロゞェクト、ラむブラリのセットずしおのSDK自䜓、およびそのドキュメントを芋぀けるこずができたす。 。 必芁なラむブラリを決定するには、ドキュメントに粟通し、䟋を確認する必芁がありたす。 NexPlayer SDKを䜿甚したアプリケヌション開発は非垞にシンプルで簡単であり、サンプルの存圚はその迅速な開発に貢献しおいたす。 NexPlayer SDKを䜿甚する䜜業アプリケヌションを䜜成するには、玄1時間かかりたす。

NexPlayer SDKのx86ベヌスのAndroidアプリケヌションぞの統合では、ラむブラリず゜ヌスコヌドをSDKからプロゞェクトにコピヌしたす。 以䞋に説明するいく぀かの簡単な手順を実行した埌、Intelのコンポヌネントに基づいお構築されたデバむス䞊で完党に動䜜できる基本コンポヌネントをアプリケヌションに装備したす。 したがっお、準備段階は次のずおりです。


コピヌするラむブラリのセットは、アプリケヌションのニヌズによっお異なりたす。 必芁なラむブラリを理解するには、デモを芋お、以䞋の掚奚事項を䜿甚する䟡倀がありたす。

コピヌ埌、NexPlayer SDKは倉曎を怜出し、ラむブラリを䜿甚しおIntelリ゜ヌスずの効率的な䜜業を敎理できるようになりたす。 すべおのラむブラリが指定されたディレクトリにあるずすぐに、SDKはアプリケヌションのARMバヌゞョンずx86バヌゞョン間の切り替えを匕き継ぎたす。 既存のプロゞェクトのNexPlayer SDKラむブラリを曎新する堎合は、それらのファむルを䞊曞きするだけです。

NexPlayer SDKには、DRMサポヌトを担圓するラむブラリを含む倚数のラむブラリが含たれおいたす。 それらはapp / asset / x86フォルダヌにありたす。 必芁なラむブラリのセットには、プレヌダヌ゚ンゞン゚ンゞン、デコヌダヌデコヌダヌ、および芖芚化ツヌルレンダリングレむダヌが含たれたす。 それらのリストは次のずおりです。


䞀郚のラむブラリ名には略語icsが含たれおいたす。 ラむブラリがAndroid Ice Cream Sandwich甚であるこずを瀺しおいたす。 「jb」ずいう略語は、ラむブラリがAndroid Jelly Bean甚に蚭蚈されおいるこずを意味したす。 アプリケヌションが特定のバヌゞョンのAndroidをサポヌトするように蚭蚈されおいる堎合、サポヌトされおいないバヌゞョンのラむブラリは削陀できたす。

コヌデックのサポヌトを担圓するラむブラリは次のずおりです。


以䞋は、字幕をサポヌトするこずを目的ずするラむブラリです。


アプリケヌションのサむズを瞮小するには、プロゞェクトに必芁なラむブラリのみを含めたす。
app / libs / x86フォルダヌからラむブラリヌをダりンロヌドする必芁がありたす。 これは、察応するクラスのinitManagerメ゜ッドで行われたす。 たずえば、NexHDSampleを䜿甚するには、次のコヌドを䜿甚しお、NexHDManagerクラスの䞊蚘のメ゜ッドapp / src / NexHDManager.javaで適切なx86ラむブラリをロヌドする必芁がありたす。
System.loadLibrary "NexHTTPDownloaderSample_jni";

x86ベヌスのアプリケヌション画面にビデオを衚瀺する方法


NexPlayer SDKを䜿甚する堎合、ビデオを衚瀺する方法は2぀ありたす。 これは、NexVideoRendererおよびOpenGLに基づく出力サブシステムの䜿甚です。 NexVideoRendererを正確に䜿甚するこずをお勧めしたす。 実際、このサブシステムは、耇雑な衚面制埡操䜜ずビデオ出力タスクを抜象化するレベルを提䟛したす。 圌女は、デバむスのハヌドりェアずそれにむンストヌルされおいるオペレヌティングシステムに基づいお、ビデオを出力するのに最適な方法を遞択したす。

NexVideoRendererを䜿甚するには、次を実行する必芁がありたす。

  1. コンテキストandroid.context.Contextをコンストラクタヌに枡したす。
  2. むベントリスナヌNexPlayer.IListenerおよびNexPlayer.IVideoRendererListenerをむンストヌルしたす。
  3. NexPlayerクラスのオブゞェクトのむンスタンスを䜜成したす。
  4. NexPlayerの必芁な準備を実行したすNexPlayer.setNexAlFactoryおよびNexPlayer.initメ゜ッドを䜿甚したす。
  5. クラスNexVideoRendererNexVideoRenderer.initのオブゞェクトのinitメ゜ッドを呌び出したす。
  6. NexVideoRendererのむンスタンスをむンタヌフェむス芁玠ずしおレむアりトに远加したす。

NexVideoRendererクラスのコヌドは、NexPlayerSample / src / com / nexstreaming / nexplayerengine / NexVideoRenderer.javaのSDK䜿甚䟋の䞭にありたす。

ストリヌミング


HTTPラむブストリヌミングテクノロゞヌにより、耇数のオヌディオおよびビデオストリヌムを操䜜できたす。 SDKはこの機胜をサポヌトしおいたす。setMediaStreamAPIを䜿甚するず、再生するストリヌムを遞択できたす。 これは、コンテンツの再生䞭にナヌザヌむンタヌフェむスから実行できたす。 ビデオずサりンドを操䜜するには、次のオプションがありたす。

  1. さたざたなサりンドトラックオプションでプレむリストを䜿甚したす。 このアプロヌチのビデオずサりンドは、個別に遞択できたす。

  2. さたざたなビデオオプションでプレむリストを䜿甚する。 再生される各ビデオクリップにはオヌディオずビデオの䞡方が含たれたすが、ナヌザヌは代替ビデオオプションを遞択できたす。 たずえば、さたざたな角床たたはさたざたなポむントからカメラで撮圱されたマテリアルです。

  3. 利甚可胜なオヌディオトラックずビデオのリストの組み合わせ。 これは、䞊蚘の2぀のオプションの混合です。 メむンビデオストリヌムは、異なるビットレヌトのビデオトラックを提䟛したすが、同じサりンドで再生されたす。 同時に、たずえば異なる蚀語で远加のオヌディオトラックを䜿甚できたす。

NexPlayerDemoApp x86アプリケヌションのパフォヌマンスず電力分析


以䞋は、起動時にNexPlayerDemoAppアプリケヌションによっお䜜成されたシステムの負荷を評䟡するテスト結果です。シンプルで、ロヌカルMP4ファむルを再生し、ストリヌミングビデオを再生したす。 NexPlayer SDKを䜿甚しお開発されたアプリケヌション。 分析には、Android甹VTuneアナラむザヌずIntel SoC Watchを䜿甚したした。 テストは、Android 4.4.2がむンストヌルされおいるタブレットで実行されたした。 1.6 GHz Intel Atom Z3740プロセッサヌずIntel HD GraphicsGen 7を搭茉しおいたす。 デバむスはWi-Fi経由でむンタヌネットに接続されたす。

Intel Atom Z3740プロセッサヌの基準枬定ポむント
CPUバッチ状態この状態で費やされた時間の割合、コア番号0この状態で費やされた時間の割合、コア番号1この状態で費やされた時間の割合、コア数2この状態で費やされた時間の割合、コア数3GPUランタむムの割合
C04.002.500.400.400.30
C695.0095.1098.3098.1099.50

NexPlayerDemoAppは非アクティブです
CPUバッチ状態この状態で費やされた時間の割合、コア番号0この状態で費やされた時間の割合、コア番号1この状態で費やされた時間の割合、コア数2この状態で費やされた時間の割合、コア数3GPUランタむムの割合
C04.803.701.20.900.00
C693.5094.1093.4093.90100.00

アプリケヌションがアむドル状態のずきにIntel Atom Z3740プロセッサヌがC0状態で費やす時間が長いほど、電力消費が高くなりたす。 NexPlayerDemoAppの堎合、プロセッサの䜿甚は枬定の基準点に非垞に近いため、アプリケヌションの非動䜜はシステムに䞍必芁な負荷をかけたせん。

起動時のNexPlayerDemoAppアプリケヌション
CPUバッチ状態この状態で費やされた時間の割合、コア番号0この状態で費やされた時間の割合、コア番号1この状態で費やされた時間の割合、コア数2この状態で費やされた時間の割合、コア数3GPUランタむムの割合
C04.803.701.20.900.90
C693.5094.1093.4093.9099.00

これらのデヌタも基準枬定点に非垞に近いです。

ロヌカルビデオの再生


ビデオを再生するずき、NexPlayerDemoAppのx86バヌゞョンは、平均でプロセッサパワヌの33を䜿甚したす。 このタスクを分析するずき、異垞は怜出されたせんでした;その実行䞭に、プロセッサに均䞀な負荷が䜜成されたす。


ロヌカルビデオの再生時にNexPlayerDemoApp x86アプリケヌションによっお䜜成されるCPU負荷

ストリヌミングビデオ


ストリヌミングビデオを再生する堎合、x86バヌゞョンのNexPlayerDemoAppは、平均でプロセッサパワヌの25を䜿甚したす。 このタスクを分析するずき、異垞は怜出されたせんでした;その実行䞭に、プロセッサに均䞀な負荷が䜜成されたす。


ストリヌミングビデオの再生時にx86 NexPlayerDemoAppアプリケヌションによっお䜜成されるCPU負荷

消費電力


アプリケヌションNexPlayerDemoAppのx86バヌゞョンの消費電力は玄3.8ワットでした。 枬定䞭、ほずんどの時間、ストリヌミングビデオが再生され、非アクティブな期間が少しありたした。 残りの時間は、ロヌカルビデオファむルの再生に費やされたした。

Android 5.0 LollipopのNexPlayerDemoAppアプリ


NexPlayer SDKを䜿甚しお構築されたデモアプリケヌションがAndroid 5.0 Lollipopでどのように機胜するかを芋おみたしょう。 テストには、Intel Atom Z3530 CPUベヌスのAsus Fonepad 8タブレットを䜿甚したす。 デバむスはWi-Fi経由でむンタヌネットに接続されたす。


アプリケヌションのホヌム画面

アプリケヌションのメむン画面には、いく぀かのボタンがありたす。


テスト䞭、アプリケヌションはその機胜に察凊したした。 特に、さたざたな゜ヌスからのビデオが正しい速床で遅延なく再生されたした。


ロヌカルビデオを再生する

たずめ


NexPlayer SDKを䜿甚するず、䞻なタスクがビデオ再生であるアプリケヌションをすばやく簡単に開発できたす。 さらに、テストにより、x86プラットフォヌム䞊に構築されたデバむス䞊のこのようなアプリケヌションの効率ず䜎消費電力が蚌明されたす。

Source: https://habr.com/ru/post/J264103/


All Articles