MacでH.264動画配信(Justin.TV+QuickTimeBroadcaster編)
※ 環境によってはうまく行かない場合があります。
以下は、あくまでも僕の環境でうまくいった例です。
おそらく、僕の知ってるなかで今一番ベストなライブ配信方法ですよ!
ゲームプレイ動画を実況配信する例で説明していきます。
その前にJustin.TV+QuickTimeBroadcaster(以下QTBC)だと他とどう違うのかを。
●Justin.TVのメリット
・H.264という高クオリティフォーマットでライブ配信できる
・QTBCを使うため、設定が柔軟にできる
・きちんと設定を追い込めば、なめらかな映像の配信が可能(30fps)
・ちまたで人気のUstreamよりブロックノイズが目立たない(気がする)
・総じて高クオリティ
・Justin.TVがサーバーになるため、いわゆる「鏡」と呼ばれる中継が不要で多くの人が見れる
・Embedのコードが弄れるので自分でページをつくってEmbedしてやるといい感じ。
●Justin.TVのデメリット
・QTBCを使うため、なかなかのハイスペックが要求される
・QTBCを使った放送はサーバー側に保存されない(ローカルは可能)
・設定が柔軟にできる反面、最適な設定にチューニングするのが大変
・Webサイトがわかりづらい
とにかく、今、僕のなかでは最高の方法が Justin.TV+QTBC なわけですよ!
■用意するもの
・QuickTimeBroadcaster(無料)
・CamTwist - デスクトップを取り込み
・ビデオキャプチャツール(エミュレータの場合は必要なし)
(注:僕の場合、TVMax+をビデオキャプチャにしています。)
・Soundflower - 仮想サウンドデバイス
・LadioCast - ミキサとして
■音の設定
●準備
システム環境設定からサウンドを選び、
出力を Soundflower(2ch) を選択します。
●マイクとキャプチャの音をミックスする
LadioCast をミキサーとして使用します。

入力1:使用してるマイクにし、AUX に設定する。
入力2:Soundflower(2ch)にし、AUX に設定する。
入力3:Soundflower(16ch)にし、Main に設定する。
出力 AUX タブ: Soundflower(16ch) にします。
出力 Main タブ:お使いのヘッドホンなどにします。
これでOK(ミキサとしての使用なので接続する必要はありません)
これで、マイク音量は一番上、配信物の音量は二番目のスライダで個別に調整できるという寸法です。
なお、このとき気をつけるポイントとして、ピークメーターが赤くなる時は音が割れるので、
いろいろ調整していい感じにしちゃってください。
(AUX設定のSoundflower(16ch)のミキシング音量も調節したりすると良いと思われます。)
■キャプチャの設定
キャプチャに付属の視聴ソフトをつかって、
外部入力を視聴する状況にします(もちろん事前にケーブルをつないでください)
*視聴環境はフルスクリーンを非推奨です。
視聴画面サイズが小さいほど遅延が起こりにくいようです。
■CamTwistの設定
(CamTwistは Leopard の Spaces に対応していません。
常に「現在表示されている Space の取り込み範囲」を取り込みます。)

[Advanced…] ボタンを押して、Frame rateを30にします。
Desktopを選択肢、Full Screanのチェックを外します。
[Select capture area] ボタンを押し、表示された黒枠を
取り込みたい場所、サイズに合わせて [Done] を押します。
■QTBCの設定
ここがキモです。僕もここでずっと躓きました。
●ネットワーク設定
転送:自動ユニキャスト(アナウンス)
ホスト名:live.justin.tv:1935/app
ファイル:live_user_”Justin.TVのアカウント名”
ユーザ名:ブラウザでJustin.TVにログインした状態で ここ の 3. をそのまんま入れます。(live_数字_英数)

パスワード:jtv
これで、とりあえずブロードキャストはできるようになるはずです。
●オーディオ設定
これは、オーディオクオリティなので、自分で調整を追い込む必要がありますが、
一例として僕の場合(低音質高画質)を参考までに。
(音楽番組の場合は、高音質低画質を目指すべきかと思います)
オーディオストリーム有効にする:チェック
入力源:Soundflower(16ch)
圧縮プログラム:MPEG-4 オーディオ
オプション
圧縮プログラム:AAC(Low Complexity)
ターゲット出力:指定されたビットレート
ビットレート:24 キロビット/秒
出力のサンプルレート:22.050kHz
エンコーダの品質:最高品質
レート:22.050 kHz
出力:モノラル
実況などはねとらじと同様、最低24kbpsあれば大丈夫な感じです。
動画がある以上は、ある程度音のクオリティは妥協する感じになりますね。
●ビデオ設定
ここが一番キモです。うまく調整しないと動画がカクつきます。
とりあえず僕の設定をご参照ください。
入力源:CamTwist - CamTwist
幅:316
高さ:237
(僕の環境だと何故か320x240だと -9408 エラーが出ます)
圧縮プログラム:H.264
フレーム/秒:30(ここはどんな数値でも30fpsになるそうです)
キーフレーム単位:60 フレーム毎
データレートの制限:650 kbits/秒(高いほど良いですが、回線と相談&高すぎても帯域を使うだけです)
ちなみに一番のキモは幅と高さの設定です。
カクつきがでる多くの原因はこれが大きすぎるからだと思います。
要するにここで設定した大きさの画像で秒間30枚のスピードで書き換えてるわけです。
当然大きくすれば、データ量が増え、帯域とCPUに負荷が掛かります。
なお、QTBCの設定調整は各々の環境によってベストが変わります。
あくまでも上記設定は僕の環境でのベスト(というか妥協点)です。
一度追い込んだら、プリセットを保存しておくのがオススメ!
■トラブルシュート
●ブロードキャストが開始されない
まずネットワーク設定を確認しましょう。
ファイルの最後は”自分で決めたアカウント名”になっていますか?
ユーザ名はJustin.TVから発行されたものになっていますか?
パスワードはちゃんと半角英数小文字で jtv となっていますか?
●-9408 のエラーがでる
おそらく、ビデオ設定で幅と高さが原因です。
数値を適当に変えて試してみてください。
それでエラーが出なかったら、再調整してみるといいと思います。
・配信映像がブルーバックやブラックアウトしてしまう。
視聴ソフトやCamTwistを再起動、再設定してみてください。
CamTwistの取り込み範囲を動かす直る場合と、各アプリを立ち上げる順番を変えてみてください。
僕の環境では、映像ソース -> CamTwist -> QTBC の順に立ち上げるとうまくいきます。
これでなおる可能性があります。
●遅延あってゲームプレイに支障がでる
Macやキャプチャの性能によっては、ゲームに支障をきたすほど遅延がでます。
その場合は別途テレビやモニタなどを用意します。
ゲーム機からの出力を分配して
Macはキャプチャ、配信用にして
ゲームプレイはモニタで行います。
分配の方法は二股のケーブルや、セレクタなどを使います。
例えばこんなの - FVC-131
(ちなみに、iMac(Early2008)3.06GHz、TVMax+では
よっぽどシビアなゲームじゃないかぎり気にならない環境でした)
●紙芝居(カクカク)になってしまう
主な原因は
1) フレームレートが低い
2) CPU負荷が限界オーバー
3) QTBCの設定調整不足
1) フレームレートが低い場合
フレームレートとは・・・
単位時間あたり何度画面が更新されるかを表す指標である。
通常、1秒あたりの数値で表し、fps(Frames Per Second)という単位で表す。
(参照:Wikipedia)
CamTwist設定がちゃんとできていますか?
CamTwist:Advanced>Flame rate:30
2) CPU負荷が限界オーバーの場合
僕の環境(iMac Core2Duo 3.06GHz メモリ 4GB)でも
QTBCだけで50%ぐらい使います。
使わないアプリは極力落としてください。
また、放送前にメモリ開放(Macの再起動や Libra Memory を使用)も有効です。
あと勘違いしがちな点は、QTBCで配信してるので、
Webブラウザは落としてしまっていてかまいません。
3) QTBCの設定調整不足
これはもう、がんばれ、としか言いようがありませんw
とりあえずはビデオの幅と高さを調整してみてください。
あとは、高いクオリティから徐々に落としてなんどもテストしたり
低クオリティの限界点から徐々にあげていくテストをして、
自分の妥協点を探るしかありません。
GoodLuck!
■見る側に配慮
見せる方法は主に二つ
●Justin.TVの自分のページ
視聴者にJustin.TVのチャットを使ってもらいたい場合は
Justin.TVの自分のページを案内すればOKです。
この方法のデメリットは、視聴者側で動画サイズが、規定のサイズorフルスクリーンしか選択肢がない点。
●Embedで任意のページに貼付ける
チャットいらない、という方や、掲示板を使う場合にオススメです。
最大のメリットはEmbedのコードを書き換えてやれば、動画サイズの選択肢をいくつでも増やせる点と
Javascriptで設定してやることで、閲覧専用ウインドウを作れることです。
僕の使ってる方法は こんな感じ です。
デメリットは、どこかにHTMLファイルを置く必要がある点と、
動画の左上にJustin.TVというロゴが出てしまう点。
以上、長々と説明して参りましたが、こんな感じです。
俺と一緒にUstreamの牙城を崩そうぜ!
ホットキーで Skype 操作
2008.12.15 - 切断が Skype が最前面じゃないと動かないのが発覚し、最前面にしてから切断する仕様に変更
要:Spark
Skype を使ってて、ホットキー(ショートカットキー)操作できたらなぁ
と思い立ったので、作ってみました。
Skype を使用したねとらじ放送をしてる方は有用だと思います。
「 Macでねとらじ(拡張編)」で Spark を紹介しましたが、
それで SE とかを鳴らしたりしてる方には特にオススメ。
例えば、ホットキーで SE を鳴らして、すぐ落とす(通話切断)するときも、
ホットキー操作して、すぐにマウスに持って切断ボタンを押す。
というのが従来のプロセスですよね。
マウスを持つための動作が必要なので、どうしてもタイムラグができてしまいます。
両方をホットキー操作できれば、キーコンビネーションの変化だけで行えるため
そのタイムラグをかなり押さえることができます。
これでリスナーさんをシラケさせてしまう「最悪な間」も撃退!
仕組み:
単純に Spark で AppleScript を動作させるだけです。
Call が自分に掛かって来てるときの「通話開始」と
通話中の場合の「通話切断」ができます。
注意:
Skype のUI要素を取得してるので、日本語環境限定でのみ動作します。
英語環境に対応させるのはそんなに難しくないので、
要望がありましたら、作ろうかと思ってます。
使い方:
まずは Spark を起動してください。
ウインドウの左上に歯車のマークがあるので、
ここから「AppleScript」を選択して下さい。

上から、
・動作させるキーコンビネーション
・名前
・AppleScript コード
を設定します。
通話キャッチコード:
try
tell application "System Events"
click button "応答" of group 1 of window "自動応答" of process "Skype"
end tel
end try
通話切断コード:
try
tell application "Skype"
activate
end tell
tell application "System Events"
pick menu item "切断" of menu "通話" of menu bar item "通話" of menu bar 1 of process "Skype"
end tell
end try
以上の二つを別々に設定します。
これだけでOK!
それでは素敵な Skype & ねとらじライフをお楽しみください。
ツァイガルニック効果
「人は不完全なものを見ると、完全にしたくなる」
という心理作用。
コレクション要素はこの心理作用を呼び起こす。
— ゲームヘル2000 - ゲームデザイン用語集 (via ichimonji)
TVMax+の設定とかあれこれ
リファラをみるとどうやら少なからずTVMax+の情報を
求めている方もいるようなので、自分の備忘録がてら。
画質:
ほかのTVチューナーを使ってないので比べてはいないですが、
悪くないですね、ゴーストもあんまり見えないですし、
見えてるのはウチが共同アンテナだからだと思います。
カクつくようなことはないです。
ただ、やはりコンポジ接続ですから、限界があります。
Mac用のD4入力ができるキャプボが欲しいですね。
音とか:
映像とずれるというようなことは基本的に感じませんね。
音楽番組はみないので、音質はどこまでかわかりません。
でもテレビ並みじゃないですかね。
設定覚え書き:
クイックスタートガイドにあるとおり、自動サーチでやったところ
3局ほど、ちゃんとサーチされず、まともに映像が映りませんでした。
そこで、手動でチューニングしたところ、問題なく映りました。
僕の家の場合(神奈川県横浜市)
1.NHK総合:91.25 MHz
3.NHK教育:103.25 MHz
4.日本テレビ:171.25 MHz
6.TBS:183.25 MHz
8.フジテレビ:193.25 MHz
10.テレビ朝日:205.25 MHz
12.テレビ東京:217.25 MHz
おまけ
最初、この3局が映らない状況に直面して
フォーカルポイントのサポートに連絡したところ、
販売店にて返品対応を促されました。
こういうノウハウはお持ちでないようですね^^
ほかに、なにか気になる点がありましたら、
お気軽にメールやコメントでご連絡ください。
62 名前:以下、名無しにかわりましてVIPがお送りします。[] 投稿日:2008/01/10(木) 11:51:54.40 ID:6V/C3lR40
満足度100%で男と女が出会う確率は、 約52% であるが、これはすべての異性に声をかけた場合の結論であり、 4人以下にしか声をかけない場合、
満足度がなかなか100%にならず、別れてしまう場合が多い。 結論 結婚するなら最低恋愛は4回してから相手を選べ。もしくは長門
— 暇だから男と女が出会う確率計算してみた カオスちゃんねる
ネットの向こう側には不特定多数の様々な価値観をもった人が存在するのだと言うことを忘れたとき、騒動は起きる。
「閉じてる」ように見えるのは、錯覚。 — yoshikema — neodenjin — markie
Macでねとらじ - さらに拡張
スペックの許す限り、拡張してやりましょう。
SEやエコーを使うことでいろんな演出ができるようになります。
◆ iTunes のホットキー(ショートカットキー)操作
使用ソフト
(SizzlingKeysの例)
インストールしたら、システム環境設定にパネルが一つ増えます。
そこで、任意のキーコンビネーションに再生や停止、
音量や曲の操作等を組み合わせてやれば、いちいち iTunes をマウス操作しなくても
楽に iTunes を操作してやることが出来ます。
特に Skype を使った放送では、通話中は BGM を切るのが基本なので
再生/停止だけでも割り当てとくと、ぐっと便利になります。
(AllmostMuteの設定幅がもっと広がってくれれば、
声を乗せる時と曲だけの時ですぐ切り替えれてもっと便利なんですけどね)
◆ SE(効果音)の再生(ショートカットキー)
Windowsには「もりあげたろう」というソフトがあります。
これを使って素早く SE を鳴らすDJも多いのですが、
Macでそれと同じことをやってのけてしまおうという試み。
使用ソフト
仕組みとしては、Play Sound で開く音声ファイルを
Spark で任意のショートカットキーに対して割り当てるという方法。
Sparkで File>NewHotKey>Document
Shortcut:任意のショートカットキー(僕は”コマンド+シフト等+テンキー”の組み合わせが基本です)
Categorie:Document
Neme:任意の名前
Action:Open With…
Open Document…:任意の音声ファイル
With Application:Play Sound
と設定して、Enableボタンを押して、設定したショートカットを押してみてください。
◆声に効果(エコーなど)をかける方法
何か強調したい時など、ポイントでかけると効果的です。
使用ソフト
本来 Audio Hijack Pro はシェアウェアですが、録音機能を使わなければ
試用版で出来ますので、実質フリーでこの機能が実現できます。
ここでは例としてエコー(リバーブ)の掛け方の設定
Inputタブ
Source Type:Audio Device
Input Device:USB マイク or 内蔵マイク
Output Device:Soundflower(2ch)
Effectsタブ
4FX Effects>Reverb
(お好みで色々調整してみて下さい)
で、Hijackボタンを押します。
※ Hijack中はLadioCastのマイクのAUXをOffにしてください。
Ladiocastのマイクに割り当てているAUXを
Audio Hijack Proで代用すれば、BYPASSボタンのON/OFFで
瞬時にエコーの切り替えを実現することが可能です。
(BYPASSをONにするとEffectがかかりません)
◆簡単にシステムサウンド設定を切り替える方法
放送をする方は入れといて損はないと思いますよ。
メニューバーに表示されるヘッドホンアイコンから
サウンドの入出力デバイスを切り替えられるようになります。
いちいちシステム環境設定を呼び出す手間が省けます。
◆iTunesで再生中の曲情報を自動的にメタデータに流し込む方法
手前味噌ですいません。作ってみました。
指定した秒毎にiTunesから曲情報を取得し、
LadioCastのメタデータを更新します。
対応のプレイヤーで聞いているリスナーに対して
現在の曲情報を知らせることができます。
自由に設定できるテキストボックスもあるので、
応用してSkypeIDを乗せたりもできます。
Special Thanks
Macの手書き説明書のVeadarさん




