TokyoでのUstream配信の機材構成はいろんな意味で当たりだったと思うので、まとめておきたいと思います。Pro2台でUstream配信と、モニタ、タイムラインの監視を分担しました。今回はFMLEとCamTwistを使って1台でStreamの配信を行い、もう1台でBroadcasterを使って放送/録画の制御と、放送モニタ、タイムラインの監視を行いました。することで、カメラ操作とスイッチングを一人(私)がやって、もう一人が録画操作とタイムラインの監視、放送のモニタというバランスの良い分担ができたわけです。タイムライン上の不適切発言の削除やspammerの追い出しなどはUstreamにログインしたマシンからでないとできないので、Broadcasterの操作とタイムライン監視は1台にまとめる必要があったのと、CamTwistとFMLEと比較的重い作業をしているマシンにさらにモニタのH.264のデコード負荷を与えたり、操作者にTL監視までの負荷を与えずにカメラとスイッチングやテロップ等の絵作りに集中させることが出来たのは良かった点です。モニタ側のマシンは、Broadcasterでサーバーからのモニタと、さらに通常にアクセスしたサーバーからのモニタのH.264を2系統のデコードとタイムラインの表示ということで、割と軽い負荷で済んでいました。モニタ側PCの操作も基本的にはTLの監視とプレゼン毎に切った録画の操作が主業務で、あとはサブミキサの微調整程度で十分余裕を持って対処できる仕事割だったと思われます。当初の予定からは、もう一つ仕事が加わってしまっていて、手元カメラの画像をモニタ用のMacの外部モニタ出力から配信用マシンに送っていたので、それの操作も必要になっていましたが、パニックになるほどの仕事量でも無く収まったかと思います。以下が、全体の配線図です。それなりに複雑なシステムですが、会場のディスプレイにも手元カメラや発表者のプレゼン画面を表示しつつ、それをカメラで撮ってUstreamに流すと言う事ではなく、VGAのビデオキャプチャで場合によっては会場にいるよりも見やすくUstreamに流せたと思いますので、かなりのQualityになっていたと思います。あと、棒の先に付けたC905mが俯瞰映像を撮ってくれたので、これも会場の雰囲気を伝えたり、メインのDVカメラを振る間の中間映像として使うのに非常に便利だったと思います。幟を立てる支えの棒をホームセンターで安く売っているので、それを使うのが伸縮機構とかもついていて3mくらいまで伸びて非常に便利です。(この写真やこの写真やこの写真の白い棒がそれですね)もう一つカメラとして、iPad等でのデモを撮るために手元カメラを用意しましたが、これは普通にNTSCのコンポジット信号が出てくるような小型の監視カメラを使いました。これらは秋月電子で売っているこのカメラ(ネジ穴が上下両方にあるのもGood)と、このレンズの組み合わせを1/4インチのネジに変換するアダプタを付けたブームスタンドに取り付けたものです。このカメラシステムも、アイリスからズーム、ピントまでフルマニュアルで、調整さえちゃんとしてやれば変にオートで迷ったりしないし、比較的小型で良かったんじゃないかと思います。当初の予定ではこのカメラについてもいったんアップコンバータでVGAにしてVGA切替器を通してプロジェクタとUstreamに分ける予定だったんですが、アップコンバータのVGA出力にプロジェクタが対応していなかったので(640x480だったのが低解像度過ぎて)、急遽モニタ用のマシンにいったんADVC-55で取り込んで、その画面をXGA出力のサブ画面として出力してスクリーンとUst配信マシンに出すと言う構成に方針転換したのでした。Handを使用しました。以上の用に、マシンの負荷という面でも、人員の作業負担と言う意味でもかなりバランスの良いシステムになっていたと思われるので、みなさんの参考になればと思いましてまとめさせていただきました。2.5G/4G/250Gのマシンですね。2.8GHzか3GHz)だったので、当初そちらを配信に使う事も考えましたが、やはり使い慣れてるマシンである方がトラブル時の対処に大事だと見てそれぞれ自分のマシンを使うようにしました。あと、「X1204USBなんだから配信用マックとの接続はUSBだろ〜」というツッコミが入りましたが、当日はUSB接続はうまく行かなかったため、ラインインに接続してありますので、緑のままで正解です。いう場合にも対処できるように、USBと決めつけずにどっちでも大丈夫なようにケーブルを用意ししておくのも現場仕事では大切ですね。こんなものが出来ました。X用のコマンドラインtoolですが、現在見ているUstreamの番組のViewer数をログに書き出せるようになります。自分でClientのRTMPコネクションを張るのも面倒だったので、tcpdumpと同じくpcapを使ってパケットを横取りして覗いているのでroot権限が必要です。log.txt等のようにしてお使いください。コマンドラインツールの使い方も分からんという質問にはお答えできませんので悪しからず。Xでしかコンパイルもしていませんが、たぶんLinuxやCygwinでもコンパイル出来るんじゃないかと思います。コンパイルできるハズ...(さくらインターネットのFreeBSDではこれでMakeできました、root権限無いしUstも見られないので動かしても意味無いですが...)ソースプログラミングには、こちらを参考にさせてもらいました。http://www.tcpdump.org/pcap.htmなんだかFlashのViewer数と20くらいの誤差があるようなんですが、なぜかは不明です。同じデータ見てるはずなんですけど、なんか拡張ルールがあるのかもしれません。viewersとかのストリングを見つけて、その後のdoubleらしき領域を読んでるだけなので、それ以上のルールがあるかどうかは不明なんで対処のしようがありません。【追記】あまりにも雑な判定だったので、だいぶとんでもない値を表示したりする事があったり、データが取得できなかったりしたのを多少改善しました。(まだまだ真面目にはやってませんが...)それとExcelとかで後処理もしやすいように、tab区切りにして日付の表記も直しました。BSDライセンス条項もソースに追加しましたのでライセンス書いてないって記述を削除。【追記2】どうもstdoutのflushがうまくできてなかったんですが、なんとか直せたようです。FreeBSDでコンパイルチェックもしてみたので、それについての記述を追加。【追記3@2010.9.19】有線LANでしかチェックしてなかったので、無線LAN接続時にen1を指定できなくて困りました。en1と言う風にパラメータで監視インターフェースを指定できるようにしました。あと、Usageもプリントするように整備しました。Screenにしか表示できないという弱点がありました。このせいで例えばKeynoteを編集して表示しようとかっていう時に、どうしても編集中の画面が見えちゃうっていうような問題があったわけです。実験してみたところ、これを回避する方法が見つかったので、Blogにまとめておく事にしました。モニタを変えるにしたがって、そちらに移動するということになっているようです。Xであれば、TweetBubblesを起動する時だけセカンドスクリーンをメインスクリーン(システム環境設定のディスプレイの調整タブでメニューバーを移動してやればOK)にして、TweetBubblesが起動し終わったら元に戻してやれば良いだけです。モニタとして使用する」にチェックを入れて適用ボタンを押せばOKです。(金)iPhoneのマイク入力コネクタ前回の他のマシンのプレゼン画面を放送したいという目標は達成できたので、次は軽装で済ませたい時にiPhoneからUStream中継をしたりするのに問題となる音声の収録です。プレゼン画面と講演者が入る程度のちょうど良い画角の場所に陣取ると、どうしても音声が遠くなってレベルが低くなってしまいがちです。見る時にヘッドホンをつけてボリューム最大で聞かないといけないってなことになっちゃって困るんですよね。いうことで、ヘッドホンの4極端子に外部マイクつけられないかなぁってのが今回のお題です。30pinコネクタにもラインインがあるというウワサもありますが、充電もしながらじゃないと長時間の収録/放送に堪えないので、30pinコネクタでやるには結構配線数も多くなって嫌なんですよねぇ。前に作ったiPod用コネクタ基板もこの目的には使えませんし、何かと自作の30pinコネクタはトラブルをはらみがちで懲りてるってのもあるので、ヘッドホン端子の方に挑戦です。手持ちの4極コネクタとiPhoneの付属のヘッドホンを使ってあたりをつけてみると、どうやら先からヘッドホンのL,R,GND,Micとなっているっぽいです。マイク端子には1.5V程度のバイアスがかかっているようです。そのままGNDとマイクの端子を2pinの3.5φジャックに繋ぐような変換コネクタを作ってみました。PC用のコンデンサマイクを繋いで実験してみると音が出ない/めっちゃ遠い状態で全然ダメです。あいたたた、入力インピーダンスがすごく低いのか、マイクアンプがヘッドホン側に入ってるんですねぇ。ことで、実際に付属ヘッドホンを1.5Vの電源に10kΩでプルアップして波形を見てみると100mVp-pも出て来ます。ことで、途中にマイクアンプ入れないとダメって事が分かりましたので、基板作んなくっちゃ〜、ってことで今日はオシマイ。ちなみに、ライン入力をプリアンプでググッとボリューム絞って入れてみたらちゃんとボイスメモで録音できました〜。レベル調整やライン入力も入れられる基板作るかなぁ。言うのだと欲しいって人も出てきますかねぇ?集まるんならちゃんとパターン起こして基板屋さんに頼みますが...【2010.5.14追記】マイクアンプを作って再挑戦してみました。Broadcasterがヘッドホン端子のマイク入力を使ってくれません。ことで、この計画はダメっぽいですわぁ。ProducerがPro版とFree版が出て不安定なFlash君無しで中継が出来るのは嬉しいところです。11月からTMUGのUStream録画(中継は回線が不安なので、ブツ切れしないように録画にしている)をやっていて、色々と改善したい点があったりするわけですが、その一つがプレゼン画面をカメラで写さないで、直接スクリーンキャプチャから持ってこれないか?ってところでした。Pictureで表示できるわけで、とってもリッチで嬉しいわけです。Pro版を買うほどの事もないので、まずはFree版での実験をして無事成功したので、手順を公開します。Presenterというソフトが別に立ち上がります。Producer.appのパッケージを開くと、Contents/Resourcesの中に入っています。ProducerとはTCP/IPの7272番ポートで接続するような仕様みたいです。netstatで見てやると*.7272でLISTENしています。fowardをかけてみたところバッチリ繋がりました。forwardすることに変更しました。これでもtcp的な見た目は同じ事なので無事繋がります。細かい手順を説明して行きましょう。Producerも何も立ち上げない状態から始めます。放送側のMacにリモートログイン出来るように設定します。システム環境設定の共有でリモートログインのチェックをオンにしてやります。次に、放送側とプレゼン側の2台のMacのIPアドレスのうち同じネットワークにあるIPアドレスを調べます。両者が無線LANの同じ基地局で繋がっているのであれば、無線LANのポートに付いているアドレスですね。放送側のアドレスだけで大丈夫です。プレゼン側は繋がらないなどの現象があった場合にトラブルシューティングとして調べればOKです。システム環境設定のネットワークを選んでEthernetならば左のリストからEtherを選べばアドレスも表示されますが、AirMacの場合は詳細...ボタンを押して更にTCP/IPタブを選んでください。この例の場合は192.168.10.125になります。次はプレゼン側に移ります。アプリケーションフォルダのユーティリティフォルダに入っているTerminalを立ち上げます。ここに以下のようなコマンドを打ちます。test@192.168.10.125ここで、testの部分は放送側のMacにログイン出来るログイン名に適宜置き換えてください。すると、こんな風にPasswordを要求してきますので、放送側のMacのログインパスワードを入力します。この時にキーインしても何も表示されませんので、確実に一気に入力してください。間違えた場合は再度パスワードを要求されます。パスワードの前にAuthenticationがどうのこうのと言ってくる場合もあるかもしれませんが、その場合にはyesと入力してください。Presenter.appをプレゼン側のMacにコピーして立ち上げます。プレゼン側のMacのIPアドレスがこの場合は192.168.10.12になっています。Producerを立ち上げます。Shotを選ぶと下にScreencastの選択肢が出てくるはずです。その画面はプレゼン側のMacの画面になっているはずです。Producerの使いこなしの話しになってしまうので、それは他の方にお任せしま〜す。ちなみに、こうやって一度設定してあげると、sshのコネクションを切っても再接続すれば大丈夫です。いうことで、プレゼンする人が変わる時には、再度そちらのマシンからsshコマンドを打ってあげれば良い事になります。元のプレゼンターからの接続は先に切っておかないといけませんので、前のプレゼンが終わったら固まっているように見えるTerminalでCtrlキーを押しながらcのキーを押します。それでプロンプトが戻ってくるはずですので、切断に成功した事になります。<2010.2.5追記>Windowsでのプレゼンも放送できた方が嬉しいと思うので、Windowsからもやってみました。-Rでの接続(sshはCygwinで入れました)で無事放送できました。forward用のソフトはあったと思うので、Cygwinにsshをインストールしてない場合もそう言ったソフトを入れれば良いんじゃないでしょうか。Producer\rsrc\に入ってました。