MacでH.264動画配信(Justin.TV+QuickTimeBroadcaster編)

2 notes •  08.12.29. 14:26

※ 環境によってはうまく行かない場合があります。
以下は、あくまでも僕の環境でうまくいった例です。

おそらく、僕の知ってるなかで今一番ベストなライブ配信方法ですよ!

ゲームプレイ動画を実況配信する例で説明していきます。
その前に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 をミキサーとして使用します。

LadioCast_movie
入力1:使用してるマイクにし、AUX に設定する。
入力2:Soundflower(2ch)にし、AUX に設定する。
入力3:Soundflower(16ch)にし、Main に設定する。
出力 AUX タブ: Soundflower(16ch) にします。
出力 Main タブ:お使いのヘッドホンなどにします。

これでOK(ミキサとしての使用なので接続する必要はありません)
これで、マイク音量は一番上、配信物の音量は二番目のスライダで個別に調整できるという寸法です。

なお、このとき気をつけるポイントとして、ピークメーターが赤くなる時は音が割れるので、
いろいろ調整していい感じにしちゃってください。
(AUX設定のSoundflower(16ch)のミキシング音量も調節したりすると良いと思われます。)

■キャプチャの設定
キャプチャに付属の視聴ソフトをつかって、
外部入力を視聴する状況にします(もちろん事前にケーブルをつないでください)
*視聴環境はフルスクリーンを非推奨です。
視聴画面サイズが小さいほど遅延が起こりにくいようです。

■CamTwistの設定

(CamTwistは Leopard の Spaces に対応していません。
常に「現在表示されている Space の取り込み範囲」を取り込みます。)

Cam Twist
[Advanced…] ボタンを押して、Frame rateを30にします。

Desktopを選択肢、Full Screanのチェックを外します。
[Select capture area] ボタンを押し、表示された黒枠を
取り込みたい場所、サイズに合わせて [Done] を押します。

■QTBCの設定
ここがキモです。僕もここでずっと躓きました。

●ネットワーク設定

qtbc_network
転送:自動ユニキャスト(アナウンス)
ホスト名:live.justin.tv:1935/app
ファイル:live_user_”Justin.TVのアカウント名”
ユーザ名:ブラウザでJustin.TVにログインした状態で ここ の 3. をそのまんま入れます。(live_数字_英数)

qtbc_username
パスワード:jtv

これで、とりあえずブロードキャストはできるようになるはずです。

●オーディオ設定

これは、オーディオクオリティなので、自分で調整を追い込む必要がありますが、
一例として僕の場合(低音質高画質)を参考までに。
(音楽番組の場合は、高音質低画質を目指すべきかと思います)
qtbc_audio
オーディオストリーム有効にする:チェック
入力源:Soundflower(16ch)
圧縮プログラム:MPEG-4 オーディオ
オプション
圧縮プログラム:AAC(Low Complexity)
ターゲット出力:指定されたビットレート
ビットレート:24 キロビット/秒
出力のサンプルレート:22.050kHz
エンコーダの品質:最高品質
レート:22.050 kHz
出力:モノラル

実況などはねとらじと同様、最低24kbpsあれば大丈夫な感じです。
動画がある以上は、ある程度音のクオリティは妥協する感じになりますね。

●ビデオ設定
ここが一番キモです。うまく調整しないと動画がカクつきます。
とりあえず僕の設定をご参照ください。
qtbc_viedo
入力源: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の牙城を崩そうぜ!

OnAirSongHelper

3 notes •  08.11.09. 18:14

関連記事

◆最新版 1.2.1b
2008.11.09 - ver1.2.1b リリース 初期設定ファイルの場所を変更
2008.11.09 - ver1.2b リリース!要 Mac OS X 10.5 以降になったかもしれない
2008.11.02 - ver1.1b リリース 全面的にこのエントリを書き直し
2008.10.05 - ダウンロード元をDropboxに変更

oash11

LadioCast(0.7以降)用自動曲名表示アプリケーション、
OnAirSongHelperです。

これはなに?

OnAirSongHelper は、iTunesで再生中の曲情報を
指定した秒毎に取得し、LadioCast のメタデータに反映させるソフトです。
要するにリスナーさんが、今流れている曲の情報を知ることができるようになります。

ver1.2.1bのウリ
アイコンが作ったよ!
初期設定ファイルにセットした設定を保存するようになったよ!
(ただし、この実装で Leopard 以降じゃないと動かないかもしれないです。
Tiger で試した方はフィードバックいただけると助かります。)

詳細について
同梱されている「ReadMe&HowToUse」をお読みください。

今後
実装を考えてたものは一通り実装しました。
(かなり無理矢理なのかもしれないけど・・・)
何か要望や使ってみた方の環境で動かないなどありましたらご一報いただけると、
修正がんばります。

ご注意
Intel Mac, Mac OS X 10.5 でしかテストしてません。
Tigerの方、使ってみて動かなかったらご報告いただけると助かります。

最新版ダウンロードはこちら

ver1.1bのダウンロードはこちら


物事は総じてうまくいかない。だからうまくいかせることに意義があるんじゃないかな。

Macで動画配信(Ustream.TV編)

21 notes •  08.05.18. 11:20

※ 環境によってはうまく行かない場合があります。
以下は、あくまでも僕の環境でうまくいった例です。

ゲームプレイ動画を実況配信する例で説明していきます。
その前になぜ Ustream なのか
・Livetubeは現在、対応したJAVAが手に入らないため動かない
・Stickamより設定が柔軟にできる

■用意するもの

CamTwist - デスクトップを取り込み
・ビデオキャプチャツール(エミュレータの場合は必要なし)
(注:僕の場合、TVMax+をビデオキャプチャにしています。)
Soundflower - 仮想サウンドデバイス
LadioCast または LineIn - ミキサとして

■音の設定
・準備
システム環境設定からサウンドを選び、
出力を Soundflower(2ch) を選択します。

●マイクとキャプチャの音をミックスする
・LadioCast をミキサーとして使用する場合(推奨)
一番上を使用してるマイクにし、AUX に設定する。
二番目をSoundflower(2ch)にし、Main に設定する。
一番下の AUX タブの中の設定を Soundflower(2ch) にします。
一番下の Main タブの中の設定をお使いのヘッドホンなどにします。
これでOK(ミキサとしての使用なので接続する必要はありません)LadioCastUst

・LineInでミックスする場合(かなり強引な方法です)

まず LineIn.app を複製し、二つ同時に起動できるようにします。
LineIn-A
Input:マイク
Output:Soundflower(2ch)
LineIn-B
Input:Soundflower(2ch)
Output:ヘッドホンなど
これで両方の [Pass Thru] ボタンを押せばOK。
(LadioCastのほうが、音量調節できるのでオススメです)
LineIn

■キャプチャの設定

キャプチャに付属の視聴ソフトをつかって、
外部入力を視聴する状況にします(もちろん事前にケーブルをつないでください)

■CamTwistの設定
(CamTwistは Leopard の Spaces に対応していません。
常に「現在表示されている Space の取り込み範囲」を取り込みます。)
[Advanced…] ボタンを押して、Frame rateを後述のUstreamと同じ設定にします。

・フルスクリーンでゲームする場合
CamTwistを立ち上げて、
DeskTopを選択し、Full Screanのチェックを入れてください。
これでOK。

・フルスクリーンでゲームしない場合
DeskTopを選択肢、Full Screanのチェックを外します。
[Select capture area] ボタンを押し、表示された黒枠を
取り込みたい場所、サイズに合わせて [Done] を押します。
Cam Twist

■Ustreamの設定

WebブラウザでUstreamに行き、ログイン後 [BROADCAST NOW]を押します。
Ustream.TV Recorderの設定で、
Video Source:CamTwist
Audio Source:Soundflower(2ch)
[Advanced Setting] のところでFrame rateを最大にします。
VideoQuality をなるべく高くします。
AundioQuality は最低24KHzあればOK。
あとは [START BROADCAST] ボタンを押して配信開始。
動画を保存したい場合は同時に [START RECORDING] ボタンを押します。
uStream.Tv Recorder

■トラブルシュート

・Ustreamの映像がブルーバックやブラックアウトしてしまう。
視聴ソフトやCamTwistを再起動、再設定してみてください。
それでもダメな場合は、Ustreamも含め立ち上げる順番をいろいろ変えて試してみてください。
これでなおる可能性があります。
多分原因はオーバーレイ関連かと思いますがよくわかりません。

・遅延あってゲームプレイに支障がでる。
Macやキャプチャの性能によっては、ゲームに支障をきたすほど遅延がでます。
その場合は別途テレビやモニタなどを用意します。
ゲーム機からの出力を分配して
Macはキャプチャ、配信用にして
ゲームプレイはモニタで行います。
分配の方法は二股のケーブルや、セレクタなどを使います。
例えばこんなの - FVC-131
(ちなみに、iMac(Early2008)3.06GHz、TVMax+では
よっぽどシビアなゲームじゃないかぎり気にならない環境でした)

・紙芝居(カクカク)になってしまう。
フレームレートの設定が低いため起こります。
フレームレートとは・・・
単位時間あたり何度画面が更新されるかを表す指標である。
通常、1秒あたりの数値で表し、fps(Frames Per Second)という単位で表す。
(参照:Wikipedia)
Ustreamの現在設定できるフレームレートの最大値が23なので
Ustream、CamTwist両方を23で設定します。
(どちらも同じ値を推奨)
ちなみに23という数字は、それほど高いわけではないので
多少のカクカクは妥協してくださいw

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局が映らない状況に直面して

フォーカルポイントのサポートに連絡したところ、

販売店にて返品対応を促されました。

こういうノウハウはお持ちでないようですね^^

ほかに、なにか気になる点がありましたら、

お気軽にメールやコメントでご連絡ください。

20 notes •  08.01.27. 19:49


Mac miniの素晴らしさは積み重ねる美学にある。
上から
Mac mini - ministack v2 (HD) - TVMax - Sub Woofer

Mac miniの素晴らしさは積み重ねる美学にある。

上から

Mac mini - ministack v2 (HD) - TVMax - Sub Woofer