getUserMedia が実装されました!

原文: getUserMedia is ready to roll! (on July 13, 2012 by Anant Narayanan)

今年の 4 月に、私たちは WebRTC 活動 についての記事 (和訳) を投稿しましたが、今日はエキサイティングな最新情報をお届けします。getUserMedia が mozilla-central にコミットされました! この API は、Firefox の最新の Nightly バージョンで使えるようになったので、最終的にリリースビルドでも使えるようになります。

getUserMedia は、Web ページが動画や音声の入力を取得できるようにする DOM API です。つまり、Web カメラやマイクからの入力したデータを Web ページが扱えるようになります。私たちは、これが Web ページとアプリケーションの全く新たな可能性の扉を開くことを望んでいます。この DOM API は、WebRTC プロジェクト のコンポーネントの一つです。このコンポーネントには、動画ストリームや音声ストリーム、任意のデータの交換を可能にするピアツーピア通信チャンネルのための API も含まれています。

PeerConnection API のほうはまだ実装途中ですが、getUserMedia は、Firefox が WebRTC を完全にサポートするための歩みにおけるすばらしい最初のステップです! 私たちは、 DOM API を通じて Web カメラからの最初の画像を Web ページ上に表示 してから長い道のりを歩んできました。(これより前に Jetpack が音声録音をサポート していたことには言及していません。)

私たちは、W3C で開発された「Media Capture and Streams」標準のプレフィックス付きのバージョンを実装しました。仕様の機能はまだすべて実装されていませんが、最も注意すべき点は、私たちは Constraints API (呼び出し元が、様々なパラメータを基に特定の形式の音声と動画を要求できるようにする API) をサポートしないということです。

また、Mozilla 固有の拡張仕様も API に実装しました。mozGetUserMedia の最初の引数が受け入れる辞書データに、{picture: true} プロパティだけでなく、{video: true}{audio: true} も追加しています。picture API は、video ストリームをセットアップせずに一枚の写真をユーザのカメラから取得する専用の機構に興味があるか確かめるための実験的な API です。これは、例えばプロファイルの写真をアップロードするページや写真共有アプリケーションなどで役立つでしょう。

難しいことは抜きにして、簡単なコード例から始めましょう! その前に、この機能にはまだ、ユーザのカメラやマイクのアクセス確認を出す許可モデルや UI がありません。about:config ページで media.navigator.enabled という名前の設定を作成し、値を true にセットしておいてください。この API のリリースは開発者向けのものなので、合意の取れた許可モデルや UI を実装した後に、デフォルトで有効にする予定です。



この API の音声、動画、写真機能をテストできる デモページ もあります。ぜひ、このデモを試した感想を教えてください! あなたの使用例に合うかどうかに関わらず、特に Web 開発者コミュニティからの API についてのフィードバックに興味があります。この記事のコメント欄か dev-media のメーリングリスト、またはニュースグループにコメントをください。

このプロジェクトへの参加も歓迎します。プロジェクトの Wiki ページ には、私たちの進行中の活動についての多くの情報があります。手始めに、メーリングリストに質問やコメント、提案を投稿するとよいでしょう。私たちは、IRC の #media チャンネル にもいます。気軽に雑談でもしましょう。

ハッピーハッキング!