• Centos 从零开始 (四)


    12:nginx架设 rtmp直播
    首先在之前 所安装的nginx是用 yum 源安装的。却不能为nginx添加他的模块 所以要用wget来下载源文件 来进行源码配置与安装。开搞
    [root@localhost ~]# wget  nginx-1.6.3.tar.gz
    #下载nginx源文件
    [root@localhost ~]# tar xvf nginx-1.6.3.tar.gz                                                            #解压文件
    因为这里需要用到  nginx-rtmp-moudle 这个模块  所以需要下载他 
    [root@localhost ~]# yum install git                #下载git 因为源码在git上。
    [root@localhost ~]# git clone https://github.com/arut/nginx-rtmp-module
    我把他安装到了 root目录下 此时此刻他的地址应该是 /root/nginx-rtmp-module 我需要记住这个地址。
    接下来安装 nginx-1.6.3
    [root@localhost ~]# cd nginx-1.6.3                    #进入nginx源文件
    [root@localhost ~]# ./configure --add-module=/root/nginx-rtmp-module  #配置系统参数。最后可以用 nginx -V来查看所用的环境配置,
    [root@localhost ~]# make #编译
    [root@localhost ~]# make install  #安装
    当安装好了之后 nginx 来看下需要用到的目录结构
    安装目录 /usr/local/nginx
    命令程序 /usr/local/nginx/sbin/nginx -v # 就是他的命令 ,因为没有设置环境变量 ,这里看了一下nginx的版本号
    配置文件 /usr/local/nginx/conf/nginx.conf #这个文件用于操作反向代理。
    暂时用到的都看完了 这个时候需要配置 rtmp了 。。感觉很麻烦,那就用这个模块给我的 测试代码好了。测试代码在 /root/nginx-rtmp-module/test/nginx.conf
    我把这个测试的nginx.conf 拷贝到 /usr/local/nginx/conf/conf/下 用rtmp.conf命名 不要忘记在conf文件下 在创建个 conf文件哦。。大概的命令就是这个样子了
    [root@localhost ~]# cd /usr/local/nginx/conf #进入conf配置文件夹
    [root@localhost ~]# mkdir conf #创建conf文件夹 (他的目录应该是 /usr/local/nginx/conf/conf)
    [root@localhost ~]# cp /root/nginx-rtmp/test/nginx.conf /usr/local/nginx/conf/conf/rtmp.conf#拷贝文件然后我需要把rtmp.conf文件放到nginx.conf下。
    [root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf #编辑nginx.conf
    这个时候 要在nginx.conf配置文件里最下面 加入一行代码 include conf/*.conf 这就吧我拷贝的rtmp.conf 放进去了 然后修改这个文件 把除了rtmp{ } 内容外面的东西全部删掉因为起冲突。所以只需要rtmp就够了。
    这基本就配置完毕了 。然后启动 nginx服务
    [root@localhost ~]# /usr/local/nginx/sbin/nginx #启动nginx服务
    这里假设我内网ip 是192.168.0.127 那么流服务器就是 
    rtmp://192.168.0.127/myapp
    注意 : 这里的myapp 就是rtmp.conf 中 application的值(test中默认的) 
    我们可以用 rtmp://192.168.0.127/myapp/test 来推流 这个test其实就是缓存文件什么都可以。
    接下来我可以用一个程序软件来测试他  https://ffmpeg.org/来下载 ffmpeg ,接下来将用windows操作系统来进行推流与播放。
    ffmpeg -i rtmp://*******(源地址) -c:v copy -c:a copy -f flv -y rtmp://*******(服务器地址) #推流命令
    D:> ffmpeg -i rtmp://live.hkstv.hk.lxdns.com/live/hks -c:v copy -c:a copy -f flv -y rtmp://192.168.0.127/myapp/test
    然后另起一个cmd
    D:> ffplay rtmp://192.168.0.127/myapp/test
    OK大功告成
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    12:nginx架设 hls 服务器
    1,先在http{}里添加一个这个配置信息。
    server {
            listen       8080;
            #HLS配置开始,这个配置为了`客户端`能够以http协议获取HLS的拉流
            location /hls {
                types {
                    application/vnd.apple.mpegurl m3u8;
                    video/mp2t ts;
                }
                root /usr/local/nginx/html; #因为root指向 所以接受流的时候 实际上是去了/usr/local/nginx/html/hls 这里
      
          expires -1;
            }
    }
    2,在在nginx.conf 的http上写一个rtmp配置
    
    
    rtmp {
        server {
            listen 1935;
            #rtmp流 如推流方式 rtmp://localhost/myapp/test 读流方式也是 rtmp://localhost/myapp/test
            application myapp {
                    live on;
                    record off;
            }
            #hls流 如推流方式 rtmp://localhost/hls/test 但读流方式则是 http://localhost:8080/hls/test.m3u8
            application hls {
                live on;
                hls on;
                hls_path /usr/local/nginx/html/hls;
                hls_fragment 5s; 
            }
            #增加对HLS支持结束
        }
    }
    
    
    2,此时 nginx.conf应该是这个样子的。
    .....
    ......
    http{ ......  } #http
    rtmp{ ...... } #流
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
  • 相关阅读:
    java:选择排序
    java:快速排序
    MYSQL 5.7版本修改密码
    多级代理下获取客户端真实IP
    map相关操作:map遍历,map转换为list
    【导航】微信开发者相关网址导航
    【java】微信开发后台官方后台配置篇
    HTML页面加载loading
    表单JS提交失效
    后台request获得所有参数(当你不知道它包含什么参数)
  • 原文地址:https://www.cnblogs.com/dandingjun/p/6029335.html
Copyright © 2020-2023  润新知