• ubuntu 安装编译nginx,并实现HLS推送,,可以实现摄像头直播


    1.安装nginx的依赖包  zlib pcre openssl(可以源码安装也可以直接系统安装)

    sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential

    2.下载openssl源码包

    wget http://www.openssl.org/source/openssl-1.0.2a.tar.gz

    sudo tar -zxvf openssl-1.0.2a.tar.gz -C /usr/local/src/

    cd /usr/local/src/openssl-1.0.2a/

    sudo ./config

    sudo make && sudo make install

    3.为了增加对rtmp的支持下载nginx-rtmp-module,地址:https://github.com/arut/nginx-rtmp-module

    git clone https://github.com/arut/nginx-rtmp-module.git

    4.下载nginx源码包

    wget  http://nginx.org/download/nginx-1.8.0.tar.gz

    sudo tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/src/

    cd ../nginx-1.4.4
    ./configure --prefix=/usr/local/nginx --with-google_perftools_module 
    --add-module=/usr/local/src/nginx-rtmp-module  --with-http_ssl_module --with-debug
    make
    make install

    5.

    在原有的nginx.conf中加入如下配置

    rtmp {
    
        server {
    
            listen 1935;
    
            chunk_size 4000;
          
            #HLS
    
            # For HLS to work please create a directory in tmpfs (/tmp/app here)
            # for the fragments. The directory contents is served via HTTP (see
            # http{} section in config)
            #
            # Incoming stream must be in H264/AAC. For iPhones use baseline H264
            # profile (see ffmpeg example).
            # This example creates RTMP stream from movie ready for HLS:
            #
            # ffmpeg -loglevel verbose -re -i movie.avi  -vcodec libx264 
            #    -vprofile baseline -acodec libmp3lame -ar 44100 -ac 1 
            #    -f flv rtmp://localhost:1935/hls/movie
            #
            # If you need to transcode live stream use 'exec' feature.
            #
            application hls {
                live on;
                hls on;
                hls_path /usr/local/nginx/html/hls;
                hls_fragment 5s;
            }
        }
    }
    
    http {
    
        server {
    
            listen  8080;
            location /hls {
                # Serve HLS fragments
                types {
                    application/vnd.apple.mpegurl m3u8;
                    video/mp2t ts;
                }
                root html;
                expires -1;
            }
        }
    }

    其中rtmp部分与原有的http部分在同一个级别,但是下面的http部分要放到已有的http部分中,也就是增加一个server部分。

    启动nginx服务

    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  

  • 相关阅读:
    FusionCharts--加载XML文件
    昌泡排序的结果从小到大
    调试javaee郑阿奇第二章出现的问题
    补充-servlet基础
    利用二维int型数组表达一个矩阵,创建该数组并将其元素打印输出
    创建字符串数组并将元素转换为小写输出
    在一个字符串中搜索虽一个字符串
    在数组中查找指定的值
    复制字符串
    补充 精通JSP开发应用 (Eclipse 平台) 第六章 基础技术:Servlet
  • 原文地址:https://www.cnblogs.com/nopassword/p/6061833.html
Copyright © 2020-2023  润新知