• 点播与直播的实现——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 outoutput.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

  • 相关阅读:
    vue拖拽排序(vueslicksort)点击失效的解决方式
    Redis 的操作为什么是的原子性的详解
    SQL Server Express 自动安装实现
    解决phpstorm项目版本设置锁不定的问题
    git报错:See the 'Note about fastforwards' in 'git push help' for details.
    vm虚拟机centos系统拷贝到另一台电脑不分配ip的问题
    在centos7下部署aspnetcore webapi项目
    cento7为root修改简单密码
    TP生产环境出现读写失败的错误的解决方案
    查看SQL Server性能时常用的性能计数器
  • 原文地址:https://www.cnblogs.com/the-roc/p/12469078.html
Copyright © 2020-2023  润新知