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の設定ができました。