一读就会!搭建Nginx服务器用于慢直播推流:ffmpeg+obs集成攻略

1.整体解决方案

安装nginx + Nginx-rtmp-module + ffmpeg + 本地端OBS环境,即可组件慢直播推流环境。

本次安装环境在UbuntuOS系统,腾讯轻量云服务器。

2.在UbuntuOS系统下部署Nginx服务器和Nginx-rtmp-module模块

2.1 需要nignx集合rtmp模块一起编译

2.2 安装基础依赖

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

2.3 下载nginx源码

我下载的最新源码版本是1.24版本,各位请自行寻找当前最新版本http://nginx.org/en/download.html

$ wget http://nginx.org/download/nginx-1.24.0.tar.gz

2.4 下载Nginx-rtmp-module模块

$ wget https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/dev.zip

2.5 解压文件

$ tar -zxvf nginx-1.15.1.tar.gz
$ unzip dev.zip
$ cd nginx-1.15.1

2.6 编译nginx

# http_ssl_module 叫模块/扩展/ 可以支持http/https访问
# nginx-rtmp-module 模块/扩展 用于推流
$ ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-dev
$ make
$ sudo make install

2.7 查看 nignx 版本

$ /usr/local/nginx/sbin/nginx -V

3.ffmpeg安装

3.1 安装ffmpeg命令

$ sudo apt-get install ffmpeg

3.2 查看ffmpeg版本

$ ffmpeg -version

4.配置文件介绍及命令介绍

4.1 配置文件位置

# ubuntu下文件位置,修改配置文件
$ vim /usr/local/nginx/conf/nginx.conf

4.2 可执行文件位置与执行

# ubuntu下默认可执行文件位置
$ /usr/local/nginx/sbin/nginx

# nginx启动
$ /usr/local/nginx/sbin/nginx

# nginx关闭
$ /usr/local/nginx/sbin/nginx -s stop

# nginx重启
$ 

5.rtmp推流配置

5.1 新增rtmp推流模块

在配置文件中新增如下内容

# nginx.conf新增内容
# 新增与http配置块同级配置rtmp

events {
	worker_connections  1024;
}

rtmp {
	server {
		listen 1935; # rtmp推流监听端口
		chunk_size 4096; # rtmp推流块大小
		
		# application 后面跟的是网页标签
		application chinamobilelive {
			live on;
			hls off; # 关闭HLS推流模式
			record off; # 关闭直播记录

		}
	}
}

http {
	......
}

如此配置以后,配置完服务器端的推流地址为:

# rtmp推流地址格式
rtmp://[your ip]:[your port]/[your application]

# 按照上面配置的rtmp推流地址为
# 本地推流
rtmp://localhost:1935/chinamobilelive
# 公网推流,需开放1935防火墙端口才能从外网推流过来
rtmp://[公网IP]:1935/chinamobilelive

5.2 重启nginx服务

# nginx重启
$ /usr/local/nginx/sbin/nginx -s stop && /usr/local/nginx/sbin/nginx

5.3 利用ffmpeg推本地视频资源

视频路径资源假设在"/var/ftp/test/livevideo.mp4" ,使用ffmpeg推流,会提示推流成功。

# rtmp推流地址格式
ffmpeg -re -i "/var/ftp/test/livevideo.mp4" -c copy -f flv rtmp://localhost:1935/chinamobilelive

5.4 利用OBS推远端视频

# 在OBS串流设置里设置
服务器: rtmp://localhost:1935/chinamobilelive
串流密钥: test (串流密钥可任意设置)

5.5 利用VLC访问该推流地址

在这里插入图片描述

6.hls推流配置

未完待续

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FFmpeg是一个开源的多媒体处理工具,可以用于录制、转码和处理音视频文件。Nginx是一个快速、可靠、高性能的Web服务器,同时也可用作反向代理服务器等。 结合FFmpegNginx,可以实现音视频推流功能。具体步骤如下: 1. 配置Nginx服务器:首先需要在Nginx服务器进行一些配置。通过编辑Nginx的配置文件,在http模块下添加rtmp模块,并设置rtmp监听的端口和应用的名称。 2. 安装FFmpeg:在推流前需要确保系统中已安装FFmpeg。如果没有安装,可以通过官方网站下载并安装对应的版本。 3. 配置FFmpeg推流:打开命令行终端,输入ffmpeg命令,并根据所需参数配置推流的源文件、输出地址、编码相关参数等。通过命令行输入ffmpeg -i 输入文件地址 -vcodec xxx -acodec xxx -f flv 输出地址 进行推流操作。 4. 启动Nginx服务器:操作系统中启动Nginx服务器,这样可以通过提供的rtmp地址进行推流。 5. 建立推流连接:在推流端使用支持RTMP协议的软件工具,如OBS Studio等,配置正确的推流地址,并开始推流。 此时,FFmpeg推流的音视频数据传输给Nginx服务器上的RTMP模块进行处理和转发。 总结来说,通过FFmpegNginx的配合,我们可以实现音视频推流功能。FFmpeg负责编码推流的数据,而Nginx负责接收和转发数据。这种方式结合了FFmpeg灵活的音视频处理能力和Nginx优越的网络传输性能,使得推流过程更加稳定和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值