--- title: Media Capture and Streams API (Media Streams) slug: Web/API/Media_Streams_API tags: - API - Advanced - Audio - Guide - Introduction - Media - Media Capture and Streams API - Media Streams API - NeedsContent - Video translation_of: Web/API/Media_Streams_API ---
Media Capture and Streams APIは一般的にMedia Stream APIやStream APIと呼ばれるWebRTCに関連したAPIです。このAPIでは、オーディオやビデオデータのストリーム、これらを操作するためのメソッド、データタイプに関連づけられた制約、データを非同期に利用する際の成功と失敗のコールバック、これらの処理を行なっている最中に発生するイベントなどをサポートします。
このAPIは、オーディオまたはビデオに関連づけられたデータの流れを表現するための{{domxref("MediaStream")}}オブジェクトの操作を基本としています。例としてGet the video(英語)をご覧ください。
MediaStream
は0個以上の{{domxref("MediaStreamTrack")}}によって構成されます。MediaStreamTrack
は様々なオーディオやビデオのトラックを表現します。それぞれのMediaStreamTrack
は、1つ以上のチャンネルを持ちます。このチャンネルはメディアストリームの最小の単位を表現します。例えば、ステレオのオーディオトラックのleftとrightのチャンネルのそれぞれのように、与えられたスピーカーに関連づけられたオーディオ信号です。
MediaStream
オブジェクトは、1つの入力と1つの出力を持ちます。MediaStream
オブジェクトは、ローカルで呼び出される{{domxref("MediaDevices.getUserMedia", "getUserMedia()")}}によって生成され、ユーザーのカメラやマイクの1つを入力ソースとして持ちます。ローカルでないMediaStream
は、{{HTMLElement("video")}}や{{HTMLElement("audio")}}などのメディア要素や、WebRTC {{domxref("RTCPeerConnection")}} APIによって取得できるネットワーク越しに生成されたストリーム、Web Audio API {{domxref("MediaStreamAudioSourceNode")}}によって作成されたストリームとして表現されます。MediaStream
オブジェクトの出力はコンシューマ(consumer)に接続されます。出力として{{HTMLElement("audio")}}や{{HTMLElement("video")}}などのメディア要素、WebRTC {{domxref("RTCPeerConnection")}} API、Web Audio API {{domxref("MediaStreamAudioDestinationNode")}}が使用できます。
{{LandingPageListSubpages}}
{{Compat("api.MediaStream")}}
getUserMedia()
を用いたデモとチュートリアル