Wowzaログ解析

## はじめに

業務でWowzaを使うことになり、
これまで触ったことがなかったため、開発環境で動作を確認してみました。

この記事では、ログ出力に関する内容を備忘録的に書き残しておきます。

.

※Wowzaを利用した動画配信方法は
同じチームメンバーの記事に掲載されているため割愛します。

- [ffmpeg でファイルから4K HEVC疑似ライブストリーミング](https://qiita.com/tomopyonsama/items/d231f2f241ed25a68bb5)

## 構成

今回はこのような仕組みで動画配信を行います。
＜MP4 → Streaming Server → MPEG-DASH → Player＞

配信サーバとして使用するのは、
**Wowza Streaming Engine（AWS EC2）**となります。

今回は、以下のAMIからEC２を作成しました。
WowzaStreamingEngine-ebs-hvm-byol-4.7.5-x86_64-1522956083-668790f8-598f-42d3-ad55-a2670072241b-ami-73e04e0e.4 (ami-84e8f1f8)

## ログの場所

Wowzaのログはマネージャーとサーバの両方から確認することができます。

#### １. Wowza Streaming Engine Manager

Wowzaにはマネージャーが用意されており、
ほとんどの設定はここから行えます。ログも確認可能です。

http://[Public IP]:8088/enginmanager

![スクリーンショット 2018-10-28 10.55.12.png](https://qiita-image-store.s3.amazonaws.com/0/277934/25d2f9a1-ba6e-dfdf-8e15-3bb2d66f1d1d.png)
・Username：wowza
・Password：EC2のインスタンスID

設定次第で、ログ出力の仕方を変更することが可能です。

**Server** > **Logs**

![スクリーンショット 2018-10-28 13.40.59.png](https://qiita-image-store.s3.amazonaws.com/0/277934/5fba3681-7f65-84d7-0450-d423e38112af.png)
詳しくは、公式ドキュメントを参照ください。

- [How to view log messages in Wowza Streaming Engine Manager](https://www.wowza.com/docs/how-to-view-log-messages-in-wowza-streaming-engine-manager)

#### ２. サーバログ

Wowzaインストール済みのAMIから作成したEC2では、
ログは下記に出力されます。

```
/usr/local/WowzaStreamingEngine/logs
```

## ログ解析

動画は問題なく視聴できる前提で話を進めます。

上記の場所にあるアクセスログを確認します。
**wowzastreamingengine_access.log**

### 配信直後

```
2018-10-03    19:05:34    JST    comment    server    INFO    200    -    MPEGDashWriterHandler.createChunkM4S[live_demo/_definst_/demo.stream]: Add chunk: id:1 type:m4s_mux a/v/k:485/250/2 duration:10417    -    -    -    5678.758    -    -    -    -    -    -    -    --    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -
2018-10-03    19:05:34    JST    comment    server    INFO    200    -    MPEGDashWriterHandler.createChunkM4S[live_demo/_definst_/demo.stream]: Add chunk: id:1 type:m4s_audio a:485 duration:10417    -    -    -    5678.758    -    -    -    -    -    -    -    -    --    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -
2018-10-03    19:05:34    JST    comment    server    INFO    200    -    MPEGDashWriterHandler.createChunkM4S[live_demo/_definst_/demo.stream]: Add chunk: id:1 type:m4s_video v/k:250/2 duration:10417    -    -    -    5678.758    -    -    -    -    -    -    -    -    --    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -
```

- m4s_mux
- m4s_audio
- m4s_video

この3つが１セットとなり、
＜id:10＞になるまで約10秒おきに繰り返す挙動となりました。

今回はMPEG-DASH形式で動画を送っているため、
「MPEGDashWriterHandler.createChunkM4S」となっていますが、
別の規格の場合は、別のログが出力されるものと思われます。

### 動画視聴

MPEG-DASHはSafariから見れないため、VLCで視聴します。


#### 視聴開始

```
2018-10-03	18:31:43	JST	connect	cupertino	INFO	200	1120040081	-	_defaultVHost_	live_demo	_definst_	579.547	wowzabyol.dev.stream.cloudpack.jp	1935	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	210.227.234.114http (cupertino)	-	VLC/3.0.4 LibVLC/3.0.4	1120040081	0	0	-	0	-	-	demo.stream	-	-	-	-	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-
2018-10-03	18:31:43	JST	create	stream	INFO	200	demo.stream	-	_defaultVHost_	live_demo	_definst_	0.003	wowzabyol.dev.stream.cloudpack.jp	1935	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	210.227.234.114	http (cupertino)	-	VLC/3.0.4 LibVLC/3.0.4	1120040081	0	0	14	0	0	0	demo.stream	-	-	-	-	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-
2018-10-03	18:31:44	JST	play	stream	INFO	200	demo.stream	-	_defaultVHost_	live_demo	_definst_	0.557	wowzabyol.dev.stream.cloudpack.jp	1935	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	210.227.234.114	http (cupertino)	-	VLC/3.0.4 LibVLC/3.0.4	1120040081	0	2047	14	335525	0	0	demo.stream	-	-	-	-	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-
```

上記のログから、動画開始までに下記のステータスを辿ることが分かります。

①connect cupertino
↓
②create stream
↓
③play stream


#### 視聴終了

```
2018-10-03	18:33:39	JST	stop	stream	INFO	200	demo.stream	-	_defaultVHost_	live_demo	_definst_	115.964	wowzabyol.dev.stream.cloudpack.jp	1935	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	210.227.234.114	http (cupertino)	-	VLC/3.0.4 LibVLC/3.0.4	1120040081	0	18079638	14	430692	0	18068680	demo.stream	-	-	-	-	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-
2018-10-03	18:33:39	JST	destroy	stream	INFO	200	demo.stream	-	_defaultVHost_	live_demo	_definst_	115.965	wowzabyol.dev.stream.cloudpack.jp	1935	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	210.227.234.114	http (cupertino)	-	VLC/3.0.4 LibVLC/3.0.4	1120040081	0	18079638	14	430692	0	18068680	demo.stream	-	-	-	-	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-
2018-10-03	18:33:39	JST	disconnect	cupertino	INFO	200	1120040081	-	_defaultVHost_	live_demo	_definst_	695.512	wowzabyol.dev.stream.cloudpack.jp	1935	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	210.227.234.114	http (cupertino)	-	VLC/3.0.4 LibVLC/3.0.4	1120040081	0	18079638	-	430692	-	-	demo.stream	-	-	-	-	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-	http://wowzabyol.dev.stream.cloudpack.jp:1935/live_demo/demo.stream/playlist.m3u8	-
```

視聴終了の際は、下記のステータスを辿ることがログから確認できました。

①stop stream
↓
②destroy stream
↓
③disconnect cupertino

## まとめ

今回は基本的なログ解析のみとなりましたが、
今後は時間がある時により精緻な解析を行いたいと思っています。