2026年9月8日

2026年9月8日

Nginxでstreaming(HLS)配信を設定する方法

はじめに

この記事では、Nginxを用いてHLS(HTTP Live Streaming)配信を行う方法について解説します。HLSはAppleが開発した音声やビデオのストリーミング技術で、多くのデバイスに対応しており、安定した品質のビデオ配信が可能です。

症状・背景

このテーマが必要になる主な場面:

  • HLS配信を実現したいとき
  • Nginxを使用してHLS配信を行うことで、より柔軟な配信環境を作りたい場合
  • ビデオコンテンツの配信時に安定性と品質を向上させたいとき

手順・設定方法

ステップ1: Nginxモジュールをインストール

# nginxの最新バージョンを確認し、パッケージ管理ツールに依存関係を追加
sudo apt update
sudo apt install -y nginx

# Nginxモジュールのインストール
sudo apt install -y nginx-extras

ステップ2: Nginx配信設定ファイルを作成

# /etc/nginx/conf.d/live_streaming.confファイルを新規作成または編集
sudo nano /etc/nginx/conf.d/live_streaming.conf

# 以下のように設定内容を追加
server {
    listen       80;
    server_name  your_domain.com;

    location /hls {
        types {
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }

        root /path/to/streaming/files;
        add_header Cache-Control no-cache;
        add_header Pragma no-cache;

        # HLS配信オプション
        hls_fragment_limit 10m;
        hls_playlist_length 60s;
    }
}

ステップ3: 配信ファイルの準備

# ビデオファイルを適切なフォーマットに変換し、配信用ディレクトリに保存
ffmpeg -i input.mp4 -hls_segment_time 10 -hls_list_size 5 -f hls /path/to/streaming/files/output.m3u8

# ファイルを確認
ls /path/to/streaming/files/

ステップ4: Nginx設定と配信開始

# Nginxの設定ファイルを再読み込み
sudo nginx -t

# 修正があれば適用
sudo systemctl restart nginx

# 配信確認
http://your_domain.com/hls/output.m3u8

注意事項

  • セキュリティ上の注意: HLS配信は公開されているURLを通じて行われるため、適切なアクセス制御を施すことが重要です。Nginxのアクセスコントロールリスト(ACL)を使用して、特定のIPアドレスからのみアクセス可能にすることができます。
  • パフォーマンス/運用上の注意: 配信ファイルのサイズや頻度によっては、Nginxサーバーの負荷が高まります。適切なリソース管理と監視が必要です。

まとめ

1. Nginxモジュールのインストール: NginxにHLS配信機能を追加するために必要なモジュールをインストールします。

2. Nginx設定ファイルの作成: 配信ルートと各種オプションを設定するためのファイルを作成します。

3. 配信ファイルの準備: ビデオファイルを適切なフォーマットに変換し、配信用ディレクトリに保存します。

4. Nginx設定と配信開始: Nginx設定を適用し、配信を開始します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ