このページの本文へ

前へ 1 2 3 次へ

もっと知りたい! Snow Leopard 第6回

Snow Leopardの深層・その4

18年越しの大改修! Snow LeopardのQuickTime X

2009年09月05日 18時00分更新

文● 千種菊里

  • この記事をはてなブックマークに追加
  • 本文印刷

新しいフレームワーク「QuickTime X」

 QuickTime PlayerというUIにメスを入れた一方で、内部的にも改善を加えた。それがQuickTime Xである。

 QuickTime Xは、1991年のコードをベースにずっと「建て増し」されてきたQuickTimeに別れを告げて1から作り直された。H.264、AACといった現代的なコーデックに最適化しており、ハードウェアの機能を直接利用できるようにして性能をより高めた、新しいフレームワークなのだ。

 とはいえ、一般のユーザーや、QTKitを使っている開発者にとってQuickTime XとこれまでのQuickTime 7の違いは分からない。QTKitのAPIはこれまでと同じで、内部だけを QuickTime Xに差し替えて動作するためだ。

 一方、32bit環境では、旧来のアプリケーション向けにネイティブAPIが提供されるものの、こちらからはQuickTime Xは利用できない。古いアプリケーションからの実行や、QuickTime Xでサポートされていない古いコーデックの動画を開こうとしたときには、QuickTime 7に自動的にフォールバックされるようになっている。

 とはいえ、64bit環境ではもはや旧来のAPIはサポートしないため、これから動画を操作するアプリケーションを構築する場合は、いまさらネイティブAPIを使うのではなく、素直にQTKitを使うようにすべきだろう。Snow Leopardならば、それだけでQTKitによる強力な動画処理が実行される。


HTTPライブストリーミング

 QuickTime Xに追加された機能のひとつが、HTTPライブストリーミングだ。その名の通り、動画や音声をHTTPでダウンロードしつつ同時に再生できる、というものだ。

 これまでは「QuickTime Streaming Server」を用意し、RTSPのようなストリーミング用のプロトコルを用いて、ストリーミングを実行していた。一方、HTTPライブストリーミングでは、通常の ウェブサーバと同じHTTPもしくはHTTPSを用いる。

 仕掛けは、拡張子「M3U」のプレイバックファイルに拡張されたコメントと、細切れにされた動画ファイルだ。

 HTTPライブストリーミングに対応したMac OS XやiPhoneは、このプレイバックファイルを読んで再生すべき時間のファイルを見つけ、そのファイルをHTTPで単なるファイルとしてダウンロード/再生するという具合だ。

 このプレイバックファイルは、動的に書き換えてもいい。生中継などでは小さな単位のファイルがどんどん増えていくが、増えるたびにプレイバックファイルを書き換えて、新しいファイルをポイントできる。するとクライアントは新しいプレイバックファイルを読み込み、後続のファイルをダウンロードして、再生を続けることになる。

 仕組みとしては単純だが、ウェブサーバーさえ用意できればストリーミングができるというのは非常に便利。すでに iPhoneでも対応しているので、iPhone用のストリーミングを検討している場合は、このHTTPライブストリーミングをチェックした方がいい。


Carbon アプリケーションの終焉

 このQuickTimeに限らず、Appearance ManagerやApplication Managerといった前近代的なAPIは、64bit対応の過程でごっそりなくなっている。Carbonというレイヤーそのものがなくなったわけではないが、実質的にGUIを持ったアプリケーションが作れなくなっていると言っても過言ではない。Mac OS XのアプリでGUIを作れるのは、Cocoaの特権となりつつあるのだ。

 とはいえ、最終的にCarbonが外されることはないだろう。Cocoaの下請けとして、WindowsでいうならMFCの下のWin32APIのように、Linuxなどで使われるX Window SystemでいうならGTK やQTといったフレームワークの底辺にあるXLibのように、低レベルレイヤーのフレームワークとして機能する。

 かつてアップルはCarbonを「生命の源」と呼んだ。その名前の通り、Mac OS Xになくてはならない存在として残り続けるのだ。


前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

ASCII.jp RSS2.0 配信中