1359120 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

パソコン王者

パソコン王者

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Recent Posts

Free Space

Feb 2, 2017
XML
カテゴリ:カテゴリ未分類
nginx でhls配信できるようになったのはいいが、じっくり映像を見ると、時々途切れる。切れ目はおそらくtsファイルの切れ目じゃないかなと思う。受信バーが伸びていくが、それがなかなか伸びず、再生位置がどんどん迫り、受信バーが無くなった時点で配信が途切れて「プツ」っという感じになり。最悪はバッファしているのかウェイティングの時間が1s~5sくらいクルクル出てくる。

そこで、セッティングを変えたらだいぶましになった。

hlsの設定
application multi_jp {
live on;

record all manual;
record_unique on;
record_path /tmp/rectmp/jp;
record_suffix _jp.flv;
exec_record_done /usr/sbin/yamdi -i $path -o /tmp/record/jp/$filename;

on_play http://localhost:8080/on_play;

hls on;
hls_path /usr/local/nginx/html/hls/jp;
hls_nested on;
# tsファイルの分轄サイズ キーフレームの倍数にする事
hls_fragment 15s;
# m3u8ファイルに掲載する、分割tsファイルの長さhls_fragment15sで、playlist_length 1mならtsファイルは4つ掲載される
hls_playlist_length 1m;
# m3u8ファイルの一番最後に記載されているtsファイルから再生する
hls_type live;

hls_variant _lw BANDWIDTH=320000;
hls_variant _md BANDWIDTH=576000;
hls_variant _hi BANDWIDTH=2128000;
}

hlsの設定だけでは、途切れが改善できなかったので、httpを吐くnginxの設定もチューニングした。

参考

nginx最大パフォーマンスを出すための基本設定
https://gist.github.com/koudaiii/386eb55a29b1adc19c5e

nginx でKeepAliveを設定してみる
http://server-setting.info/centos/nginx-keepalive-setting.html

# Nginx本体のプロセス数は内部判定にまかせる
worker_processes auto;
# workerプロセスが最大に開けるファイル数の制限
worker_rlimit_nofile 100000;

events {
#一つのプロセスが開ける最大のコネクション数
worker_connections 2048;
#できるだけクライアントからのリクエストを受け取る
multi_accept on;
use epoll;
}

http {
include mime.types;
#default_type application/octet-stream;

# tuning for hls
#エラー画面のnginxバージョン番号非表示
server_tokens off;
#一つのデータパッケージにすべてのヘッダ情報を含む
tcp_nopush on;
#データをキャッシュしないでどんどん送信する
tcp_nodelay on;
#
access_log off;
#keep-aliveタイムアウト時間は少し短くしておく
keepalive_timeout 10;
#クライアントタイムアウト時間を少し短くする
client_header_timeout 10;
#クライアントタイムアウト時間を少し短くする
client_body_timeout 10;
#非アクティブのコネクションをクローズする
reset_timedout_connection on;
#クライアントへの送信タイムアウト
send_timeout 10;
#各種keyの共有メモリ設定
limit_conn_zone $binary_remote_addr zone=addr:5m;
#keyの最大コネクション数 一つのアドレスから100コネクションをリクエスト
limit_conn addr 100;
default_type text/html;
charset UTF-8;
#転送内容をgzipで圧縮
gzip on;
#圧縮gzip_httpバージョン
gzip_http_version 1.0;
#ie6圧縮禁止
gzip_disable "msie6";
#全てのプロキシも圧縮
gzip_proxied any;
#gzip圧縮する最低サイズ(これより小さいデータは圧縮しない)
gzip_min_length 1024;
#圧縮レベル 1-9で圧縮可能
gzip_comp_level 6;
#キャッシュをオープンする 同時最大数とキャッシュ時間の設定
open_file_cache max=100000 inactive=20s;
#キャッシュの検知間隔時間
open_file_cache_valid 30s;
#非アクティブファイルの最小ファイル数
open_file_cache_min_uses 2;
#ファイルのエラー情報もキャッシュ
open_file_cache_errors on;
##############
}






お気に入りの記事を「いいね!」で応援しよう

Last updated  Feb 2, 2017 04:01:46 PM
コメント(0) | コメントを書く



© Rakuten Group, Inc.
X