Azure Media Services のライブ配信はいったいいくらかかるのか

Azure Media Services のライブ配信をしようすると、スケーラビリティをもった動画配信サービスを簡単に構築することができます。でもすべてのリソースをクラウドにサービスを置いたライブ配信となると、エンコーディングするサーバー、配信するサーバー、動画を置くWebApp、エンコーディングした動画を置くストレージ、など短時間のライブストリーミングでも結構な費用がかさむはずだと思います。今回は実際にライブ配信を何時間かやってみて、どれくらい費用がかかるのか検証してみようと思います。

#価格予想
まず、今回作成したシステムですが、以下5つのサービスを含みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149921/1f482385-fffb-0065-5b9a-f54cbcab23f7.png)
この中で WebApp はフリープランで作成しているので、価格がかかるのは、Azure Media Services / Storage / Streaming Endpoint の3つになります。2時間ライブストリーミングをするとするといくらかかるでしょう。

##Azure Media Services の価格
Microsoft の Document に記載されている東日本リージョンでの価格は以下です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149921/942fe0d4-ac6b-dd09-86d5-44e0979a1330.png)
2時間のライブエンコーディング利用なので、266円 × 2 で、532円ですね。それに加えてライブストリーミングの際には Streaming Endpoint の価格がかかるので、そちらについても算出してみましょう。

##Media Services の Streaming Endpoint の価格
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149921/83cf01aa-585f-9e03-d4f8-7b062257fc4d.png)
こちらについては1日あたりで価格が決まってくるみたいです。今回は1日利用なので 233円としましょう。

##Azure Storage の価格
これまでの経験だと Storage はデータを置いておくとコストがかかるので、特に動画といった容量が大きくなりがちなコンテンツだと価格が大きく跳ね上がるのではないかと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149921/0632e3f8-8e08-9948-e301-45b8e26806fc.png)

データストレージについては、1か月ごとのG単位で課金が発生するみたいです。今回2時間のストリーミングでは少なくとも50TBはいかないですから、GBあたり2.3円の課金が発生する算出できます。2時間ストリーミングをしたあとにストレージにどれだけデータが蓄積されているかで、価格が算出できますね。

#では、実験！
実際に実験をしてみました。なんかライブストリーミングするような良いコンテンツが家にあればよかったのですが、特になかったので今回は単純に時計の針を2時間ストリーミングしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149921/973fc20f-c740-fb9c-77ba-c541db4f0f92.png)


Azure Media Services で作成できた CallBack URL は Azure Media Player を使って簡単にWebに組み込める iFrame を作成することができます。やり方については前の記事にまとめているので是非ご覧ください。

Azure Media Service で配信したライブストリーミングを Azure WebApp に組み込む
https://qiita.com/komiyasa/items/135681da95b1201404d6

フリープランで作成した WebApp の HTML5コードに Media Player で作成した iFrame コードを埋め込むだけで、シンプルなライブ配信をする WebApp が完成しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149921/479b045c-0e5f-403c-c0d4-e2a956cfdd1a.png)

ここから2時間ライブストリーミングをしてみて、いくらかかるのか実験してみます。
課金が発生する3点から予想価格を算出してみました。
・Azure Media Services :  532円
・Streaming Enopoint : 233円
・Azure Storage : 2GB → 4.6円

つまり合計 769.6 円!　だいたい1000円くらいの予想です。
2時間ストリーミングをして、そのあと Endpoint とチャネルを止めました。Cost analysis への反映には少し時間がかかるので気長にでてくるのを待ちたいと思います。

#結果
さぁ、最終的な結果はいくらだったか、、、！

1230 円でした！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149921/dd3b765c-511d-b2a7-bc0b-04ac8a1f8eba.png)


むむーなんとも言えない結果でした。。Blob を見てみると想像以上のデータが入っていなので、エンコーディングの画質等の調整の問題かもしれないです。もう少し分析してみます。
いずれにせよ2時間1000円くらいということなので、丸一日ずっと Streaming しているとすると結構な価格になりますね。
もし被災時の河川の氾濫具合の情報網として確保しておく場合は、台風がくる1日前から台風がさった1日後まで、等期間を定めて配信した方がよさそうです。配信を開始するには Endpoint と チャネルの配信をオンにすればよいだけなので、あらかじめカメラを設置しておけば運用するのは簡単ですね。

#参考URL
Azure Media Service を使用して、災害時でもニーズに合わせ情報を配信できるライブストリーミングサービスを構築する
https://qiita.com/komiyasa/items/08ab6089a12b74fe32f6

Azure Media Service で配信したライブストリーミングを Azure WebApp に組み込む
https://qiita.com/komiyasa/items/135681da95b1201404d6

Media Services の価格
https://azure.microsoft.com/ja-jp/pricing/details/media-services/

Azure Storage の価格
https://azure.microsoft.com/ja-jp/pricing/details/storage/