iPhone で、いつでも無線をワッチする
オーディオストリーミングの実験をしてみました*1。クライアントには、iPhone を使うというのが前提です。家にあるジェネラルカバレッジの受信機と組み合わせ、いつでもどこでも iPhone で無線*2をワッチするのが目的です。
先日の調査を元に、サーバーには、Icecast 2.3.2 と Edcast (Standalone 3.1.21) を使うことにしました。
最初、エンコーダに AAC や MP3 (LAME) を使ってみたのですが、どうもうまくいきません。前者では、デコード音がメチャメチャになってしまい*3、後者では、符号化レートが設定通りに低くならないという問題が出ました*4。Winamp で試したところ、エンコーダに Ogg Vorbis を使うと実にうまく動作するのですが、最初に購入した iPhone 用のプレイヤ RadioBOX では、Ogg Vorbis をサポートしていないのでした。
結局、iPhone 用のプレイヤに、FStream というものを使ってみました。無料ということであまり期待してなかったのですが、これが実に快適です。実は、RadioBOX は GUI の動きに奇妙な点があったり、Favorite の保存がおかしかったりしたのですが、FStream はこの辺が自然な作りです。
さて。私の目的はアマチュア無線機の受信音を 3G ネットワーク経由で聞ければ良いということで、いろいろ試した結果、以下の符号化で利用することにしました。もちろん符号化音声は綺麗ではありませんが、十分に実用になると思います。
- サンプリングレート: 16kHz
- チャネル数: 1 (モノラル)
- 符号化レート: 16kbps
さて。問題は、Icecast2 の「放送」には認証がかけられないようであることです。つまり、URL さえ分かれば誰でも聴取できてしまう、ということです。URL を分かりにくくすれば解決できそうですが、何かうまい方法はないかなあ。