ffmpeg + nginx配置智播推流服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangpengzp/article/details/89703930

nginx是配置网站服务器,但是通过安装相应modue也可以实现直播推流。

nginx服务器配置

环境

  • ubuntu 16.04
  • nginx 1.13

依赖库安装

sudo apt-get install git
sudo apt-get install libssl-dev
sudo apt-get install libpcre3 libpcre3-dev 
sudo apt-get install openssl libssl-dev  
sudo apt-get install zlib1g-dev  
sudo apt-get install git
sudo apt-get install wget

安装过程中,apt占用,出现错误:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

解决方法:

ps aux | grep apt

kill ps

下载解压

mkdir rtmp
cd rtmp
git clone https://github.com/arut/nginx-rtmp-module.git
wget http://nginx.org/download/nginx-1.13.3.tar.gz
tar -zxvf nginx-1.13.3.tar.gz

nginx-rtmp-module添加到nginx服务器

cd nginx-1.13.3
./configure --add-module=/home/lammy/rtmp/nginx-rtmp-module

编译安装

make
sudo make install

运行

cd /usr/local/nginx
sudo ./nginx

验证

ps -ef|grep nginx

配置rtmp推流

进入nginx的配置信息

cd /usr/local/nginx/conf
sudo gedit nginx.conf

添加 rtmp服务

http同级目录下添加 rtmp服务

rtmp
{
	server
	{
		listen 1935;
		chunk_size 4096;
		application live #live rtmp名称为名字,下面on这里表示开启
		{
			live on;
		}
	}
}

添加推流信息查看http接口

在http中添加推流信息,与http内部server统计目录

server
{
	listen 8080;
	location /stat{
		rtmp_stat all; #所有状态
		rtmp_stat_stylesheet stat.xsl #state的样式表
	}
	location /stat.xsl{
		root /home/lammy/rtmp/nginx-rtmp-module;#state的样式表路径
	}
}

/home/lammy/rtmp/nginx-rtmp-module是下载的module中的stat表格路径

重启nginx服务器

cd usr/local/nginx/sbin
sudo pkill nginx
sudo ./nginx

FFmepg 推流

上面配置了ffmpeg的服务,地址就是rtmp+服务器ip + rtmp名称

ffmpeg -i test.mp4  -f flv rtmp://192.168.32.129/live

推流视频有些模糊,想要推流原数据,可以查看:ffmpeg + crtmpserver实现直播推流

播放

vlc播放

vlc播放器下载安装,

  1. 先打开vlc,左上角 媒体,打开网路串流,输入上面推流的地址:rtmp://192.168.32.129/live,点击打开
  2. 推流,执行上面的命令ffmpeg -i test2.mp4  -f flv rtmp://192.168.32.129/live

这样就可以看到vlm播放我们推流的视频了。

ffmpeg中的ffplay播放

ffplay rtmp:/192.168.32.129/live -fflags nofbuffer

ffpaly播放,因为要音视频推流控制,会有缓存,很延迟,这里就设置为无缓冲。

查看推流信息

在推流中,我们打开网站输入:http://192.168.32.129:8080/stat 就可以看到推流的信息了(实时查看可F5 刷新页面),如下图:

猜你喜欢

转载自blog.csdn.net/zhangpengzp/article/details/89703930