Apr 08, 2006

Mac OS Xでストリーミングサーバーを作ろう-ライブ放送編-

tiger

 この特別講義、みんなに生中継したいなぁ、とか、オレたちのお笑いトークをラジオみたいに生放送したいなぁ、なんておもうこともある訳です。

 Mac OS X(PantherやTiger)は、Apple社で配布しているフリーウェア「QuickTime Broadcaster」を利用することで、前回、インストールとセットアップをしたQuickTime Streaming Serverと組み合わせて、簡単にライブ放送をすることができます。ここではQuickTime Broadcasterを利用して、カメラで撮影している映像をライブ放送する方法について考えていきます。


遠くはなれたところにオーディオやビデオを放送できるようになる


 この作業では以下のステップがすんでいることを前提に進めていきますので、取りかかる前に次のステップをすませておくと便利です。



必要なもの

  • Mac(Mac OS Xを搭載しているもの。ここは10.4.x(Tiger)で進みます)
  • QuickTime7以上
  • Apple Developer ConnectionのID
  • ビデオカメラ(iLinkコネクタ、IEEE1394コネクタ、FIrewireがあるもの、USB(不明?)
  • やる気
  • セキュリティーとプライバシー、著作権への配慮
  • インターネットを構築してくれた方々への畏敬の念
  • 高速回線
  • 自己満足


概略

 ビデオカメラを使って、いま目の前で行われている会議などをライブでMacに取り込み、これをそのままMacで生中継する方法を考えていきます。つまり一台のMacで、ビデオを取り込むカメラマン(QuickTime Broadcaster)かつ、ビデオを見たい人たちに上手に放送する放送局(QuickTime Streaming Server)をいっぺんに行わせます。これを二つ同時に行うにはMacにそれなりのスペックが必要です。

 ビデオカメラはiLink(別名Firewire,IEEE1394)がついているものを前提にいきます。USBタイプのものは使えるのかどうかよくわかりません。



QuickTime Broadcasterのダウンロード

 カメラから送られてくる映像をストリーミングサーバーに送り出してくれるQuickTIme Broadcasterをダウンロードしてきます。このソフトを使うことで、ビデオカメラ>Mac>QuickTimeBroadcaster>QuickTime Streaming Server>(ライブ放送)> 視聴者、を実現できます。

  1. アップル社のQuickTimeのページからQuickTime Broadcasterのページに移動します。


    アップルQuickTime:QuickTime Broadcasterのページ


  2. ページ右側にあるダウンロードをクリックします。



  3. ダウンロードが始まります。



  4. ダウンロードが終わるとデスクトップに"QuickTime Broadcaster"ディスクがマウントされます。



  5. インストーラが動き始めます。





  6. 続けるを押して、インストールを完了します。

    パスワードを聞かれたらそれぞれ対応します。


  7. これでApplicationフォルダの中にQuickTime Broadcasterがインストールされました。




ライブ中継をしてみよう

 デジタルビデオカメラが必要です。Firewireポートにカメラを接続して、カメラをオンにしてから始めます。また当然ですが、すでにQuickTime Streaming Serverのインストールがすんでいる必要があります。
Mac OS Xでストリーミングサーバーを作ろう-動画配信編-

  1. アプリケーションフォルダを開いてQuickTime Broadcasterを起動させます。ビデオカメラもオンにします。




    ビデオカメラの電源もオンにしておきます。なお、バッテリでの稼働はバッテリ切れの際にQuickTime Broadcasterを巻き沿いにして落ちますので、できるならACアダプタで使った方がよいです。


  2. 一番上にあるプレビューポップアップメニューから入力源を選んでカメラからの映像がきているか確認します。

    正しく認識されていると、今カメラに写っている映像が表示されます。


  3. 「詳細を表示」ボタンを押します。



  4. 詳細画面が表示されます。



  5. ネットワークを選択します。



  6. ストリーミングサーバーへカメラの映像を送るための設定がありますので入力します。ここではカメラの動画を取り込むMacと、ストリーミングするMacを同じMacで行うようにする方法を考えていますので、ホスト名には、自分のMacのIPアドレスを入力します。
    ファイル名は好きなものをつけてかまいませんが、URIに影響しますので、英語の方がよいです。ここではlivevideoとつけてみました

    カメラが接続されているMac自身(127.0.0.1)で配信する場合はユーザー名とパスワードはなくてもできます。


  7. いよいよブロードキャストボタンを押します。



  8. ストリーミングサーバーに正しく接続できると表示が、"ブロードキャスト中"になります。





    やっほーーーーー!


  9. 統計情報等を見て、ストリーミングサーバーにかかっている負荷を確認します。
    CPU負荷率が100%!(やっぱりG3 300Mhzでは無理が...)


  10. あまりにも負荷が大きい場合は配信するデータの品質をかえる必要があります。

    ここから簡易に変更できます。もっと凝った変更がしたい場合は詳細から行います。
    Dial-upなどにすると負荷がかなり減りますが画質も落ちてしまいす。あとh.264フォーマットは画像がとてもきれいですが処理スペックがいりそうな気がします。




動作確認

 配信を開始したライブ映像を実際に、他のユーザーが視聴できるか確認してみます。

  1. ストリーミングを受信できるか確認するには、QuickTime Playerを使います。



  2. ダブルクリックして起動させたら、メニューのファイルから「URLを開く...」を実行します。



  3. 「URLを開く」ダイアログが出ます。



  4. ストリーミングをしているビデオまでのURIを入力します。URIはBroadcasterを詳細表示させているとき左下に表示されています。


    詳細を表示を開くと...



    左下に現在ブロードキャストしているビデオへのURIが表示されます。マウスで選択コピーできます。


  5. 入力し、OKをおします。



  6. 問題がなければライブブロードキャストが受信できます。

    感動ひとしお。



  7. 続いて、インターネット側から今配信しているビデオに接続出来るか試してみます。サーバー以外のMacからつながるかどうかを試すということです。自宅に帰ってからか、暇な友人に連絡して試してもらうかですね。この場合、接続するURIは以下のようになります。

    rtsp://ストリーミングサーバーのアドレス/配信しているムービーの名前


    もしddo.jpのドメインを持っているなら

    rtsp://あなたのお名前.ddo.jp/配信しているムービーの名前




    IPアドレスで指定するなら、サーバーにしているMacのIPアドレスで

    rtsp://ストリーミングサーバーのIPアドレス/配信しているムービーの名前


    IPアドレスはシステム環境設定のネットワークで調べてください。

    なお「配信しているムービーの名前」は前のステップで指定した名前に.sdpをつけたものです。


    ちなみにrtspというのはたぶんReal Time Streaming Protocolの略だとおもわれます。忘れやすいのでしっかり覚えておきます。わたしはよく、「えーと...rstpだっけrtspだっけrtpsだっけ?」と悩みます。




おまけ-BroadcasterとStreaming Serverを別にしてライブ-

 カメラの映像を取り込んでくれるBroadcasterと、ビデオを配信してくれるStreaming Serverを別々のMacで行う場合を考えていきます。カメラからビデオを取り込むのは、結構マシンパワー消費します。取り込むMacと配信をするMacを別々にすることで、処理落ちを防いだり、視聴者からのアクセスが集中したときに、回線のパンクをふせぐことができます。

 頭に描いてほしいイメージとしては、会議室にカメラとQuickTime BroadcasterをインストールしてあるPowerbookを持ち込み、そこで行われている社長の挨拶を撮影、取り込みます。

 この映像を、LAN内にあるStreaming Serverに送り込みます。LAN内の視聴者はこのストリーミングサーバーに、接続することで、社長の挨拶を視聴することができます。
上の図の例では、LAN内の視聴者はQuickTIme Playerを起動して、ストリーミングサーバーのアドレス、rtsp://192.168.1.2/livevideo.sdpなどを入力することで見ることが出来きます。

 もし、インターネット上からもこの挨拶ビデオを見られるようにしたいのであれば、ストリーミングサーバーになっているMacが外の世界からアクセスできるように設定されていないといけません。これはルータの設定を確認します。

 ルータが適切な設定がされていて、ストリーミングサーバーがddo.jpなどのドメインをもっているなら、rtsp://mydomain.ddo.jp/livevideo.sdpなどのようなアドレスを入力することで、世界中の人がこの挨拶ビデオを視聴することができます。(ddo.jpのドメインを持っていない場合は、かわりにIPアドレスを入力するとよいです)




  1. カメラの接続されているMacの設定からはじめます。Broadcasterを起動させて、ホスト名にはストリーミングサーバーのIPアドレスなどを入力します。ファイル名は好きなものを使いますが、英語に限った方がよいです。ユーザー名とパスワードは「Mac OS Xでストリーミングサーバーを作ろう-動画配信編-」のQuickTime Streaming Serverの設定、Step10で行ったものを入れます。"Change Movie Broadcast Password..."で設定したものです。



  2. ブロードキャストボタンを押します。



  3. Streaming Serverに接続できると"ブロードキャスト中"とでます。




おまけ-Streaming ServerのRelay(リレー)-

 撮影場所が屋外だったり、ISDNやADSLなどの低速回線を使っている撮影場所では、回線が細くて、視聴者からのアクセスにこたえられなくなります。また、光回線が太くても、アクセス数がとてつもなく多い場合は、回線のパンクがおこることもありますし、Mac自身も処理が持ちません。

 こんなときにはStreamingをRelay(リレー、つまり中継)する方法を用意しておくとよいです。

  ここでは、撮影場所に用意したMacにBroadcasterとStreaming Serverの一台二役を担ってもらい、このStreaming Serverから会社にあるStreaming ServerにストリームをRelay送信。視聴者は会社のStreaming Serverに接続してみてもらう...そういう例を考えていきます。


  1. まず、撮影現場のMacの設定からです。



  2. アプリケーションフォルダを開いてQuickTime Broadcasterを起動させます。ビデオカメラもオンにします。






  3. 「詳細を表示」ボタンを押します。



  4. ネットワークを選択します。



  5. ストリーミングサーバーへカメラの映像を送るための設定がありますので入力します。ここではカメラの動画を取り込むMacと、ストリーミングするMacを同じMacで行うようにする方法を考えていますので、ホスト名には、自分のMacのIPアドレスを入力します。
    ファイル名は好きなものをつけてかまいませんが、URIに影響しますので、英語の方がよいです。ここではlivevideoとつけてみました

    カメラが接続されているMac自身(127.0.0.1)で配信する場合はユーザー名とパスワードはなくてもできます。


  6. つづいてStreaming Serverの設定を行います。http://127.0.0.1:1220/で接続します。





  7. User NameとPasswordを入力してログインしたら、左側のメニューから"RelaySetting"に進みます。



  8. Relay Settingsがひらきます。



  9. New Relayをクリックします。



  10. 設定画面になります。



  11. まずRelay Nameをつけます。特に深い意味はないので、見分けがつくようならなんでもいいです。とりあえずここでは、relay1とでもつけておきます。StatusはEnableにチェックがついたままにしておきます。



  12. Source Settingsにすすみます。Source Hostname or IP Addressは、ここでは127.0.0.1になります。Mount PointはBroadcasterに入力した「ファイル名」を入れておきます。頭に/をつけるのを忘れないようにします。

    .sdpはなくてもうまくいくようです。


  13. "Wait for announced stream(s)にチェックをつけます。



  14. さらにDestination Settingsにすすみます。



  15. "Hostname or IP Address"にRelay先のStreaming Serverのアドレスを入力します。Relay先のMacがddo.jpなどのドメインネームを持っていたらそれを、なければIPアドレスを入力します。




    ドメインネームを持っているならそれを


    なければIPアドレスを入力します。


  16. Announced UDPにチェックを入れます。



  17. Mount Pointに、このビデオのストリーム配信用のフィルネームを入れます。ここではsyatyou_video.sdpといれました。あたまに/をつけるのを忘れないようにします。



  18. User NameとPasswordは会社にあるストリーミングサーバーのUser Name とPasswordです。「Mac OS Xでストリーミングサーバーを作ろう-動画配信編-」のQuickTime Streaming Serverの設定、Step10で行ったものを入れます。

    カメラをつないであるほうのStreaming Serverじゃなくて、会社にある方ね。

    Mac OS Xでストリーミングサーバーを作ろう-動画配信編-

  19. ここまででだいたいこんな具合になっているはずです。



  20. 忘れずに"Save changes"を押して設定を保存します。



  21. Broadcasterのブロードキャストボタンを押し、ブロードキャストを開始します。





  22. 会社のサーバーにリレーがうまくいっているか確認します。撮影場所のMacのほうの、Streaming Serverで確認ができます。左のメニューから"Relay Status"に進みます。




  23. リレーがうまくいっていると以下のように、会社のStreaming Serverにビデオデータが送られていることが表示されます。

    ここの例ではDestinationがローカルになってますけど気にしないでください。



    ここが送られているデータ量を表しています。


  24. あとは実際に動画を視聴できるか試してみます。QuickTime Playerを起動させて、リレーサーバーのURIを入力します。





  25. うまく接続できれば、完了です。




うまくいかないとき

 うまくいかないときはルーターの設定を見直してみてください。ポートの554が開いているか、またそのポートからのデータが適切にサーバーに送られるように設定されているかなどをよくチェックします。




Trackback

No Trackbacks

Track from Your Website

http://earlybirds.ddo.jp/namahage/inegalog/trackback/tb.php?id=33
(言及リンクのないトラックバックは無視されます)

Comments in Forum

24 Comments