• ubuntu16.04安装nginx,nignx-rtmp-mpdule,ffmeg,搭建rtmp服务器


    1,下载,编译 nignix   nignx-rtmp-mpdule

    编译nginx时需要nignx-rtmp-mpdule的包加入

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

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

    放置于同一个目录

    tar -xvf nginx-1.7.5.tar.gz
    cd  nginx-1.7.5/

    ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module
    make
    make install
    安装到 /usr/local
    cd /usr/local
    cd nginx/
    wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
    chmod a+x /etc/init.d/nginx
    update-rc.d nginx defaults
    service nginx start
    service nginx stop

    默认启动80端口监听

    修改监听端口
    cd conf/
     cp nginx.conf nginx.conf-bak
     vi nginx.conf

    修改http下的端口为8080

    再次启动

    浏览器打开localhost:8080

    安装完成

    增加nginx-rtmp 状态查看页面

    解压nginx-rtmp下的html.tar.gz包

    /usr/local/nginx/html

    2.修改nginx配置 加入rmpt配置

    rtmp {
    server {
    listen 1935;
    chunk_size 4096;

    application live {
    live on;
    record off;
    }
    application live360p {
    live on;
    record off;
    }
    }
    }

    添加stat查看相关的配置项

    server {

            listen       60010;

            server_name  localhost;

            #charset koi8-r;

            #access_log  logs/host.access.log  main;

            location / {

                root   html;

                index  index.html index.htm;

            }

            location /stat {

                rtmp_stat all;

                rtmp_stat_stylesheet stat.xsl;

            }

            location /stat.xsl {

                root html;

            }

            location /hls { 

                #server hls fragments 

                types{ 

                    application/vnd.apple.mpegurl m3u8; 

                    video/mp2t ts; 

                } 

                alias temp/hls; 

                expires -1; 

            }

    配置完成  重启nginx

    3.使用ffmpeg推流

    windows平台 下载http://ffmpeg.org/documentation.html的static包

    将解压后的目录中bin目录添加到环境变量

    cmd 输入

    ffmpeg -stream_loop -1 -re -i rtsp://winIp/media/video/Dubai.mkv -acodec copy -vcodec libx264  -f flv rtmp://unbuntuIp:1935/live/video1

    其中:

    rtsp://winIp/media/video/Dubai.mkv为使用vlc播出的流

    rtmp://unbuntuIp:1935/live/video1为推向ngix-rtmp服务的流

    命令执行后 无报错及执行成功

    使用

    播放流 cmd 输入命令 ffmpeg -i rtmp://unbuntuIp:1935/live/video1 

    播出成功。

    ===================

    如果是centos7.5

    启动脚本:

    [root@~]# cat /lib/systemd/system/nginx.service
    [Unit]
    Description=The nginx HTTP and reverse proxy server
    After=network.target remote-fs.target nss-lookup.target

    [Service]
    Type=forking
    PIDFile=/var/run/nginx.pid
    # Nginx will fail to start if /run/nginx.pid already exists but has the wrong
    # SELinux context. This might happen when running `nginx -t` from the cmdline.
    # https://bugzilla.redhat.com/show_bug.cgi?id=1268621
    ExecStartPre=/usr/bin/rm -f /run/nginx.pid
    ExecStartPre=/usr/local/nginx/sbin/nginx -t
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/bin/kill -s HUP $MAINPID
    KillSignal=SIGQUIT
    TimeoutStopSec=5
    KillMode=process
    PrivateTmp=true

    [Install]
    WantedBy=multi-user.target

     然后使用命令:

     systemctl enable nginx.service

     systemctl start nginx.service

    查看启动情况

  • 相关阅读:
    软件工程学习总结
    南通大学教务管理系统微信平台 用户体验
    设计一款适合父母使用的手机
    我想搞懂的软工问题
    C++用法的学习心得
    email program (客户端)演变过程有感
    C++用法的学习心得
    软件工程学期总结
    微信南通大学教务学生管理系统_用户体验
    设计一款给父母使用的手机
  • 原文地址:https://www.cnblogs.com/apache11/p/10076406.html
Copyright © 2020-2023  润新知