Media Capture and Streams API (Media Streams)
Media Capture and Streams APIは一般的にMedia Stream APIやStream APIと呼ばれるWebRTC (en-US)に関連したAPIです。このAPIでは、オーディオやビデオデータのストリーム、これらを操作するためのメソッド、データタイプに関連づけられた制約、データを非同期に利用する際の成功と失敗のコールバック、これらの処理を行なっている最中に発生するイベントなどをサポートします。
基本概念
このAPIは、オーディオまたはビデオに関連づけられたデータの流れを表現するためのMediaStream
オブジェクトの操作を基本としています。例としてGet the video (en-US)(英語)をご覧ください。
MediaStream
は0個以上のMediaStreamTrack
によって構成されます。MediaStreamTrack
は様々なオーディオやビデオのトラックを表現します。それぞれのMediaStreamTrack
は、1つ以上のチャンネルを持ちます。このチャンネルはメディアストリームの最小の単位を表現します。例えば、ステレオのオーディオトラックのleftとrightのチャンネルのそれぞれのように、与えられたスピーカーに関連づけられたオーディオ信号です。
MediaStream
オブジェクトは、1つの入力と1つの出力を持ちます。MediaStream
オブジェクトは、ローカルで呼び出されるgetUserMedia()
によって生成され、ユーザーのカメラやマイクの1つを入力ソースとして持ちます。ローカルでないMediaStream
は、<video>
や<audio>
などのメディア要素や、WebRTC RTCPeerConnection
APIによって取得できるネットワーク越しに生成されたストリーム、Web Audio API (en-US) MediaStreamAudioSourceNode
(en-US)によって作成されたストリームとして表現されます。MediaStream
オブジェクトの出力はコンシューマ(consumer)に接続されます。出力として<audio>
や<video>
などのメディア要素、WebRTC RTCPeerConnection
API、Web Audio API (en-US) MediaStreamAudioDestinationNode
(en-US)が使用できます。
リファレンス
addtrack
(event)AudioStreamTrack
BlobEvent
ended (en-US)
(event)MediaStream
MediaStreamConstraints
MediaStreamEvent
(en-US)MediaStreamTrack
MediaStreamTrackEvent
(en-US)MediaTrackCapabilities
MediaTrackConstraints
(en-US)MediaTrackSettings
(en-US)MediaTrackSupportedConstraints
muted
(event)NavigatorUserMedia
NavigatorUserMediaError
overconstrained
(event)removetrack
(event)started
(event)unmuted
(event)URL
VideoStreamTrack
ガイドとチュートリアル
- 能力、制約、そして設定
制約(constraints)と能力(capabilities)の双子の概念により、ブラウザーとウェブサイトまたはアプリは、ブラウザーの実装がサポートする制約可能なプロパティ(constrainable properties)と、それぞれに対してサポートする値に関する情報を交換できます。 この記事では、能力と制約およびメディアの設定について説明し、制約エクササイザー(Constraint Exerciser)と呼ばれる例を含みます。
ブラウザ互換性
BCD tables only load in the browser
関連項目
- WebRTC (en-US) - APIの入門ページ
mediaDevices.getUserMedia()
- Taking webcam photos (en-US):
getUserMedia()
を用いたデモとチュートリアル