jitsi meetからYouTubeへストリーミング配信ができることはご存知だと思いますが、それならFacebook Live経もできるんじゃないかと思いチャレンジしました。

「jitsi meet facebook」なんてキーワードで検索してみたら、いくつか実例がでてくるので今回はそれらをサンプルとしました。

どんなふうに考えるの?

jitsi meet で、Youtube への配信を行うと、ffmpegがそれを受け持っています。

それなら、ffmpegに facebook live へのストリーミング情報を渡せばいけるので貼って感じです。

スクリプトを作成します

こんな感じのスクリプトを作成しました。

#!/bin/bash

COMANDO="/usr/bin/ffmpeg"
while test $# -gt 0
 do
  T="$1"
  if [ "${T:0:32}" = "rtmp://a.rtmp.youtube.com/live2/" ]; then

    # T will contain the rtmp key from jitsi meet page.
   streamkey=${T:32}
    if [ echo $streamkey | grep s_sc ]; then
        COMANDO="$COMANDO rtmps://live-api-s.facebook.com:443/rtmp/${T:32}"
   else
        COMANDO="$COMANDO $T"
   fi
  else
    COMANDO="$COMANDO $T"
  fi
  shift
done

exec $COMANDO
PROCESS_FFMPEG=$!

#wait $PROCESS_FFMPEG

これを /usr/local/sbin/ffmpeg として保存しました。

$ chmod +x /usr/local/sbin/ffmpeg 

ffmepg は /usr/bin/に保存されているので、その前に呼び出されるようにです。

結果は!!!

だめでしたorz

もちろん Youtube へは配信されます。

Facebook Live へは、つながったとのアナウンスが出るんですが、画像が表示されない。う〜ん。。。

ffmpeg へのパラメータを調整すれば表示されるのかもしれませんが。。(^ ^;

ということで、つながった!ってかた、おられましたら、ぜひ教えて下さい(^^)

ffmpegのログ

rtmps以降をダブルコーテーションでくくった場合とくくらない場合でエラーが異なります。

くくった場合

/usr/bin/ffmpeg \
-f lavfi -re -i “life=s=300×200:mold=10:r=25:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16” \
-f lavfi -re -i sine=frequency=1000:sample_rate=44100 -pix_fmt yuv420p -c:v libx264 -b:v 1000k -g 30 -keyint_min 120 \
-profile:v baseline -preset veryfast -c:a aac -b:a 96k \
-f flv “rtmps://live-api-s.facebook.com:443/rtmp/3203276936390284?s_bl=1&s_sc=xxxxxxx”

・エラー内容

“rtmps://live-api-s.facebook.com:443/rtmp/xxxxxxx”: No such file or directory

 くくらなかった場合

/usr/bin/ffmpeg \
-f lavfi -re -i life=s=300×200:mold=10:r=25:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16 \
-f lavfi -re -i sine=frequency=1000:sample_rate=44100 -pix_fmt yuv420p -c:v libx264 -b:v 1000k -g 30 -keyint_min 120 \
-profile:v baseline -preset veryfast -c:a aac -b:a 96k \
-f flv rtmps://live-api-s.facebook.com:443/rtmp/3203276936390284?s_bl=1&s_sc=xxxxxxx”

・エラー内容

[rtmps @ 0x558eda033800] Cannot open connection tls://live-api-s.facebook.com:443
rtmps://live-api-s.facebook.com:443/rtmp/xxxxxxx: Resource temporarily unavailable

どっちが正しい使い方なのか。。。(^^;

おいおい、調べます(^^)

おまけ!

Youtubuへの ストリーミング配信をしているときのCPU負荷(周波数)です。

ESXiサーバーで、4vCPU / 8GB でのケースです。

ストリーミング配信中は、見事にCPUが忙しそうですww