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設定を適用し、配信を開始します。
関連記事: