目次
ツール情報:
この記事で利用するのツール:
- AVProVideo
- Unity: 2018.4.2f1
- AWS S3 Service
- AWS Elemental MediaConvert Service
Streaming Mechanism:
ストリーミングのメカニズムでは、1つファイルを数パーツファイルに分けて、プレイバック時間で判定、適切なパーツをDLして、再生する。
システム構築図:
Service | 備考 |
---|---|
S3(input) | MediaConvertによって変換処理する入力動画を保管する(管理者が動画をアップロードする) |
S3 (output) | MediaConvertによって変換処理した出力動画を保管する(ジョブにより自動でアップロードされる) |
AWS Media MediaConvert | S3(input)にアップされましたの動画をストリーミングファイルに変換するサービスです |
その他 | Network、SSLやCDNなどのためです |
システムの流れ:
- 管理者がオリジナルの動画ファイルをInput用のS3に上げる。
- AWS Media Converter サービスで、変換ジョブを作成して、変換動画品質設定、Output用のS3を指定して、実行する。
- Unityに,AVProVideoアセットをインポートする。
- 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):
- CBR (Constant Bitrate):
- 固定帯域幅ネットワークでの配信では、ビットレートを一定にする必要がある時に使います。
- CBRを選択すると、エンコーダーはファイルサイズと品質をビットレートに設定した値で制限します。 エンコーダーは、ビデオのすべての部分に同じビット数を使用します。
- VBR (Variable Bitrate):
- 指定したサイズを下回らないように、合計ファイルサイズが必要な時に使います。
- VBRでは、アセットの平均ビットレートを指定します。 エンコーダはビットを割り当てて、より多くのビットがビデオの複雑な部分に送られるようにします。 合計ファイルサイズ(コンテナ、パッケージ、およびオーディオデータを除く)は、指定した平均ビットレート(ビット/秒)にアセットの長さ(秒)を掛けたものになります。
- VBRを使用する場合、各アセットの複雑さに合わせて平均ビットレートを調整すると、最良の結果が得られます。
Bitrateに参考資料を添付しております。
変換の設定:
こちらはブロードキャストおよびマルチスクリーン配信用にファイルベースのコンテンツを変換するサービスです。
- AWS Media Convertサービスを選択して、ジョブを作る。Input グループで、Input用のS3にあるの変換ファイルを選択
- Outputの設定をする。
Streaming使うため、Apple HLSグループを選択する。(グループについての詳細はこの記事では記載しておりません)
グループ作ったらこんな感じになります。
- 変換の品質を設定する。
最初の設定はすべてDefaultで良いです:
上記書いてあるのBitrateついてセクションを参考しながら、ビデオ使う目的と合わせて、ビデオ品質を選択します、この記事ではQVBR(AWSのデフォルトを使います)。個人意見ではこれが一番適切なBitrateタイプです。
- Audioの変換品質を設定する。
この部分はDefaultまま使うが良いです。
Convertされました物はこんな感じです:
Unity Asset AVPro:
こちらはアセットの中身のPrefabをSceneに配置してから、Streaming のURL先を設定すれば再生できます。
Prefabパス:Assets/AVProVideo/Prefabs/
Prefab名でみるとわかるですが今回ではFullScreenで表示するのでFullScreenVideoのPrefabを選択しました。
上記のPrefabをSceneにDrag & Dropして、Inspectorで、MediaPlayerのComponentに.m3u8拡張のファイルの公開パスを貼って、DropDownところでAbsolute Path Or URLを選択したら設定完了です。
使用方法もガイドラインを参考してください。