LoginSignup
1
2

More than 1 year has passed since last update.

AWSのStreaming Serviceを使って、Unityで動画をStreamingする

Posted at

AWSのStreaming Serviceを使って、Unityで動画をStreamingする

ツール情報:

この記事で利用するのツール:

  • AVProVideo
  • Unity: 2018.4.2f1
  • AWS S3 Service
  • AWS Elemental MediaConvert Service

Streaming Mechanism:

ストリーミングのメカニズムでは、1つファイルを数パーツファイルに分けて、プレイバック時間で判定、適切なパーツをDLして、再生する。


システム構築図:

architecture.png

Service 備考
S3(input) MediaConvertによって変換処理する入力動画を保管する(管理者が動画をアップロードする)
S3 (output) MediaConvertによって変換処理した出力動画を保管する(ジョブにより自動でアップロードされる)
AWS Media MediaConvert S3(input)にアップされましたの動画をストリーミングファイルに変換するサビースです
その他 Network、SSLやCDNなどのためです

システム流れ:

  1. 管理者がオリジナルの動画ファイルをInput用のS3に上がる。
  2. AWS Media Converter サビースで、変換ジョブを作成して、変換動画品質設定、Output用のS3を指定して、実行する。
  3. Unityに,AVProVideoアセットをインポートする。
  4. Output用のS3に、.m3u8拡張のファイルの公開パスをUnityのAVProVideoアセットにあるのPrefabに渡して、設定はここまで完了します、UnityでPlayするとStreamingが開始する。

メモ:
AWS Media Converterを使わなくて、他のムービー変換ツール使って、ストリーミング用のムービーをOutput用のS3に上げる。次は、Step4と同様です。


AWS Media Convert サビース:

Bitrateについて:

簡単で定義すると:ビットレートは、特定の期間に送信されるデータの量を表す用語です。 これは、ビット(データ単位)とレート(レート)を組み合わせた単語です。Bitrate測定Unitは kbps(Kilobit per second)またはMbps(Megabit per second)です。

AWSサビースで、Bitrateタイプは3つあります、簡単な定義を説明しております:

  • QVBR (Quality-Defined Variable Bitrate):
    • OTT (Over the Internet、Over The Topも呼ばれます), VOD (Video On Demand)ときに使います。
    • QVBRを選択すると、エンコーダーは、指定したビデオ品質を維持するために、ビデオの各部分に使用する適切なビット数を決定します。 すべてのアセットに同じQVBR設定を使用できます。 エンコーダーは、ビデオの複雑さに合わせてファイルサイズを自動的に調整します
  • CBR (Constant Bitrate):
    • 固定帯域幅ネットワークでの配信では、ビットレートを一定にする必要があるときに使います。
    • CBRを選択すると、エンコーダーはファイルサイズと品質をビットレートに設定した値で制限します。 エンコーダーは、ビデオのすべての部分に同じビット数を使用します
  • VBR (Variable Bitrate):
    • 指定したサイズを下回らないように、合計ファイルサイズが必要際に使います。
    • VBRでは、アセットの平均ビットレートを指定します。 エンコーダはビットを割り当てて、より多くのビットがビデオの複雑な部分に送られるようにします。 合計ファイルサイズ(コンテナ、パッケージ、およびオーディオデータを除く)は、指定した平均ビットレート(ビット/秒)にアセットの長さ(秒)を掛けたものになります。
    • VBRを使用する場合、各アセットの複雑さに合わせて平均ビットレートを調整すると、最良の結果が得られます。

Bitrateに参考資料を添付しております。

変換の設定:

こちらはブロードキャストおよびマルチスクリーン配信用にファイルベースのコンテンツを変換するサビースです。

  1. AWS Media Convertサビースを選択して、ジョブを作る。Input グループで、Input用のS3にあるの変換ファイルを選択
    convert_job_input_add.png

convert_job_input.png

  1. Outputの設定をする。
    convert_job_output_add.png

Streaming使うため、Apple HLSグループを選択する。(グループについての詳細はこの記事では記載しておりません)
apple_hls_output_grp.png

グループ作ったらこんな感じになります。
convert_job_output_after_add.png

  1. 変換の品質を設定する。
    最初の設定はすべてDefaultで良いです:
    video_setting_1.png

上記書いてあるのBitrateついてセクションを参考しながら、ビデオ使う目的と合わせて、ビデオ品質を選択します、この記事ではQVBR(AWSのデフォルトを使います)。個人意見ではこれが一番適切なBitrateタイプです。
video_bitrate_setting.png

  1. Audioの変換品質を設定する。
    この部分はDefaultまま使うが良いです。
    audio_setting.png

Convertされました物はこんな感じです:
convert_result.png

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2