我正在尝试使用RTMP module在Nginx中获取HLS观众的实际数量。
我已经尝试了this解决方案,但它没有给我真实的数字,我想可能是因为它没有计算正在拉取HLS格式的流的观众。
有什么“好”的方法可以做到这一点吗?谢谢。
发布于 2020-12-14 23:20:03
统计最近10到20分钟内请求HLS/DASH分片的in数:
#!/bin/bash
date_prefix=$(date +'%d/%b/%Y:%H')
cur_min=$(date +'%M')
cur_min_decimal=${cur_min:0:1}
if [[ $cur_min_decimal == '0' ]]
then
prev_min_decimal=5
else
prev_min_decimal=$(($cur_min_decimal - 1))
fi
cur_minuted_date="${date_prefix}:${cur_min_decimal}"
prev_minuted_date="${date_prefix}:${prev_min_decimal}"
tail -n 10000 /var/log/nginx/access.log \
| grep -E 'GET /(hls|dash)/key-' \
| grep -E "${cur_minuted_date}|${prev_minuted_date}" \
| awk '{print $1}' \
| sort \
| uniq \
| wc -l如果您想在网站上显示它,您可以每分钟运行一次该脚本并将其输出到/var/www/html文件夹中
https://stackoverflow.com/questions/61851037
复制相似问题