【Android音视频开发】【024】nginx+rmtp+MediaLiveEncoder+vlc三分钟实现rtmp推流和播放(Linux版本)

本文档详细介绍了如何在Linux上搭建Nginx服务器并集成RTMP模块,包括更新下载源、安装依赖、编译Nginx、配置Nginx、启动服务、测试推流和播放流程。通过这个教程,你可以成功创建一个基本的直播流媒体服务器。
摘要由CSDN通过智能技术生成

更新下载源

sudo apt-get update

安装nginx依赖包

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

下载nginx和nginx-rmtp-module

下载最新安装包解压,并将nginx-rmtp-module放到nginx根目录下面

编写编译脚本

在nginx根目录下创建build_nginx.sh脚本,输入以下内容并执行,记得将用户名改成自己的登录账号


	#!/bin/bash
		
	echo ">>>>>>>>> build nginx for linux <<<<<<<<"
	
	export TARGET=~/nginx-linux
		
	function build
	{
	    echo ">>>>>>>> build start <<<<<<<<<<"
	    
	    make clean
		  
	    ./configure \
	    --user=easing \
	    --prefix=$TARGET \
	    --with-http_ssl_module \
	    --add-module=./nginx-rtmp-module \
	    
	    make
	    make install
		
	    echo ">>>>>> build complete <<<<<<"
	}
		
	build

编写nginx配置文件

打开Home/nginx-linux/conf/nginx.conf文件,替换为以下内容

再将nginx下的nginx-rmtp-module拷贝到nginx-linux下面,这个操作不是必须的

这个目录除了包含编译文件,还有一些测试网页,如果需要访问网页就需要拷贝过来


	worker_processes  1;
	
	error_log  logs/error.log;
	
	pid  logs/nginx.pid;
	
	
	events {
	    worker_connections 1024;
	}
	
	
	http {
	    include  mime.types;
	    default_type  application/octet-stream;
	    sendfile  on;
	    keepalive_timeout  60;
	
	    server {
	        listen  18004;
	        server_name  NginxServer;
	
	        error_page  500 502 503 504  /50x.html;
	        location = /50x.html {
	            root  html;
	        }
	                
	        location /stat {
	            rtmp_stat all;
	            rtmp_stat_stylesheet stat.xsl;
	        }
	
	        location /stat.xsl {
	            root nginx-rtmp-module/;
	        }
	
	        location /control {
	            rtmp_control all;
	        }
	
	        location /rtmp-publisher {
	            root nginx-rtmp-module/test;
	        }
	
	        location / {
	            root nginx-rtmp-module/test/www;
	        }
	    }
	}
	
	
	rtmp {
	    server {
	        listen  18005;
	        chunk_size 4096;
	
	        application live {
	            live on;
	            record off;
	            drop_idle_publisher 10s;
	        }
	    }
	}


启动nginx服务

进入Home/nginx-linux/sbin目录,执行以下指令

sudo ./nginx

访问nginx网页

打开http://localhost:18004/stat网页,如果能正常访问,则说明nginx服务启动成功

停止nginx服务

进入Home/nginx-linux/sbin目录,执行以下指令

sudo ./nginx -s stop

推流和播放测试

下载Adobe Flash的Media Live Encoder,将推流地址设置为rtmp://192.168.31.234:18005/live,房间号设置为10086,点start就可以推直播流了

下载vlc,打开rtmp://192.168.31.234:18005/live/10086,就可以观看直播流了

这里的ip是Linux虚拟机的ip,如果你的本身是Linux系统,就用localhost

程序下载

按照教程自己动手也不难,实在偷懒就直接下载运行就行了

nginx文件夹是源代码和编译脚本,想自己编译就用这个

nginx-linux是已经编译的可执行程序,下载后直接启动sbin/linux主程序就行了

nginx-rtmp.conf是用来参照的配置文件

nginx+rtmp+MediaLiveEncoder+vlc+linux.zip

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值