android 设置 媒体服务器,第三讲:如何掌握媒体服务器的运行情况
不管是自己编译还是下载,通过前两章的讲解,媒体服务器是能跑起来了。但如何用好这个流媒体服务器?其中一个指标就是,怎么掌握服务器的运行情况!
本文的主要内容有:
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 设置 媒体服务器,第三讲:如何掌握媒体服务器的运行情况相关推荐
- 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器开源项目介绍
揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...
- android 调整字体,android设置:调整字体大小
在手机的设置中,我可以全局更改应用的字体大小.android设置:调整字体大小 设置>显示>字体大小 我可以做的字体大小(小,中,大,非常大),也看过Java和(如果适用).只为我的应用程 ...
- Xamarin Android设置界面提示类型错误
Xamarin Android设置界面提示类型错误 错误信息:Integer types not allow (at 'padding' with value '10') Android界面属性的长度 ...
- 【Android】Android 设置Activity窗体 不显示标题和全屏显示
[一]Android 设置Activity窗体 不显示标题 android:theme="@android:style/Theme.NoTitleBar" 1 <activi ...
- Android设置Settings:预读取设置的选项和更新设置结果【2】
Android设置Settings:预读取设置的选项和更新设置结果[2] 本文在文章1的基础上,增加预读取历史的修改.设置值更新到设置选项中,同时,每一次更新都会实时更新到设置栏中. res ...
- Android 设置EditText光标位置(转)
Android 设置EditText光标位置 最后 CharSequence text = edtTxt_my_account_edit_nickname.getText();if (text ins ...
- Android设置ProgressBar的前景和背景及其在多线程中的刷新
我们知道Android为ProgressBar提供了几种不同的样式,不过若是只是这几种样式还不能满足我们对界面的需求.例如,我们ProgressBar的前景和背景.一般情况下我们希望这是一个按照我们自 ...
- android+系统屏幕亮度,android 设置系统屏幕亮度
android 设置系统屏幕亮度 权限 /** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHT ...
- Android 设置TextView字体加粗
今天,简单讲讲Android里如何设置TextView字体加粗. 不废话了,用过多次,还是没记住.直接上代码. 1.布局文件中这样设置即可: XML/HTML代码 android:textStyle= ...
最新文章
- 斯坦福CS231n项目实战(二):线性支持向量机SVM
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] A A Problem about Polyline(数学)
- python学习之自习语法(20180626_update)
- php mysql 排名算法_MySQL PHP:优化排名查询和计数子查询
- matlab的三维伪彩图,matlab画等高线伪彩图
- 重力加速度换算_中考物理重难点汇总——公式换算大全
- jmeter-5.3 测试http接口动态数据 windows+Linux双环境
- Linux IPC实践(3) --具名FIFO
- lua如何判断是否支持cookie_如何判断页面布局是否合理?
- 我的第一个字典-Dictionary
- Caffe傻瓜系列(4):其它常用层及参数
- 新能源汽车防撞预警系统FCW系统介绍
- css定义文字加粗,css文字加粗font-weight
- 基于php的实验室设备管理系统
- android视频录制旋转,android – 录制的视频在上传到互联网后旋转90度
- HOUDINI 粒子拖尾
- 信息安全密码学实验三:密码学数学基础实验
- UVa1647	Computer Transformation
- 北京中医药大学22春《生物化学B》平时作业1【专职辅导答案】
- Cognos 11.0快速开发指南
热门文章
- 节假日api_iOS能跳过节假日的晚安闹钟捷径
- java 获取 邮箱联系人_在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱...
- 目前流行的装修风格_当下最流行的十大装修风格。目前主流的装修风格前十
- wsl ubuntu 版本_让Ubuntu滚动更新
- HTML的<span>标签【杂记】
- 无法监控端口_zabbix 监控远程主机端口
- html5离线保存需要联网吗,html5 离线存储
- mysql查看执行计划_如何查看MySQL的执行计划
- 六、Excel中重要的数据透视表,必须要学会
- django数据库迁移问题