Heim  >  Artikel  >  Backend-Entwicklung  >  NGINX配置rtmp服务器实现rtmp以及hls直播

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

WBOY
WBOYOriginal
2016-08-08 09:29:441884Durchsuche

我的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教程有兴趣的朋友有所帮助。

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn