ホームページ  >  記事  >  バックエンド開発  >  NGINX は、rtmp および hls ライブ ブロードキャストを実装するように rtmp サーバーを構成します

NGINX は、rtmp および hls ライブ ブロードキャストを実装するように rtmp サーバーを構成します

WBOY
WBOYオリジナル
2016-08-08 09:29:441946ブラウズ

私の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: 単一のバックグラウンド ワーカー プロセスの同時接続の最大数

  • http サーバー構成

    • sendndfile: nginx がファイルを出力するために sendfile 関数 (ゼロ コピー モード) を呼び出すかどうかを指定します。 通常のアプリケーションの場合は、そうする必要があります。ダウンロードなどのディスク I/O 負荷の高いアプリケーションに使用する場合は、オフに設定して、ディスクとネットワークの I/O 処理速度のバランスをとり、システムの稼働時間を短縮できます。
    • keepalive_timeout: 接続タイムアウト
    • サーバー
      • listen: 設定 どのポートをリッスンするか
      • server_name: xxx、つまり IP に対応するドメイン名を使用してアクセスを定義します
      • loaction /: デフォルトのリクエスト
      • error_page と次の場所: エラープロンプトページを定義します
      • location /hls: リクエスト hls を定義します。ここにいます。 のステートメントは、hls ストリームをリクエストする場合、再生アドレスの後に m3u8 を追加する必要があることを示しています。hls のスライスは /tmp/app から取得されます。 code> を入力すると、アプリは独自に定義した rtmp をプッシュします<code>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
    listen: リスニングポート



    application liaortmp: ここで rtmp 通常のプッシュリクエストを設定します

    application liaohls: ここで rtmp プッシュリクエストを設定します。 hls モードでは、スライスは /tmp /app に配置されます。これは、アプリがここに何を書いても、http に書き込まれます。ライブ ブロードキャスト モードを切り替えます。 1対多のブロードキャストです

    hls on: アプリケーションで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コマンド詳細説明🎜🎜 🎜 上記は、rtmp および hls ライブ ブロードキャストを実装するための NGINX rtmp サーバーの構成を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜
    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。