本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
nginx rtmp-moduleの使い方 コンパイルインストールから詳しく説明しています。
映像配信を開始する時に、パスワード認証させたい
エンコーダからサーバに向けてなんでもOKではなくユーザ名とパスワード認証を行い、文字列が正しければエンコードを受け付ける
記事の元
https://helping-squad.com/nginx-rtmp-secure-your-nginx-server/
PHPスクリプトを噛ませておいて、PHPで認証が通ったもののみストリーム受け付ける
NginxでPHPを有効にする方法はこちら
https://www.techlive.tokyo/archives/1331
○Nginxのコンフィグに、rtmpストリーミング受付認証用のphpを通るように設定
/etc/nginx/nginx.conf
rtmp { server { listen 1935; application live { callow publish all; deny publish all; live on; hls on; hls_path /usr/local/nginx/html/live/hls; on_publish http://localhost/auth.php; notify_method get; hls_type live; } } }
※注意
Directives
NGINX-based Media Streaming Server. Contribute to arut/nginx-rtmp-module development by creating an account on GitHub.
Nginxのデフォルト通知方法はPostメソッドで成り立っているから、引数渡しなどができない。認証系を利用したければ必ず
notify_method get;
を入れる事
○auth.phpの中身
Redirecting to Google Groups
<?php // www.server.com/auth.php?user=felix&pass=felixpassword //check if querystrings exist or not if(empty($_GET['user']) || empty($_GET['pass'])) { //no querystrings or wrong syntax echo "wrong query input"; header('HTTP/1.0 404 Not Found'); exit(1); } else { //querystring exist $username = $_GET['user']; $password = $_GET['pass']; } $savedpassword = felixpassword ; $saveduser = felix ; //check pass and user string if (strcmp($password,$savedpassword)==0 && strcmp($username,$saveduser)==0 ) { echo "Password and Username OK! "; } else { echo "password or username wrong! "; header('HTTP/1.0 404 Not Found'); //kein stream } ?>
○ストリーミング方法
rtmp://サーバIP/live/streamkey?user= felix&pass= felixpassword
OBSでの設定はこんな感じになります
サーバIP 192.168.200.50
配信ポイント live
ストリーム名 stream_name
ユーザ名 LiveEvent
パスワード PassWord
映像配信サーバを構築したい方はこちら
映像配信記事まとめrtmp-moduleをマスターする
映像配信サーバを構築 nginx rtmp-moduleを利用した映像配信サーバ構築手順をまとめてみました。 nginxとrtm-moduleをコンパイルインストールするところから、コンフィグの編集、セキュアリンクの生成、video.jsの