不管是自己编译还是下载,通过前两章的讲解,媒体服务器是能跑起来了。但如何用好这个流媒体服务器?其中一个指标就是,怎么掌握服务器的运行情况!

本文的主要内容有:

1.nginx服务配置的简单介绍

2.统计模块的使用方法

一、nginx 服务配置的简单介绍

在第一讲中,对nginx配置文件conf/nginx.conf 只给出了一个最简设置,目的是让RTMP流媒体服务器跑起来,当时的配置内容是:

#将以下内容拷贝到conf/nginx.conf文件中。

#nginx进程数,建议设置为等于CPU总核心数

worker_processes 2;

#工作模式与连接数上限

events {

worker_connections 8192;

}

rtmp {

server {

listen 1935;

application myapp {

live on;

}

}

}

接下来,我简单介绍一下nginx.conf配置文件中的内容,目的是引入统计模块时对配置文件能有一个基本的认识。简单来说nginx配置文件有六个区域,它的内容和意义详见下表:

配置详情的对应关系

nginx.conf 六区域简介

通过wiki中的Directives,你能找到更多的信息,比如要开启"rtmp_auto_push on"的原因。

nginx-rtmp-module Wiki

二、nginx-rtmp-module的统计模块

在介绍使用方法之前,我想重申一个问题,就是统计模块存在的价值是什么?

它的存在是为了让我们掌握流媒体服务的运行情况:

谁在推流,分辨率是什么?帧率码率又是什么?

谁在播放,IP是什么?时间戳是什么?

整体的上下行带宽是多少?

对于这些信息,我们既可以通过控制台查看直观的数据:

管理控制台

也可以通过接口查到具体的详情:

Response

1、rtmp统计模块的使用方法

引入统计模块的方法比较简单,主要是两步:

克隆代码,下载stat.xsl文件;

修改配置文件,打开stat服务;

如果对 nginx-rtmp-module 编译过程不熟悉的,可以参考第二讲。如果是下载 nginx rtmp 版的朋友,此时要做的就是获取stat.xsl文件,它就在nginx-rtmp-module模块的根目录下。

stat.xsl 位置

文件准备好了,在nginx.conf配置文件中打开stat服务即可。

#nginx进程数,建议设置为等于CPU总核心数

worker_processes 2;

#工作模式与连接数上限

events {

worker_connections 1024;

}

rtmp_auto_push on;

rtmp {

server {

listen 1935;

chunk_size 4096;

application myapp {

live on;

}

}

}

http {

server {

listen 8080;

server_name localhost;

# This URL provides RTMP statistics in XML

location /stat {

rtmp_stat all;

rtmp_stat_stylesheet stat.xsl;

}

location /stat.xsl {

#注意stat.xsl文件的存放位置,支持相对路径和绝对路径。

root lib/nginx-rtmp-module/;

}

}

}

都做好之后,启动nginx,注意启动时后台有无报错。一切正常,就可以键入:

http://localhost:8080/stat

打开流媒体管理后台,查看服务的运行情况。

2、数据的价值与管理手段

统计模块提供了比较丰富的内容,比如在这种情况下:

3端拉流

除了流媒体服务以外,控制台还能提供推拉流的双端信息:

一个android推流端;

拉流A(10.59)一个Mac 用ffplay拉流播放;

拉流B(10.47)一个PC用浏览器拉流播放;

拉流C(10.43)一个iPhone拉流播放;

即使推流端已经下线,我们也能知道谁还在连接着媒体服务器:

推流下线后的情况

丰富的数据,让我们能掌握媒体服务器的实时情况,让多种管理策略成为可能。nginx rtmp统计模块安装简单,使用方便,是控制管理的一种高效手段。

android 设置 媒体服务器,第三讲:如何掌握媒体服务器的运行情况相关推荐

  1. 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器开源项目介绍

    揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...

  2. android 调整字体,android设置:调整字体大小

    在手机的设置中,我可以全局更改应用的字体大小.android设置:调整字体大小 设置>显示>字体大小 我可以做的字体大小(小,中,大,非常大),也看过Java和(如果适用).只为我的应用程 ...

  3. Xamarin Android设置界面提示类型错误

    Xamarin Android设置界面提示类型错误 错误信息:Integer types not allow (at 'padding' with value '10') Android界面属性的长度 ...

  4. 【Android】Android 设置Activity窗体 不显示标题和全屏显示

    [一]Android 设置Activity窗体 不显示标题 android:theme="@android:style/Theme.NoTitleBar" 1 <activi ...

  5. Android设置Settings:预读取设置的选项和更新设置结果【2】

      Android设置Settings:预读取设置的选项和更新设置结果[2] 本文在文章1的基础上,增加预读取历史的修改.设置值更新到设置选项中,同时,每一次更新都会实时更新到设置栏中.  res ...

  6. Android 设置EditText光标位置(转)

    Android 设置EditText光标位置 最后 CharSequence text = edtTxt_my_account_edit_nickname.getText();if (text ins ...

  7. Android设置ProgressBar的前景和背景及其在多线程中的刷新

    我们知道Android为ProgressBar提供了几种不同的样式,不过若是只是这几种样式还不能满足我们对界面的需求.例如,我们ProgressBar的前景和背景.一般情况下我们希望这是一个按照我们自 ...

  8. android+系统屏幕亮度,android 设置系统屏幕亮度

    android 设置系统屏幕亮度 权限 /** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHT ...

  9. Android 设置TextView字体加粗

    今天,简单讲讲Android里如何设置TextView字体加粗. 不废话了,用过多次,还是没记住.直接上代码. 1.布局文件中这样设置即可: XML/HTML代码 android:textStyle= ...

最新文章

  1. 斯坦福CS231n项目实战(二):线性支持向量机SVM
  2. Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] A A Problem about Polyline(数学)
  3. python学习之自习语法(20180626_update)
  4. php mysql 排名算法_MySQL PHP:优化排名查询和计数子查询
  5. matlab的三维伪彩图,matlab画等高线伪彩图
  6. 重力加速度换算_中考物理重难点汇总——公式换算大全
  7. jmeter-5.3 测试http接口动态数据 windows+Linux双环境
  8. Linux IPC实践(3) --具名FIFO
  9. lua如何判断是否支持cookie_如何判断页面布局是否合理?
  10. 我的第一个字典-Dictionary
  11. Caffe傻瓜系列(4):其它常用层及参数
  12. 新能源汽车防撞预警系统FCW系统介绍
  13. css定义文字加粗,css文字加粗font-weight
  14. 基于php的实验室设备管理系统
  15. android视频录制旋转,android – 录制的视频在上传到互联网后旋转90度
  16. HOUDINI 粒子拖尾
  17. 信息安全密码学实验三:密码学数学基础实验
  18. UVa1647 Computer Transformation
  19. 北京中医药大学22春《生物化学B》平时作业1【专职辅导答案】
  20. Cognos 11.0快速开发指南

热门文章

  1. 节假日api_iOS能跳过节假日的晚安闹钟捷径
  2. java 获取 邮箱联系人_在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱...
  3. 目前流行的装修风格_当下最流行的十大装修风格。目前主流的装修风格前十
  4. wsl ubuntu 版本_让Ubuntu滚动更新
  5. HTML的<span>标签【杂记】
  6. 无法监控端口_zabbix 监控远程主机端口
  7. html5离线保存需要联网吗,html5 离线存储
  8. mysql查看执行计划_如何查看MySQL的执行计划
  9. 六、Excel中重要的数据透视表,必须要学会
  10. django数据库迁移问题