ぷぎがぽぎ このページをアンテナに追加 RSSフィード

2010-08-20

[][][] Macbook proFireWireを活用したUSTREAM配信

久しぶりのブログでしかもsymfony以外のネタですが、せっかく調べたのでまとめておきます。

やりたいこと

MacでUSTREAMを使った配信をやってみたい。

とりあえず「○○勉強会」のような「発表者がプレゼンテーションを行うのを数十人が聞く」という場面を想定。

また、DTMするための機材やハンディカムなど手持ちの機材は活用したい。

そして何よりMacbook proについているFireWireを利用したいと。

利用したハードウェア/ソフトウェア

映像関連

f:id:brtRiver:20100820100001p:image

CamTwist

Macでは超定番の映像エフェクトソフトですね。PIP(picture in picture)という画面の中に小さな別画面を入れたり、文字を流したり、デスクトップ画面を流したりとやりたいことのほとんどはこれでできてしまいます。

f:id:brtRiver:20100820100003p:image

そして、CamTwistを起動したら [command] + S で CamTwist Studioが表示されます。これは、画面の切り替えツールといったところでしょうか。あらかじめエフェクトや画面をボタンとして登録しておき、プレビュー画面で確認しながらエフェクトを入れて画面を切り替えることができるツールです。各エフェクトをPhotoshopなどのレイヤーのように重ねることができたり、ショートカットキーも登録できるので、かなり複雑なこともできてしまいます。

f:id:brtRiver:20100820100004p:image

この他にも便利なツールが用意されています。それが [command] + T で表示される Timeline Builderです。「一定時間ごとに画面を切り替える」などのタイムラインを利用した映像演出を設定できます。

他のツールでもPIPができたり、文字を入れたりとできますが、私的にはCamTwist Studio + Timeline Builder で十分だと感じました。


軽量版PIP

CamTwistには多くのエフェクトが用意されていますが、標準でバンドルされているPIPは処理が重いのか場合によっては切り替え時に画面が真っ暗になったりしてしまいます。そこで、お勧めなのが軽量版PIPです。私の場合はこの軽量版PIPを使うことで明らかに画面の切り替えが軽くなりました。


f:id:brtRiver:20100820100002p:image

Sonyの古いハンディーカム

6年前(2004年8月発売)の古いハンディーカムです。唯一のメリットはi.Linkで映像を出力できる点です。単刀直入にいうとMacbook proのFirewire端子と接続できるのです。ということは、別途ビデオキャプチャのような機器が不要というわけです。

ただ、このハンディーカムはステーションと言う台座のようなものにセットしないとi.Linkが利用できない点がイマイチなんですが。。

また、標準の内蔵マイクで拾った音は後で紹介するオーディオインターフェースに接続してMacに取り込んでいます。


音響関係

f:id:brtRiver:20100820100005p:image

Roland FA-66

FirewireでPCと接続できるオーディオインターフェースです。オーディオインターフェースとは外部の様々な音源をPCに取り込むための機器です。このFA-66は最大で6chのインプットに対応しています。宅録DTMなら2chもあれば十分ですし、小規模な勉強会などの配信であれば全然大丈夫かと。また、このFA-66は6pinで接続している場合はバスパワーで駆動するので電源いらずのため持ち運びもらくちんです。

また、なぜFA-66かというと別途ソフトをインストールしなくてもMacの標準ドライバで動作します。安定性も良いのです。

今回は勉強会の配信を想定してみてるので、司会者用Mic x 1(mono), 発表者用Mic x 1(mono), 会場用のオフマイク x 1(stereo)とかで十分かと。

今回はオフマイクはハンディーカムの内蔵マイクからのステレオ出力(RCA)を取り込むようにしました。

また、手持ちのマイクは1本(SHURE Beta57)しかないので、とりあえずこの1本を接続。

もし、会場にモニター卓があれば、司会者と発表者の音源はモニター卓のAUXセンドから取りたいって感じでしょうか。

f:id:brtRiver:20100820100006p:image

Firewireケーブル6pin_9pin

現在のMacbook proにはFireWireの9ピン端子しかないので、

FA-66とMacを繋ぐために6pin <=> 9pin の変換コネクタを購入しました。

また、Macbook pro側には端子が1つしかありませんが、Firewireはデイジーチェーン(機器を数珠つなぎすること)ができるのでMacbook <=> FA-66 <=> ハンディーカム と繋ぐことで問題なく動作しました。うん。すっきり^^。


f:id:brtRiver:20100820100007p:image

GrageBand

言わずとしれたMacbookを買うともれなくついてくるDTMソフト。今回はFA-66(外部)からの音声入力のレベル調整するために使用。

録音するのではなく、モニター機能を利用して配信用の音源を流してみました。

GrageBandを使うメリットはEQやコンプやリバーブ(カラオケしたい人向け?w)を掛けることができるということです。

特にオフマイクで使用していたハンディカムのマイクなんかはノイズがひどいので気になるポイントをEQで切ったりすると効果的でした。

f:id:brtRiver:20100820100009p:image

soundflower

Mac内に仮想オーディオデバイスを作成するソフトです。

つまり、GarageBandでレベルを調整した音声をsoundflowerへ出力し、USTREAM配信時の入力をsoundflowerからとればGarageBandの出力をUSTREAMの配信で利用できるというわけです。

参照: no title

また、このようにGarageBandの出力を仮想デバイスにしてしまうわけですから、Macbookから音がならないことになってしまいます。

でも、一緒にインストールされるsoundflowerbedというアプリケーションでsoundflowerへ出力し持っていかれた音声をPCの標準出力から出すことができます。

soundflowerbedを起動するとツールバーアイコンが追加されるので「Build-in Output」にチェックを入れるだけ。

これで、Macbook本体からも音がなるのでモニタリングもOK!(もちろん、ハウリングには注意してね)

f:id:brtRiver:20100820100010p:image

Flash Media Live Encoder3

USTREAMで配信するために動画や音声を圧縮しFlash Media Serverへ転送してくれるソフト。

以前はWindows版しかなかったようですが、Mac版も用意されています。

画質、音質などの詳細な設定ができます。以下のページが実際に配信するための説明が詳しいです。

参照: 「Flash Media Live Encoder」を使ったustream高画質配信をやってみる。 - POP2*5

セッティング

以下のような感じです。ざっくりですけどできるだけシンプルにしています。

外部機器まわりを見ればわかりますが、FireWireのケーブルが2本と後は音声ケーブルだけあればとりあえずOKなシンプル構成です。

f:id:brtRiver:20100820100011p:image

実際は司会者用にマイクが欲しかったり、マイクはワイヤレスにしたかったり、スライドを表示する画面に発表者の姿をPIPしたいからもう一台カメラ欲しいとか色々欲がでてきそうですね。

2009-09-11

[][]Snow Leopard + MacPorts1.8.0 の環境でPHPコンパイル

忘れそうなのでメモ。

PHPとMySQL以外はMacPortsで管理

macbookOSアップグレードしたので、macportsも作り直すことにしました。

ただし、PHPはCGI版を利用して複数のバージョンでローカルでテストできるようにしたいので、ソースからコンパイルしました。

また、pdoを利用する関係でMySQLはportsからでなくMySQLのサイトからMac OSX用(x86_64)アーカイブを/usr/local/mysqlに展開しました。もちろん64bitです。


あとは、configure、make、make installと楽勝かと思いきや、makeでこけるこける。。

以下のページでずばり解決しました。

onumeraneの日記 - mdsg

必要なパッケージさえ入っていれば、最終的に「LIBS=-lresolv」を指定すれば大丈夫な事がわかりました。

最終的なconfigure

$ LIBS=-lresolv \
./configure \                                                     
--prefix=/usr/local/php5210 \
--with-gd=/opt/local \
--with-jpeg-dir=/opt/local \
--with-xsl=/opt/local \
--with-mysql=/usr/local/mysql \
--with-mysql-sock=/tmp/mysql.sock \
--with-config-file-scan-dir=/usr/local/php5210/etc/php.ini.d \
--enable-mbstring \
--enable-zend-multibyte \
--with-iconv=shared,/usr \
--with-pdo-mysql=/usr/local/mysql/bin/mysql_config

PHPのバージョン切り替えにgitを活用

ローカルで開発するのに必要なphp-cgiを作成し、それぞれのphp-cgiをapache2のcgi-binに配置するのですが、

簡単にバージョンを切り替えることができるようにgitのbranchを利用して各バージョンごとのブランチを作ってみました。

そして、最終的に以下のようなbranchの一覧が完成しました。

% git branch                                              [/opt/local/apache2/cgi-bin]
  master
  php-5.2.10
  php-5.2.4
  php-5.2.6
* php-5.2.8
  php-5.3.0

これで、バージョンを切り替えたいときは

% sudo git checkout php-5.3.0

のようにチェックアウトすれば簡単にテスト環境のPHPのバージョンを変更できるようになりました。

快適。

2008-07-24

[] WindowsからMacへVNC接続時ではまる

リモートアクセスってほんま便利です。


リモートアクセスとは物理的に離れたPC間で遠隔操作できるようにするということで、VMwareなどのような仮想環境とは異なります。

よくあるパターンが、外から自宅のPCそのものへログインするとか、社外から社内のPCにログインして操作するなどでしょうか。

# SSHなどを利用して暗号化するなどセキュリティには気をつけてね。


Windows同士であればリモートデスクトップ接続、Mac同士なら画面共有(VNC)というのが理想です。

特にリモートデスクトップ接続は優れものでADSL回線ぐらいあればリモート環境であることを忘れてしまうぐらいの快適さです。


では、OSが異なる場合はどうでしょ。


私自身は自宅ではMacで会社ではWindowsです。

自宅から緊急で作業する必要があったりします。その場合は自宅(Mac)から会社(Win)にRDC(Remote Desktop Connection for Mac)で接続しています。

RDCは最近ようやく安定板がリリースされ、それまで不安定だったのが改善されたり、コピペなどのキーバインドが使えるようになりました。

以前まではMacのVmwareで動いているWinのリモートデスクトップで会社のPCに。。。という遠回しなことしてたりしてたんですが、もうそんな手間も要らなくなりました。


では、逆にWinからMacに接続する場合はどうだろうとふと思い、色々と実験。

今のMacは標準でVNCサーバーがインストールされているので、画面共有を有効にすればOKなはず!


ところがWinからRealVNCやUltraVNCなどのクライアントでMacに接続しようとすると接続できた瞬間に勝手に接続が遮断されている様子。


どうもクライアント側の色設定を低くしていると駄目らしい。

色設定を高画質にすると接続できるんですよね。

これってMacに標準で入っているVNCサーバーの制限なんでしょうか。。


そして、高画質の分だけ帯域を必要とするので、LAN内環境であっても画面スクロールなどが追いつかず不自然になってしまいます。


リモートアクセスって画面のきれいさよりも、画質を落としてもスムーズな操作できることのほうが大事だと思うのでちょっと残念。

いや。Macなんだからこそのこだわりで、この点は大事なのかもしれない。


別途VNCサーバー入れたら違うのかな。まぁそこまで必要なことがないのでこのへんで実験終了。

2008-02-09

[]カーソル移動

macに移行して最初に感動したのがカーソル移動。

もともとviに慣れているのですが、これを機にローカルはemacsを積極的に使うことにしています。

で、emacsのカーソル移動コマンドが Mac OSXの色々なところで効くではないですか。

Spotlightで検索結果を上下移動したりするのはもちろんのこと、

Firefoxのテキストボックスやテキストエリアなどでのカーソル移動もできるではないですか。

移動だけでなく、C-d, C-kもできるみたい。

# これって当たり前なことなのか!?

emacs使いがmacに多いのはこういう理由なのかな?

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |