七面鳥小屋ライブ配信の舞台裏。
そういえばライブ配信の技術的なことについて書くのを忘れていました。
ひよこ育成の時に使ったラズパイを利用しています。
ラズパイは本当にスグレモノでプログラムさえ組めればあらゆることが出来ます。
ラズパイにウェブカメラを2台読み込ませています。
↓ 1カメ
↓ 2カメ 非常に雑な設置に苦笑い。
↓ ユーチューブ側の実際の配信画面 2カメの映像は右上に使っています。
ラズパイは常時通電ではなく、タイマーで起動させています。
配信時間を9~15時とかで考えていたので、その他の時間は電力の無駄だな、とこの仕様に。
そのせいで余計な苦労した気がする、それは後述。
とにかく数週間にわたる試行錯誤が終わり、ようやく配信が安定して来ました。
七面鳥達からしたらプライバシーもへったくれもありません。
さて、技術的な話を書きます、誰も興味はない。
挙動を追って説明すると、
1 100Vタイマーが設定時間になるとラズパイを起動させる
2 ラズパイが起動すると crontab によりプログラムが自動実行される
3 プログラム内で ffmpeg を起動させ、YouTubeLiveへ映像をストリーミングする
4 YouTubeLive が正常にデータを受け取ると配信が開始される
5 プログラム内にタイマー機能を設けてあり、設定した時間分の配信を過ぎると ffmpeg を終了させる
6 プログラムが終了したらプログラム内からラズパイをシャットダウンさせる
7 100Vタイマーが落ちると、翌日の配信までラズパイの電力消費が0になる
こういう感じの処理を考えました。
部屋の中ではわりと早い段階で動作確認が取れたのですが、いざ鳥小屋に設置してみると、挙動が安定しなかった。配信できる時もあればできない時もあり、再起動で直る時もあればほとんどは直らず。
エラーが出た時に、crontab の仕様のせいなのか、 プログラムの書き方が悪いのか、ffmpegのせいなのか、はたまたWIFIルーターとの距離か?など色々な可能性があり絞り込むのが大変でしたが、
大きかったのはラズパイをHDMIケーブルを使ってモニターに繋いで操作していたことでした。
大抵の人はラズパイをSSHという機能で遠隔操作するのですが、私のPCと相性が悪く?SSH操作が出来ず、以前からずっとモニターを使っている。
結論を書くと、ffmpeg という配信ソフトを使う時に、利用するマイクとカメラの認識番号的なのを指定するのですが、HDMIケーブルを繋いだ状態だと、モニターに映像と音を送るためにHDMIにも認識番号を割り振ってしまう、結果ウェブカメやマイクに割り当てられる番号が後ろにずれこむ可能性がある、ということです。
小屋に設置した状態では、ずれた番号を指定することになって ffmpeg が困っていたわけです。
ここに気づくのに本当に時間がかかりました。
部屋の中では動作するのに鳥小屋に設置すると動作しない理由、探偵並みの追い込みです。
まぁちゃんとエラーログを取りましょう、という話かも知れません。
おしまい
追記
当初はウェブカメでなく、ラズパイ用のカメラモジュールを使っていた。早い段階でffmpegで動作確認が取れたので、これで良いや、と思っていたが、カメラを2台3台に増やしたり、画質向上を狙うならウェブカメの方が選択肢が広がるな、ということで今はウェブカメを使っています。
ffmpeg というソフトは使いこなすのが大変であまり勉強したくならないですね。一度動けばもう触らないでおこう、と思わせられる煩雑さです。ウェブカメに乗り替えるのをチュウチョしていた理由はこのソフトのせい。
ラズパイ本体のマシンパワーによって映像処理の限界が決まってくるので、最新のモデルにすれば画質や映像処理で有利になる。
処理が遅いとやがて配信が落ちる。ワイプ画面の大きさを微調整するだけでも処理速度に影響したので、もしかしたら無処理・無加工の方が画質や音質を落とすよりも処理が速くなるのかな、という印象。この辺りを追い込むのは大変なので新しいモデルのラズパイが欲しい。
ウェブカメの性能向上に驚いた。3~4000円程度でもびっくりするほど高画質。
うらしま太郎状態です。