ffmpeg+nginx+rtmp+web实现视频直播网站

项目简介:视频直播网站由三个部分构成:1.推流端 2.服务器 3.拉流端。在该项目中,推流端用ffmpeg完成,服务器由NGINX+RTMP模块完成,拉流端使用videojs完成。
一、开发环境简介:
推流端:系统:UBUNTU 16.04 工具:ffmpeg
服务器:系统:   UBUNTU 16.04 工具:NGINX+RTMP
拉流端:系统:WINDOWS 10   工具:PHPSTORM

二、构建服务器
服务器由NGINX+RTMP构成。NGINX是HTTP服务器,RTMP是附加模块。
其中NGINX我选择的是用源码编译方式进行安装,因为这种方式可以自定义安装指定的模块以及最新版本。
首先配置各项依赖库。
1.安装gcc g++依赖库
sudo apt-get install build-essential
sudo apt-get install libtool

2.安装pcre依赖库
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev

3.安装zlib依赖库
sudo apt-get install zlib1g-dev

4.安装SSL依赖库
sudo apt-get install openssl libssl-dev


5.安装NGINX
#下载NGINX(到HOME目录)
wget http://nginx.org/download/nginx-1.13.10.tar.gz
#解压
tar -zxvf nginx-1.13.10.tar.gz
#下载RTMP(到HOME目录)
git clone https://github.com/arut/nginx-rtmp-module.git
#进入NGINX解压目录
cd nginx-1.13.10
#配置
./configure --prefix=/usr/local/nginx --add-module=~/nginx-rtmp-module --with-http_ssl_module
#编译
make
#安装
sudo make install
#打开nginx配置文件
cd /usr/local/nginx/conf/
sudo gedit nginx.conf
#下拉至文档末尾,添加RTMP服务
rtmp {  
  
    server {  
  
        listen 2018;  #服务端口,避开重要端口即可   
  
        application live {  
        	live on;
    	}  
        application hls_alic{
		live on;
		hls  on;
		hls_path /tmp/hls;
	}
}  
#不要关闭文档,回到http服务配置处,按以下样式对其修改,最后保存并退出
http {  
    include       mime.types;  
  
    default_type  application/octet-stream;  
  
    sendfile        on;  
  
    keepalive_timeout  65;  
  
    server {  
  
        listen       80;  
  
        server_name  localhost;  
    	location /stat {        
            	rtmp_stat all;  
            	rtmp_stat_stylesheet stat.xsl;  
  	}  
  
    	location /stat.xsl {    
        root /usr/local/nginx/nginx-rtmp-module/;  
    	}  
  
        location / {  
            root   html;  
            index  index.html index.htm;  
        }  
  
        error_page   404		/404.html 
        location = /50x.html {  
            root   html;  
        }  
    }  
}  
#开启nginx服务
cd /usr/local/nginx/sbin
sudo ./nginx
#如要查看NGINX服务是否开启,请打开浏览器并输入localhost,如果看到nginx页面即为成功,或使用以下代码
ps -ef|grep nginx

三、配置推流端

简易的推流端使用ffmpeg即可完成。

1.

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值