Ubuntu安装nginx-http-flv,并获取统计信息

1、依赖安装

sudo apt-get install build-essential
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install libssl-dev
sudo apt-get install zlib1g
sudo apt-get install zlib1g-dev

2、源码下载

NGINX 的版本应该大于或者等于 1.2.6,与其他版本的兼容性未知。nginx下载地址:http://nginx.org/download/。nginx-http-flv使用最新版本就可以,这里使用的nginx版本是1.14.2。

mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf  nginx-1.14.2.tar.gz
git clone https://github.com/winshining/nginx-http-flv-module.git

3、编译安装

cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=../nginx-http-flv-module
make -j
make install

4、修改配置文件

修改/usr/local/nginx/conf/nginx.conf添加rtmp服务:

rtmp {
	server {
		listen 1935;
		chunk_size 4000;
		application rtmp-live {
			live on;
	   }  
	}

}

修改http服务:

http {
    ...
    server {
        listen       80;
        ...
		#开启flv
		location /live {
			flv_live on;
			chunked_transfer_encoding on;
		}
		#获取统计信息
		location /stat {
			rtmp_stat all;

			# Use this stylesheet to view XML as web page
			# in browser
			rtmp_stat_format json;
		}
		#control
		location /control {
			rtmp_control all;
		}
		...
    }
}

5、启动

执行

/usr/local/nginx/sbin/nginx

6、测试

ffmpeg -re -i test.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1:1935/rtmp-live/test

rtmp仅支持H264/AAC,如果媒体不是H264/AAC,请使用下面的命令

ffmpeg -i test.mp4 -vcodec libx264 -acodec fdk-aac -f flv rtmp://127.0.0.1:1935/rtmp-live/test

使用VLC播放视频:

rtmp播放地址:rtmp://127.0.0.1:1935/rtmp-live/test

http-flv播放地址:http://127.0.0.1:80/live?app=rtmp-live&stream=test

7、获取rtmp服务器统计信息

curl 127.0.0.1:80/stat

返回json格式的数据,记录了rtmp server的连接情况:

{
    "http-flv": {
        "nginx_version": "1.14.2",
        "nginx_http_flv_version": "1.2.11",
        "compiler": "gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ",
        "built": "Mar 26 2024 13:37:56",
        "pid": 10099,
        "uptime": 2748,
        "naccepted": 13,
        "bw_in": 2160784,
        "bytes_in": 92153201,
        "bw_out": 0,
        "bytes_out": 20844554,
        "servers": [{
                "port": 1935,
                "server_index": 0,
                "applications": [{
                        "name": "rtmp-live",
                        "live": {
                            "streams": [{
                                    "name": "test",
                                    "time": 52043,
                                    "bw_in": 2142224,
                                    "bytes_in": 12709114,
                                    "bw_out": 0,
                                    "bytes_out": 0,
                                    "bw_audio": 0,
                                    "bw_video": 2142224,
                                    "clients": [{
                                            "id": 35,
                                            "address": "127.0.0.1",
                                            "time": 52267,
                                            "flashver": "FMLE/3.0 (compatible; Lavf58.20.100)",
                                            "dropped": 0,
                                            "avsync": -52051,
                                            "timestamp": 52051,
                                            "publishing": true,
                                            "active": true
                                        }
                                    ],
                                    "records": [],
                                    "meta": {
                                        "video": {
                                            "width": 1920,
                                            "height": 1080,
                                            "frame_rate": 24.828,
                                            "codec": "H264",
                                            "profile": "High",
                                            "level": 4.2
                                        },
                                        "audio": {}
                                    },
                                    "nclients": 1,
                                    "publishing": true,
                                    "active": true
                                }
                            ],
                            "nclients": 1
                        },
                        "recorders": {
                            "count": 0,
                            "lists": []
                        }
                    }
                ]
            }
        ]
    }
}

applications里面记录了流的连接情况。

相关推荐
新兴ICT项目支撑6 小时前
天翼云910B部署DeepSeek蒸馏70B LLaMA模型实践总结
linux·运维·服务器·910b·天翼云·deepseek r1
gold20086 小时前
php5 php8 nginx Access denied.
运维·nginx·php8·php-fpm
网硕互联的小客服8 小时前
如何提高网站在百度中的权重?
linux·运维·服务器·windows·安全
魔希达8 小时前
windows在wsl ubuntu环境中启用cuda加速AI推理和训练
人工智能·windows·ubuntu
zyx没烦恼11 小时前
Linux 进程控制(进程创建,进程等待)
linux·运维·服务器
EPSDA11 小时前
Linux线程库与线程库封装
linux·运维·服务器·开发语言·c++
web1376560764311 小时前
使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南
运维·nginx·https
lsw1990lsw14 小时前
ubuntu在线安装PostgreSQL(pgsql)
linux·ubuntu·postgresql
盗理者15 小时前
管理WSL实例 以及安装 Ubuntu 作为 WSL 子系统 流程
linux·运维·ubuntu
Eric.Lee202115 小时前
Ubuntu 系统 cuda12.2 安装 MMDetection3D
深度学习·ubuntu·mmdetection3d·点云检测·三维点云检测