Nginxでbasic認証したrtmpライブストリーミングwebページ の作成

Nginxで映像配信したい。RTMP配信でWeb Playerを利用する。

エンコーダから、配信サーバに向けてエンコードする際には、ストリーム名にユーザ名・パスワードを忍ばせる事ができるようにし、これに合致しないと送信できないようにする。

Nginx rtmp-moduleへのストリーミング受付をパスワード認証させる

配信時直リンクを避けるSecurelink機能を利用する。

Streaming with nginx-rtmp-module Secure links

再生時はbasic認証にてホームページパスワードをかける。

Debian nginxでパスワード認証

phpにパスワードをかけたい

nginxだとphp scriptファイルにbasci認証がかからないんで すけどー

この時に問題になるのが、basic認証にてphpまで認証できるようにするとその認証場所によって、エンコーダから、配信サーバへのストリーム名の認証で利用するphpファイルにもbasic認証が必要となり、エンコードができなくなってしまう。(on_publish で利用する auth.phpも認証がかかってしまい正常に配信できなくなる)

回避方法

1.auth.phpは、専用のディレクトリに配置。認証はかけない。

/usr/local/nginx/html/publishauth$ ls
auth.php

引数がない時は File not foundを表示

ストリーミング受付をパスワード認証させる方法はちら

Nginx rtmp-moduleへのストリーミング受付をパスワード認証させる

2.ベーシック認証は映像配信用のwebプレーヤを配置するディレクトリのみにかける