翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例: Kinesis Video Streams フラグメントの解析とレンダリング
パーサーライブラリを使用したストリーミング には、Amazon Kinesis ビデオストリームフラグメントの解析とレンダリングを説明する KinesisVideoRendererExample
という名前のデモアプリケーションが含まれています。この例では、 を使用してJCodec
この例は、次を実行する方法を説明しています。
-
を使用して Kinesis ビデオストリームからフレームを取得し
GetMedia
API、ストリームを表示用にレンダリングします。 -
Kinesis Video Streams コンソールを使用する代わりに、カスタムアプリケーションでストリームのビデオコンテンツを表示します。
この例のクラスを使用して、表示前にデコードを必要としないJPEGファイルのストリームなど、H.264 としてエンコードされていない Kinesis ビデオストリームコンテンツを表示することもできます。
次の手順では、レンダラ―デモアプリケーションのセットアップと使用方法を示しています。
前提条件
レンダラ―の例のライブラリを確かめて使用するには、以下が必要です。
-
Amazon Web Services (AWS) アカウント。 AWS アカウントをまだお持ちでない場合は、「Kinesis Video Streams の開始方法」を参照してください。
-
Eclipse Java Neon や IntelliJ"" などの Java
統合開発環境 (IDE)。 JetBrains IntelliJ
レンダラーの実行例
-
ディレクトリを作成し、リポジトリからサンプルソースコードをクローンします GitHub。
git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library
-
IDE 使用している Java (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
この例では、 を使用して という名前のストリームにビデオMKVデータを送信PutMedia
し、 rendering_example_video.mkv
ファイルからサンプルデータを送信しますrender-example-stream。
このアプリケーションは PutMediaWorker
を作成します。
PutMediaWorker putMediaWorker = PutMediaWorker.create(getRegion(), getCredentialsProvider(), getStreamName(), inputStream, streamOps.amazonKinesisVideo); executorService.submit(putMediaWorker);
PutMediaWorker
クラスの詳細については、パーサーライブラリを使用したストリーミング ドキュメンテーションで「通話 PutMedia」を参照してください。
MKV フラグメントをフレームに解析する
次に、 を使用してストリームからMKVフラグメントを取得して解析しますGetMediaWorker
。
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 (イメージの読み取りとロード)