HTML メディアキャプチャ

W3C 勧告

このバージョン:
https://www.w3.org/TR/2018/REC-html-media-capture-20180201/
最新公開バージョン:
https://www.w3.org/TR/html-media-capture/
最新の編集者草案:
https://w3c.github.io/html-media-capture/
テストスイート:
https://w3c-test.org/html-media-capture/
実装報告:
https://www.w3.org/2009/dap/wiki/ImplementationStatus
前バージョン:
https://www.w3.org/TR/2017/PR-html-media-capture-20171128/
編集者:
Anssi Kostiainen, Intel
Ilkka Oksanen, Nokia (2012年5月10日まで)
Dominique Hazaël-Massieux, W3C (2012年5月10日まで)
翻訳:
ру́сский язы́к
한국어
日本語
参加:
public-device-apis@w3.org
GitHub w3c/html-media-capture
GitHub w3c/html-media-capture/issues
GitHub w3c/html-media-capture/commits

公開後に報告されたエラーや問題については、正誤表を確認してください。

この仕様の英語版のみが規範的なバージョンです。非規範的な 翻訳も利用できる場合があります。


概要

HTML メディアキャプチャ仕様は、ファイルアップロード コントロール内から、カメラやマイクなどのデバイスのメディアキャプチャ 機構へのユーザーアクセスを容易にする HTML フォーム 拡張を定義します。

この文書の位置付け

状態の更新(2018年4月): この段落は参考情報です。この仕様は、 翻訳へのリンクを含め、既存の正誤表を取り込むためにインプレースで更新されました。正誤表には 非規範的な変更のみが含まれています。

この節では、公開時点におけるこの文書の位置付けについて説明します。他の文書が この文書に優先する場合があります。現在の W3C 公開文書の一覧およびこの技術報告書の最新リビジョンは、https://www.w3.org/TR/ にある W3C 技術報告書 インデックスで確認できます。

HTML Media Capture の勧告案は 2017年11月28日に公開され、それ以降、さらなる規範的な変更は行われていません。 この文書の正誤表はイシューとして記録されています。 このバージョンのために作成された実装報告は、 2 つの独立した相互運用可能な実装があることを示しています。

この文書は、Device and Sensors Working Group によって勧告として公開されました。 この文書に関するコメントを歓迎します。コメントは public-device-apis@w3.org購読アーカイブ)宛に送るか、GitHub でイシューを提出してください。

Working Group の実装 報告を参照してください。

この文書は、W3C メンバー、ソフトウェア 開発者、その他の W3C グループおよび関係者によってレビューされ、Director により W3C 勧告として承認されています。 これは安定した文書であり、参考資料として使用したり、他の 文書から引用したりできます。勧告の作成における W3C の役割は、 仕様に注意を喚起し、その広範な展開を促進することです。これにより、Web の機能性 および相互運用性が向上します。

この文書は、 W3C Patent Policy の下で運営される グループによって作成されました。 W3C は、このグループの成果物に関連して行われた 特許開示の公開リスト を維持しています。そのページには、 特許を開示するための手順も含まれています。ある個人が、 Essential Claim(s) を含むと当該個人が考える特許について実際の知識を有している場合、その個人は W3C Patent Policy 第6節に従って その情報を開示しなければなりません。

この文書は、2017年3月1日 W3C Process Documentによって規定されます。

1. 序論

この節は非規範的です。

HTML メディアキャプチャ仕様は、 HTMLInputElement インターフェイスを capture 属性で拡張します。 capture 属性により、作者は、メディアをその場でキャプチャするために、 ファイルアップロードコントロール内から、カメラやマイクなどの メディアキャプチャ 機構の使用を宣言的に要求できます。

この拡張は、単純かつ宣言的であるように特別に設計されており、 Web プラットフォームのメディアキャプチャ機能の一部を対象としています。 具体的には、この拡張はキャプチャに対する詳細な作者制御を提供しません。 より細かな作者制御を必要とするユースケースは、別の仕様である Media Capture and Streams [MEDIACAPTURE-STREAMS] を使用することで満たせます。たとえば、 ホストデバイスからのリアルタイムメディアストリームへのアクセスは、 この仕様の範囲外です。

2. 適合性

非規範的とマークされた節に加えて、この仕様に含まれるすべての作成ガイドライン、図、例、 および注記は非規範的です。この仕様におけるそれ以外のすべては 規範的です。

キーワード MUSTMUST NOT、および SHOULD は、 [RFC2119] に記述されているように解釈されます。

この仕様は、単一の製品、すなわちこの仕様に含まれるインターフェイスを実装する ユーザーエージェントに適用される適合基準を定義します。

この仕様で定義される API を実装するために ECMAScript を使用する実装は、 Web IDL 仕様 [WEBIDL-1] で定義される ECMAScript Bindings と整合する方法で、それらを実装しなければなりません。 これは、この仕様がその仕様および用語を使用しているためです。

3. 用語

input 要素、その type 属性、 HTMLInputElement インターフェイス、 accept 属性、File Upload 状態、enumerated attributemissing value defaultinvalid value default、および reflect は [HTML51] で定義されています。

[CEReactions] WebIDL 拡張属性は [custom-elements] で定義されています。

VideoFacingModeEnum 列挙は [MEDIACAPTURE-STREAMS] で定義されています。

FileList インターフェイスは [FILE-API] で定義されています。

この仕様において、用語 キャプチャコントロール 種別 は、 ユーザーにとって、 accept 属性によって指定された MIME 型のメディアを、 優先向きモードメディア キャプチャ機構を使用して直接キャプチャするように最適化された、特殊な種類の ファイルピッカーコントロールを指します。

用語 メディアキャプチャ機構 は、 カメラやマイクなど、デバイスのローカル メディアキャプチャデバイスを指します。

優先向きモード は、 使用されるデバイスのメディアキャプチャ 機構の向きに関するヒントです。

4. セキュリティおよびプライバシーに関する考慮事項

この節は非規範的です。

この仕様のユーザーエージェント実装は、マイクまたはカメラによるコンテンツのキャプチャを開始する前に、 ユーザーの同意を求めることが推奨されます。これは、ユーザーデータのプライバシーに関連する 規制上、法的、およびベストプラクティス上の要件を満たすために必要となる場合があります。さらに、 ユーザーエージェント実装は、入力デバイスが有効になっているときにユーザーへ表示を提供し、 ユーザーがそのようなキャプチャを終了できるようにすることが推奨されます。同様に、ユーザーエージェントは、 ユーザーが次のことを行えるようにするなど、ユーザー制御を提供することが推奨されます。

この仕様は、<input type="file"> [HTML51] および [FILE-API] 仕様によって提供される セキュリティおよびプライバシー保護の上に構築されています。特に、 ユーザーのデバイスからコンテンツのキャプチャを開始するためのいかなる申し出も、 ユーザーエージェントによって完全に制御される HTML 要素上での特定のユーザー操作を必要とすることが 期待されます。

実装者は、キャプチャされたメディアからプライバシーに敏感なデータが追加的に漏えいすることを防ぐよう 注意すべきです。たとえば、キャプチャされたメディアのメタデータ(例: EXIF)にユーザーの位置情報を埋め込むと、 ユーザーが想定しているよりも多くの私的データが送信される可能性があります。

5. capture 属性

input 要素の type 属性が File Upload 状態であり、その accept 属性が指定されている場合、 この節の規則が適用されます。

partial interface HTMLInputElement {
    [CEReactions]
    attribute DOMString capture;
};

capture 属性は、 enumerated attribute であり、その状態は メディア キャプチャ機構優先向きモードを指定します。

この属性のキーワードは user および environment であり、それぞれ 状態 user および environment に対応します。 状態 user および environment の意味は、 VideoFacingModeEnum で定義される同名の列挙値を反映します。

さらに、第 3 の状態である implementation-specific 状態があります。

missing value defaultimplementation-specific 状態です。invalid value defaultimplementation-specific 状態です。

注記

ユーザーエージェントが優先向き モードをサポートできない場合、実装が既定の 挙動に従って動作することを示す implementation-specific 状態に対応する、 実装固有の既定の向きモードにフォールバックできます。

capture IDL 属性は、同じ名前の対応する 内容属性を MUST reflect しなければなりません。

capture 属性が指定されている場合、 ユーザーエージェントは、 特定のキャプチャコントロール 種別のファイルピッカーを起動する SHOULD です。

capture 属性が指定されている場合、 ユーザーエージェントは、 キャプチャされたメディアをローカルまたはリモートのいかなるデータストレージにも保存しては MUST NOT なりません。

注記
スクリプトがファイルピッカーから選択されたファイル (FileList オブジェクトによって表される) にアクセスすると、さまざまな 機構を使用してキャプチャされたメディアを保存できます。これらの機構は この仕様の範囲外です。

accept 属性の値が、関連するキャプチャ コントロール種別を持たない MIME 型に設定されている場合、 ユーザー エージェントは、 capture 属性が存在しないかのように動作しなければ MUST なりません。

A.

この節は非規範的です。

次の例は、ホストデバイスのメディアキャプチャ機能を使用して、特定の MIME 型の メディアをユーザーがキャプチャすることが望ましいというヒントを与える方法を示しています。 HTML フォームを使用する単純な宣言的な例と、スクリプトを含むより高度な 例の両方を示します。

input 要素の accept 属性が image/* に設定され、capture 属性が 例 1 または 例 4 のように指定されている場合、ファイルピッカーは 以下に示すように レンダリングできます。

画像キャプチャ状態のファイルピッカーコントロール。

属性が指定されていない場合、ファイルピッカーは 以下に表すようにレンダリングできます。

ファイルアップロード状態のファイルピッカーコントロール。

B. 参考文献

B.1 規範的参考文献

[custom-elements]
カスタム要素. Domenic Denicola. W3C. 2016年10月13日. W3C 作業草案. URL: https://www.w3.org/TR/custom-elements/
[HTML51]
HTML 5.1 第 2 版. Steve Faulkner; Arron Eicholz; Travis Leithead; Alex Danilo. W3C. 2017年10月3日. W3C 勧告. URL: https://www.w3.org/TR/html51/
[MEDIACAPTURE-STREAMS]
メディアキャプチャおよびストリーム. Daniel Burnett; Adam Bergkvist; Cullen Jennings; Anant Narayanan; Bernard Aboba. W3C. 2017年10月3日. W3C 勧告候補. URL: https://www.w3.org/TR/mediacapture-streams/
[RFC2119]
RFC における要件レベルを示すための キーワード. S. Bradner. IETF. 1997年3月. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[WEBIDL-1]
WebIDL レベル 1. Cameron McCormack. W3C. 2016年12月15日. W3C 勧告. URL: https://www.w3.org/TR/2016/REC-WebIDL-1-20161215/

B.2 参考情報としての参考文献

[FILE-API]
File API. Marijn Kruisselbrink. W3C. 2017年10月26日. W3C 作業草案. URL: https://www.w3.org/TR/FileAPI/
[HTML]
HTML 標準. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[WEBIDL]
Web IDL. Cameron McCormack; Boris Zbarsky; Tobie Langel. W3C. 2016年12月15日. W3C 編集者草案. URL: https://heycam.github.io/webidl/