あかはば

ドローンやMacなどなど

動画配信

Raspberry PiにNginx-rtmpとstunnel4をインストール

投稿日:

apt一発でインストール

Raspberry PiにNginxとrtmpモジュールをインストールしましょう。と言ってもインストール作業はとても簡単です。Nginxの場合は、

sudo apt install -y nginx libnginx-mod-rtmp

これ1行でオーケーです。これでNginxとrtmpモジュールがインストールされます。

Nginxの設定

Nginxの設定ファイルは /etc/nginx配下にあります。Windows版ではnginx.confにあらゆる設定項目を書きましたが、Raspberry Pi OS版はじめLinux版では、それぞれの機能ごとのconfファイルに設定を分けて書くようです。rtmpモジュールの設定も /etc/nginxにrtmp.confという名前の設定ファイルを作ります。その設定ファイルが読み込まれるように、nginx.confに下記1行を記載します。root権限が必要なので、

$sudo vi nginx.conf

などで編集してください。

追加する1行はこちら

include /etc/nginx/rtmp.conf;

そして今度はrtmp.confを作成します。こちらもroot権限が必要なので、

$sudo vi rtmp.conf

などで編集しましょう。

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application multi {

                        live on;
                        record off;

                        push rtmp://a.rtmp.youtube.com/<youtube liveストリームキー>;
                        exec_push ffmpeg -i rtmp://localhost:1935/multi/test -c:v libx264 -vb 6000k -vf scale=-1:720 -acodec copy -f flv rtmp://localhost:1935/live/test;
                }

                application live {

                        live on;
                        record off;
                        push rtmp://192.168.11.2:1936/rtmp/<Facebook Liveストリームキー>;
                }


        }
}

Windowsで設定したrtmpの設定とほぼ同様ですが、異なる点はアプリケーションmultiの中で、Youtube Liveに配信するpushの命令に続き、exec_pushでffmpegを実行してストリームをアプリケーション名liveのストリームに流し、TLS/SSL経由でfacebook Liveに配信することです。この部分はWindows版ではffmpegを外部で実行してストリームを中継してアプリケーション名liveに渡していました。

stunnel4のインストール

Stunnelもaptでインストールします。

sudo apt install -y stunnel4

Stunnelの設定ファイルに以下を追加します。stunnel.confは/etc/stunnel にあります。

[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

設定ファイルを修正したら、stunnelを再起動します。

sudo systemctl restart stunnel4.service

Nginx-rtmpも再起動しておきましょう。

sudo systemctl stop nginx.service
sudo systemctl start nginx.service

以上でNginx-rtmpとstunnelの設定ができました。

-動画配信
-, , ,

Copyright© あかはば , 2024 All Rights Reserved Powered by STINGER.