Lumix BGH1 新ファームウェアで4Kライブ配信!?
どこよりも早い新ファームウェアレビュー!
どこよりも、は誇張かな。いまひとつ話題にならないw われらがLumix陣営の秘密兵器、
の待望の!ファームウェアアップデート(version 2.0)が今朝ほど、予定通り公開されました。早速その目玉機能であるところの
4Kネットワークストリーミング機能!
についてレビューしてみました。
ファームウェアアップデート 2.0 について
詳細はこちらです。まあこれ以外にも例によって細かい修正はきっと入っているので、機能的に興味なくてもとりあえず入れとけ、ですが、なんたってBGH1にはそもそも有線LANポートがハードウェア的に用意されていたので、いつかこの機能が実現すると期待していました。
能書きはいいからさ...
YouTuber動画でよくある、「本人が出てきてべらべら前置きをしゃべる」のが実は大嫌いでw、そもそも自分の顔出すのも嫌なんですが、ということでさっさと実際の使い方・使い勝手について紹介します。
ファームウェアアップデートは例によってLumixのサポートサイトから。SDカードに .bin ファイルをコピーして本体メニューからアップデートを選ぶ、のですが、Lumix Tether というリモートコントロールソフトウェアからもできるようになったみたいです。
今回はオーソドックスにSDカードにコピーしてからアップデートしてみました。アップデート自体は数分で終了します。
メニューを見てみよう
有線・無線LANの機能設定メニュー中に「ストリーミング」という項目が追加されています。(以下スクリーンショットは Lumix Tether for Multicamで"Menu"を選択して表示させたものなので、本体表示とは若干異なるかも)
そして、本体記録モードに関係なく、[配信画質] で設定した解像度・ビットレートでストリーミングできるようになります(同時記録がどうなるのかは後日確認します)。
[配信画質] で選べる選択肢の詳細は上記ファームウェアアップデートのリンクを見てほしいのですが、
と3ページにわたるリストになっています。左上から右に、エンコード、解像度、ビットレート、フレームレートという並びですね。
とりあえずテストとして、
H.264 / 4K(UHD) / 12.5M / 30p
を選んでみました。実はカメラ側の設定はこれだけで、あとは「ストリーミング」を「On」にするだけです。あ、当然「有線LANに接続した状態」が前提です。IPアドレスなどが振られ、PCからアクセスできる状態になっている必要があります。
RTP/RTSPでのストリーミング
BGH1でのストリーミングは、正確には「配信」ではなく、カメラがサーバーとなって、カメラ側にデータを「取りに行く」RTP/RTSPでのストリーミングです。つまり、カメラからいきなりFacebook LiveやYouTube Liveへ配信することはできません。とりあえず、確認するために VLC Player からカメラにアクセスしてみました。
ファイルメニューの「Open Network Stream...」を選んで、以下のように指定します。アドレスはカメラのIPアドレスです。もしRTSPポート番号を変えたのなら、"554" のところも該当する番号に変更してください。
末尾の "stream" を忘れてエラーになってちょっと焦りましたが、BGH1のマニュアルを再度ダウンロードして該当箇所を見つけました(マニュアルもアップデートされています)。
(マニュアル該当箇所への直リンク)
一瞬で画面が表示され、問題なくストリーミングができることを確認できました。
(被写体は自作のタイムコードリーダー・ディスプレイw)
写真を撮り忘れましたが、RTSPでのストリーミングが始まると、本体に記録していなくてもタリーランプが赤になります。ディレイは1秒あるかないか、ぐらいでしょうか。
YouTube Live への「配信」
では実際にYouTube Liveへ配信してみましょう。
RTSPのストリームをYouTube Liveなどが受け付ける RTMP に変換するのはいくつか方法がありますが、今回は一番カンタンでお手軽だと思われる
ffmpeg
を使ってみます。これは非常に歴史がある映像・音声のエンコーディングツールですが、とても優秀なストリーミングツールでもあります。以下の場所から各プラットフォーム版をダウンロードできます。
Linuxなどでは最初から入っているケースも多いです。カメラからのストリームをデコード・再エンコードしなければ、ネットワークのパケットの組み立てだけなので、指定したビットレートの2倍のネットワーク処理ができれば、プラットフォームは何でもいいかもしれません。後日 Raspberry Pi などでやってみようと思います。
[追記] Raspberry Pi より倍くらい速いはずのJetson Nanoで試したところ、追いつけないようです。以外に負荷が高い。
コマンドラインは以下の通り
ffmpeg -i rtsp://<カメラのIPアドレス>:554/stream -c:v copy -c:a copy -f flv rtmp://<Youtube Live のサーバーURL>/<ストリームキー>
たったこれだけです(グレイアウトされるのはnote.comの仕様。この一行ぜんぶ必要です)。
オプションの意味は必要ならまたそのうち解説します。
YouTube Liveの最近の変更で、RTMPの送信が始まった瞬間に配信がはじまりますので(設定で変更は可能)、早速YouTube Live側の配信をチェックすると、
となって、無事に!4Kで配信されているのを確認できました。アーカイブのURLを貼っておきますが、あまり面白くはないと思いますwが、画質的には特に破綻はありません。まあ動きがないので当然かもですが...
(あ、サムネは嘘っぱちですw)
いろいろやってみよう!
ATEM mini PROみたいに、本体から直接RTMP配信できればいいのに、とは正直思いましたが、逆にRTSPで引っ張ってこれるということは、「映像ソース」として処理できる可能性があるということでもあります。今後配信ツールを使って切り替えやミックスなどもできないかやってみようと思っています。OBSはRTSPで「引っ張ってこれる」機能があるので、複数ソースを用意すれば「スイッチできる」はず...。