memo: 実験的に行っているYouTubeやperiscopeでのライブ配信環境についてのメモ・・
---
ある時、YouTubeでライブ配信が出来る機能が実装されていることに気がついたので、試しに楽器を弄ってる所をやってみた・・・というのが、そもそもの始まり。以来毎週末夜中に楽器遊びの実験配信する習慣となった・・ただバカを晒しているだけではあるのだが・・
ともかく、紆余曲折、カメラ1台から試行錯誤を経て、最近だいたい環境が固まってきたので、ここらでまとめておくことにする。この形になったのは、PCを新調して、処理能力が上がり、配信にOBSというソフトが使えるようになったからだ。それ以前はPCIのキャプチャーカードだけ、ffmpegでエンコードしてVGA15fpsというショボい画質のエンコードで配信、それすらコマが落ちる感じが否めなかった・・
新PCになって処理能力が上がり、OBSで複数のビデオデバイスを組み合わせて使えるようになったのでこの形となったのである。 720p30fpsという標準的な画質で、PC上の都合3種のビデオデバイスを使ってマルチカメラでの配信ができる様になった。
---
ということで
ハードウエア構成
カメラ
このシステムのキモは、NTSCのカメラ群だ。NTSCの監視カメラのジャンクが、格安でハードオフに転がってたりすることがあり、見つけ次第コツコツ少しづつ買ってシステムに加えていったものだ。
何れも300円〜1000円でジャンク売り場の箱に転がってたもの・・・
CSマウントのCCD(CMOSかも知れないが)監視カメラは、監視用なので暗い所でも映る設計になっている。
一般的なカメラとしては、暗い所は暗く、見たままに映った方が良いのだが、この手の監視カメラは暗所対応で、薄暗い所でも自動で絞りを開けたりシャッタースピード、感度を調整して、限界までは何がなんでも写そうという設計になっている。暗所では白黒になったり、赤外線フィルターを自動で外して赤外域が映るものもある・・・
このビデオスイッチは自動切り替え用の出力(AUTO OUT)と、どこか1つ固定の出力(SPOT OUT)が出ているので、それを2つのビデオデバイスで受ける。カメラ切り替わり時に、カメラ間のフレーム同期がとれていない故に画像が乱れるのだが、これは仕方がない。プロの放送ではこんな事はご法度なのでカメラ間の同期を取る仕組みが必要なのだが、無視する。これはお遊びネット配信のご愛嬌。
2つのカメラ用ビデオキャプチャーカードについて、一つはPCIバスのビデオキャプチャーカード、もう一台はUSBのビデオキャプチャーで、これもジャンク品で入手した EasyCAPというメーカー不詳の怪しいUSBデバイスを使っている。とても怪しい感じの商品であるのだが、ちゃんとLinuxで普通にビデオデバイスとして認識して使える。
これらNTSCのビデオカメラの解像度は、キャプチャーカードでキャプチャーしてVGA 640x480 程度なので、これを720p画面一杯に拡大して使うと、やはり画質の粗さが露呈する。VGAのまま配信しても、結局再生側でそれなりの大きさに拡大してしまうから同じことだ。したがって、720p送り出しで、NTSCカメラの映像はワイプで小さく出すことにした。手持ちの音楽用カムコーダーZOOM Q4はUSBカメラとしても使えて、720pの解像度でも問題なく使えるので、このQ4をメインカメラ・・720pの背景として画を作って主画面とし、他のNTSCカメラ画像はワイプで出すわけである。
720pで再生して小窓はVGA相当で配置すれば、仮に1080pサイズで再生しても、画質の粗さもさほど目立たない感じになる。メイン画面半は小窓に隠れるけど、最下段のキーボードはほぼ映る感じなので、これはこれでアリなレイアウトだと思っている。
今どき金かけりゃ4K配信だって出来る時代であるのだが、手持ちの機材、二束三文で転がってるガラクタの寄せ集めで人とは違った画作りは出来ると言うことでもある。今の構成、ワイプで最大8台、背景1台、合計9台を、仮にフルHD機材で構成したら・・・お遊びとは言えない金額がかかる。
ジャンクと言えば、監視カメラのスイッチャーを使う前は、こういう、ジャンク品300円ぐらいで転がっていた、シンプルなビデオ切り替えスイッチ(AVセレクター)を使っていた。また、ビデオタイトラーでテロップを流したりもしていた。OBS導入で使わなくなったが。
最後に、音声。以前はUSBサウンドブラスター改造品を使っていたが、2年前に EdirolのUA-25EXを入手したので以来それを使っている。これもジャンク品入手・・ いや1000円だったら、とりあえずビンボで無くても買っちゃうよね・・ どこも壊れておらず、外装も綺麗で、取り込みも再生も十分なクオリティを保っている。
ジャンクばかりなのは、みんなビンボが悪いんやー・・・割愛するが、楽器用のエフェクト類もジャンクばかりになってきた・・・
---
ソフトウェア
OSB Studio
古いPCでは 1画面のみ、VGA解像度で ffmpeg を使っていた。CPU能力の問題が大きいとおもうのだが、VGAで 標準は30fpsのところ、15fps というフレームレートで出していた。それ以上上げても、どうしてもコマ落ちしてしまうのだ。15fpsでもギクシャクしていたのだが、他に方法がないので仕方なく使っていた。ffmpegの呪文のようなコマンドをスクリプトに書いて起動していた。
新PCに変えた時、OBS Studio を導入してみた。Debian 10 buster パッケージに含まれるものだが、簡単に使用出来て、うまく働いてくれる。
PC上に有るビデオデバイス、あるいは動画ファイルなどを自由に配置して画を作って配信出来るもので、WindowsやMac版も出ているマルチプラットホームのOSSフリーソフトである。
使い方は・・・画面構成などは弄っていると割と簡単に理解出来る感じ。マルチプラットフォームかつフリーという事で使用者が多いらしく、設定などの情報はネットで多数見つかる。
OSBは録画機能もあり、録画設定で録画をファイルではなく、任意の配信サーバー接続とする設定にすると、メインのストリームとは別サーバーに配信ができる、つまり同じ内容を同時に別の2箇所に配信が出来る。 とりあえず、YouTubeを主として、twitterの動画配信であるPeriscopeにも繋いで配信する設定にしているが、うまく働いている。
OBSがうまく動けばそれでオシマイな感じだで、オープニングやエンディングの動画を作ったり、本番をうまくやり、オペレーションをうまくこなす・・これは使う人次第ということになる・・
qv4l2
ビデオキャプチャーの画面調整は qv4l2という v4l2のGUI設定のアプリケーションを使っている。