翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例: Kinesis Video Streams フラグメントの解析とレンダリング
パーサーライブラリを使用したストリーミング には、Amazon Kinesis ビデオストリームフラグメントの解析とレンダリングを説明する KinesisVideoRendererExample
という名前のデモアプリケーションが含まれています。この例では、例: Kinesis Video Streams プロデューサー SDK GStreamer プラグイン - kvssink アプリケーションを使用して取り込まれた H.264 エンコードのフレームを JCodec
この例は、次を実行する方法を説明しています。
-
GetMedia
API を使用して Kinesis ビデオストリームからフレームを取得し、表示するためにストリームをレンダリングします。 -
Kinesis Video Streams コンソールを使用する代わりに、カスタムアプリケーションでストリームのビデオコンテンツを表示します。
また、表示される前にデコードを必要としない JPEG ファイルのストリームなど、H.264 としてエンコードされていない Kinesis のビデオストリームコンテンツの表示にこの例のクラスを使用することもできます。
次の手順では、レンダラ―デモアプリケーションのセットアップと使用方法を示しています。
前提条件
レンダラ―の例のライブラリを確かめて使用するには、以下が必要です。
-
Amazon Web Services (AWS) アカウント。 AWS アカウントをまだお持ちでない場合は、「Kinesis Video Streams の開始方法」を参照してください。
-
Eclipse Java Neon
や JetBrains IntelliJ Idea などの Java 統合開発環境 (IDE)。
レンダラーの実行例
-
ディレクトリを作成して、GitHub リポジトリのソースコード例からクローンを作成します。
git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library
-
使用する Java IDE (Eclipse
や IntelliJ IDEA など) を開き、ダウンロードした Apache Maven プロジェクトをインポートします。 -
Eclipse では: [ファイル]、[インポート]、[Maven]、[Existing Maven Projects] を選択します。
kinesis-video-streams-parser-lib
ディレクトリに移動します。 -
IntelliJ Idea では: [インポート] を選択します。ダウンロードしたパッケージのルートに含まれる
pom.xml
ファイルに移動します。注記
IntelliJ が依存関係を検出できない場合は、以下の手順の実行が必要になることがあります。
-
構築のクリーン: [File (ファイル)]、[Settings (設定)]、[Build, Execution, Deployment (構築、実行、デプロイ)]、[Compiler (コンパイラー)] の順に選択します。再構築時に出力ディレクトリをクリアが選択されていることを確認してから、ビルド、ビルドプロジェクトを選択します。
-
プロジェクトの再インポート: プロジェクトのコンテキスト (右クリック) メニューを開き、[Maven]、[Reimport (再インポート)] の順に選択します。
-
詳細については、関連する IDE ドキュメントを参照してください。
-
-
Java IDE で
src/test/java/com.amazonaws.kinesisvideo.parser/examples/KinesisVideoRendererExampleTest
を開きます。 -
このファイルから
@Ignore
ディレクティブを削除します。 -
.stream
パラメータを Kinesis ビデオストリームの名前で更新します。 -
KinesisVideoRendererExample
テストを実行します。
仕組み
例のアプリケーションは次を示します。
MKV データの送信
この例では、動画データを [rendering_example_video.mkv
render-example-streamPutMedia
] とい名前のストリームに送信するために を使用して ファイルからサンプル MKV データ を送信します。
このアプリケーションは PutMediaWorker
を作成します。
PutMediaWorker putMediaWorker = PutMediaWorker.create(getRegion(), getCredentialsProvider(), getStreamName(), inputStream, streamOps.amazonKinesisVideo); executorService.submit(putMediaWorker);
PutMediaWorker
クラスの詳細については、パーサーライブラリを使用したストリーミング ドキュメンテーションで「PutMedia 呼び出し」を参照してください。
MKV フラグメントをフレームに解析する
この例では次に、GetMediaWorker
を使用してストリームから MKV フラグメントを取得し、解析します。
GetMediaWorker getMediaWorker = GetMediaWorker.create(getRegion(), getCredentialsProvider(), getStreamName(), new StartSelector().withStartSelectorType(StartSelectorType.EARLIEST), streamOps.amazonKinesisVideo, getMediaProcessingArgumentsLocal.getFrameVisitor()); executorService.submit(getMediaWorker);
GetMediaWorker
クラスの詳細については、パーサーライブラリを使用したストリーミング ドキュメンテーションで「GetMedia 呼び出し」を参照してください。
フレームのデコードと表示
この例では次に、JFrame
以下は、JFrame
を拡張する KinesisVideoFrameViewer
クラスからのコード例です。
public void setImage(BufferedImage bufferedImage) { image = bufferedImage; repaint(); }
java.awt.image.BufferedImageBufferedImage
を使用する方法を示す例については、「Reading/Loading an Image (イメージの読み取りとロード)