点播与直播的实现——Niginx流媒体服务器(推流,拉流)

一、准备环境

1.1 下载

yum install -y wget
yum install -y lrzsz

1.2 配置阿里云yum源

wget -o /etc/yum.repos.d/CentOS-Base.repo.aliyun http://mirrors.aliyun.com/repo/Centos-7.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup //备份
mv /etc/yum.repos.d/CentOS-Base.repo.aliyun  /etc/yum.repos.d/CentOS-Base.repo

1.3安装依赖

yum install -y gcc-c++ zlib pcre openssl openssl-devel 

1.4 创建文件夹

mkdir /opt/nginx 
mkdir /opt/software

二、流媒体搭建流程

2.1 rz上传所有相关软件包

上传mp4的扩展模块:nginx_mod_h264_streaming_2.2.7.tar.gz

上传flv的扩展模块:yamdi-1.9.tar.gz

上传m3u8的扩展模块【hls模块】:nginx-rtmp-module-master.zip

上传视频处理所需软件包:ffmpeg-4.2.2.tar.bz2

上传ffmpeg所需依赖包:yasm-1.3.0.tar.gz

2.2 安装FLV模块

tar -zxvf  yamdi-1.9.tar.gz
cd yamdi-1.9
mark && make install

2.3 解压MP4模块 

tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz 

2.4解压HLS模块(m3u8、流媒体)

yum install -y unzip #解压用的
unzip nginx-rtmp-module-master.zip 

2.5解压nginx软件

tar -zxvf nginx-1.8.1.tar.gz

2.6在安装之前  mp4模块有一个bug 要把它处理一下

cd nginx_mod_h264_streaming-2.2.7/src
vim ngx_http_streaming_module.c 
157行-161行  对WINDOW系统的检查注释掉:
命令模式下157gg跳转到157行

注释完毕后保存并退出

2.7开始安装

在安装nginx的时候 一起把mp4模块 以及HLS模块一起装上去

C语言中 ./configure 向导 预配置

--add-module 安装扩展插件
--prefix 安装在哪里
--with- 使用系统内置的模块 已经安装完毕 关联

 cd nginx-1.8.1
./configure --add-module=/opt/nginx/nginx_mod_h264_streaming-2.2.7   --add-module=/opt/nginx/nginx-rtmp-module-master  --with-http_ssl_module   --prefix=/opt/software/nginx   --with-http_flv_module  --with-http_stub_status_module

修改 objs下的文件Makefile:

vim objs/Makefile

将第3行  -Werror 删除掉 

 保存并退出后:

make && make install 

2.8 修改nginx中的nginx.conf文件

命令:vim /opt/software/nginx/conf/nginx.conf

2.9 测试点播

mv 凉凉.mp4 /opt/software/nginx/html/ #将上传的测试的凉凉.mp4移动到nginx目录下的html中

   cd /opt/software/nginx/sbin/ #进入nginx的sbin目录下

    ./nginx #启动nginx 

   测试:网址:http://192.168.1.63:80/凉凉.mp4 

2.10 windows下切片

解压该软件:ffmpeg-20200309-608b8a8-win64-static.zip

进入bin目录下,并将测试文件放入该目录下,然后新建一个文件夹out

命令:shift + 鼠标右键:打开命令窗口

   输入:ffmpeg.exe -i test.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 out\output.m3u8【前提先建一个out目录】

 

三、安装直播服务器

按步骤执行如下命令:

yum install -y bzip2 #用于bz2包的解压【ffmpeg的解压】

   tar -zxvf yasm-1.3.0.tar.gz #用于解压yasm,ffmpeg的依赖包

   cd yasm-1.3.0 #进入yasm的解压目录下

   ./configure #预处理

   make && make install #开始按转发yasm

   tar -jxvf ffmpeg-4.2.2.tar.bz2 #用于解压ffmpeg

   cd ffmpeg-4.2.2 #进入ffmpeg的解压路径

   ./configure --prefix=/opt/software/ffmpeg #将软件安装在XXX

   make && make install #开始安装ffmpeg

3.1 修改nginx的配置文件nginx.conf

     vim /opt/software/nginx/conf/nginx.conf #修改该配置文件

   cd /opt/software/nginx/sbin/ #进入sbin目录下

   ./nginx #启动nginx

   netstat -nltup | grep nginx #查看nginx启动了那些端口

80端口:点播

1935端口:直播

 

3.2 下载应用

 来源==》“+”添加

 黑屏解决:

右键 -> 设备管理器

 

 3.3 EV录屏

 

rtmp地址:rtmp://192.168.1.63:1935/hls/123456

 

posted @ 2020-03-12 14:29  THEROC  阅读(1074)  评论(0编辑  收藏  举报