NGINX作为HLS实时流的wowza前面的热缓存-获取每个流的数据持续时间和传输的数据?

时间:2019-02-05 15:55:42

标签: nginx caching statistics hls wowza

我已经将NGINX设置为Wowza> HTTP-Origin应用程序之前的热缓存服务器,以充当边缘服务器。该配置在具有nDVR和自适应流支持的HTTPS上运行良好的流。我梳理了互联网,寻找示例,并帮助配置NGINX和/或其他解决方案以提供实时统计信息(每个stream_name的观看者数量)以及解析日志以提供每个stream_name / session的流持续时间和每个stream_name /的data_transferred会议。 NGINX for HLS流中的日志记录记录每个视频块。使用Wowza,通过在破坏流时从日志中读取持续时间或字节传输的值来获取此数据要容易一些。对此问题的任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

Nginx不知道什么是块。它只是通过HTTP向客户端提供资源,并不知道或不在乎它们是否相互关联。因此,您必须从日志中导出所需的数据。

要将客户端请求作为一个关联在一起,您需要某种方式来跟踪请求之间的状态,然后记录该状态。 Cookies是执行此操作的常用方法。另外,您可以在请求URI中放入某种会话标识符,但这会损害您的缓存能力,因为每个客户端实际上都在请求不同的资源。

一旦您记录了某种会话ID,就可以使用Elastic Stack等工具处理这些日志,以将所需的报告汇总在一起。

根据您的目标,可能会发现最好在客户端获得数据。在这里,您可以更好地了解会话实际上是什么,然后可以记录客户端项,例如缓冲区级别和延迟,以及什么不行。 HTTP请求并没有真正告诉您最终用户获得的体验。如果这是您想知道的,则应该使用来自客户端的日志,而不是来自HTTP服务器的日志。您的HTTP服务器日志对于调试潜在的技术基础结构问题非常有用。