現在ではiOSデバイスもサポートするストリーミング技術「AirPlay」の一部が解析され、Airport Expressと同等の機能を有するエミュレータ「ShairPort」として公開された。ここでは、早速入手したShairPortについてレポートするとともに、AirPortを巡る現在の状況について解説してみよう。
AirPlayのしくみを理解する
AirPlayは、現在のAppleにとって戦略的な技術だ。もともとは2004年発売の小型Wi-Fiベースステーション「AirPort Express」(日本での製品名はAirMac Express) 向けに用意された、無線LANでの利用を前提とするオーディオストリーミング機能だが、iOS 4.2に同機能が搭載されたタイミングで名称を「AirPlay」へと変更、ビデオのストリーミング配信も可能になった。
AirPort Express(日本ではAirMac Express)の下部。有線/無線LAN経由でALACオーディオストリームを受信し、それをアナログ/オプティカルデジタル共用のオーディオジャック経由で出力する |
AirPlayはiOS 4.2でもサポートされたが、標準装備のアプリはオーディオ/ビデオの送出のみ対応している |
iOSがサポートする前のAirTunesでは、長らくオーディオの送出側がiTunes、受信側がAirPort Expressで固定されてきた。iTunesおよびAirPort Expressは、IPアドレス/ホスト名の自動割り当てと自動探索を担うゼロ・コンフィギュレーション技術「Bonjour」の利用を前提とするため、通信可能な状態になれば互いを自動認識、iTunesの出力先としてAirPort Expressが選択できるようになる仕組みだ。
AirTunesのもうひとつの構成要素が「AppleLossless」。ALACと略されるこのオーディオコーデックは、名前が示すとおり圧縮前と圧縮/展開後のデータが完全に一致する可逆圧縮形式であり、オリジナルデータに忠実であるとされる。AirTunesでは、iTunesの再生結果をALACにエンコードしたうえで送出、それをAirPort Expressがデコードするという流れになる。これが、理論上音質の劣化がなくノイズも混入しないとされるAirTunesの骨子だ。
つまり、当初のAirTunesとは、iTunesとAirPort Expressで構成される一種のオーディオ処理システムだった。その後継たるAirPlayは、後方互換性を維持しつつビデオをサポートすべく拡張されているのだ。
ShairPort登場のインパクト
現在のAirPlayは、ビデオを扱えるようプロトコルが拡張されている。データがオーディオのみの場合は、ファームウェアアップデートなしにAirPort Expressでも再生可能なことから判断できるように、従来のAirTunesと同様ALACが配信される。これはiOSでも同じだ。
再生するコンテンツがビデオの場合も、オーディオはALACストリームとして配信される。ただし、ビデオを受信できるのはApple TVなど「AirPlay対応」機器でなければならない。iOS 4.3以降は、サードパーティー製アプリもAirPlay出力できるようになったが、映像と音声の両方を再生できるのは、ハードウェアでは現在のところApple TVだけだ。
今月上旬に公開された「ShairPort」は、AirPlayのうちオーディオ部分(旧AirTunes)の受信に対応したAirPort Expressエミュレータだ。これまでもAirTunes互換をうたう実装はいくつか発表されているが、ShairPortはこれまでのものとは一線を画している。
それは、ShairPortの開発にあたり、AirPort Expessから"プライベートキー"が抽出されたことだ。AirTunes/AirPlayは一貫してプロプライエタリな技術で、現在でこそオーディオメーカーなど他社にライセンスされているが、その仕様が一般公開されたことはない。これまでに公開されたAirTunes/AirPlay互換をうたう実装は、パブリックキーを用いた送信側の機能のみで、プライベートキーを必要とする受信側(スピーカー)の機能は、Apple純正品またはAppleからライセンスを受けた企業の製品しか許されていない。
ROMからのプライベートキーの取得はリバースエンジニアリングであり、問題があることは否定できない。いずれAppleにより公開停止が求められるか、ファームウェア変更で対策を施してしまう可能性が高く、恒久的に利用できるとは考えにくい。しかし、現状を見ると、ShairPortが画期的なプロダクトであることも確かなのだ。