Maison  >  Article  >  développement back-end  >  NGINX配置rtmp服务器实现rtmp以及hls直播

NGINX配置rtmp服务器实现rtmp以及hls直播

WBOY
WBOYoriginal
2016-08-08 09:29:441928parcourir

我的NGINX使用简介

先上配置:

<code><span>work_processes</span><span>4</span>;
events{
    <span>work_connections</span><span>1024</span>;
}

http{
    <span>include</span> mime.types;
    <span>default_type</span> application/octet-stream;
    <span>sendfile</span><span>on</span>;
    <span>keepalive_timeout</span><span>65</span>;
    server{
        <span>listen</span><span>80</span>;
        <span>server_name</span> localhost;
        <span>location</span> /{
            <span>root</span> html;
            <span>insex</span> index.html index.htm;
            }
        <span>location</span> /hls{
            <span>alias</span> /tmp/app;
            }
        <span>error_page</span><span>500</span><span>502</span><span>503</span><span>504</span> /50x.html;
        <span>location</span> = /50x.html{
            <span>root</span> html;
            }
        }
    }

rtmp{
    server{
        <span>listen</span><span>1935</span>;
        <span>chunk_size</span><span>4000</span>;
        <span>application</span> liaortmp{
            <span>live</span><span>on</span>;
            }
        <span>application</span> hls{
            <span>live</span><span>on</span>;
            <span>hls</span><span>on</span>;
            <span>hls_path</span> /tmp/app;
            <span>hls_frament</span><span>15s</span>;
            }
        }
    }
</code>

配置的解读


  • workprocesses和work_connections

work_processes: 启动进程,通常设置成cpu相等的数目。
work_connections: 单个后台worker process进程的最大并发链接数

  • http server的配置

    • sendndfile: 指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    • keepalive_timeout : 连接超时时间
    • server
      • listen: 配置监听哪个端口
      • server_name: 定义使用xxx访问,即IP对应的域名
      • loaction /: 默认请求
      • error_page以及紧接着的location : 定义错误提示页面
      • location /hls :定义请求hls,我在此处的声明为,如果请求hls流要在播放地址后面加上m3u8,hls的切片从/tmp/app得来,app为自己定义的
  • rtmp推流服务器的配置
    • listen : 监听端口
    • application liaortmp : 此处配置rtmp普通推流请求
    • application liaohls : 此处配置rtmp推流请求,通过hls方式播放,切片放在/tmp/app,此处正好与上面http配置的地方对应,app在此处写什么,在http处也写什么
      • live on :切换直播模式,即一对多广播
      • hls on : 在 application 切换 HLS
      • hls_path : 切片存放地址
      • hls_fragment : 切片大小,设置 HLS 分段长度,默认为 5 秒钟

  • 至此nginx的简单配置已经完成,/usr/local/conf/nginx.conf里面储存的就是上面的配置。


    • 举个列子(关于app
    • rtmp推流和rtmp播放
      • 推流地址: rtmp://x.x.x.x:1935/liaortmp/liao
      • 播放地址: rtmp://x.x.x.x:1935/liaortmp/liao
    • rtmp推流和hls直播
      • 推流地址 : rtmp://x.x.x.x:1935/liaohls/liao
      • 播放地址 : rtmp://x.x.x.x:80/hls/liao

      liao是可以替换的任意的。

    参考
    1. Nginx配置文件详细说明
    2. Nginx RTMP 模块 nginx-rtmp-module 指令详解

    以上就介绍了NGINX配置rtmp服务器实现rtmp以及hls直播,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn