API MediaStream

L'API Processing MediaStream, souvent appelée Media Stream API ou Stream API, est la partie de WebRTC décrivant un flux de données audio ou vidéo, les méthodes pour les manipuler, les contraintes associées au type de données, les erreurs et succès des callbacks avec les données asynchrones, et les évènements déclenchés durant le processus.

Concepts de base

L'API est basée sur la manipulation de l'objet MediaStream représentant un flux de données audio ou vidéo. Typiquement, un MediaStream est une simple chaine URL qui peut être utilisée pour référencer une donnée stockée dans un File DOM, ou un objet Blob crée avec window.URL.createObjectURL(), tel que décrit dans cette vidéo.

Un MediaStream consiste en zéro ou plus objets MediaStreamTrack, représentant différentes pistes audio ou vidéos. Chaque MediaStreamTrack peut avoir un ou plusieurs canal. Le canal représente la plus petite unité d'un flux média, tel un signal audio d'un haut-parleur, séparé en gauche et droite sur une piste audio en stéréo.

Les objets MediaStream ont une seule entrée et une seule sortie. Un objet MediaStream généré par getUserMedia() est dit local, et sa source d'entrée provient de l'une des caméra ou microphone de l'utilisateur. Un objet MediaStream non local peut représenter un média tel que <video> ou <audio>, un flux provenant du réseau et obtenu via l'API WebRTC PeerConnection, ou un flux créé en utilisant l'API Web Audio MediaStreamAudioSourceNode. La sortie d'un objet MediaStream est liée à un consommateur. Elle peut-être un élément média tel que <audio> ou <video>, l'API WebRTC PeerConnection ou l'API Web Audio MediaStreamAudioDestinationNode.

Interfaces

Dans ces articles de référence, on trouvera les informations fondamentales sur les différentes interfaces qui composent l'API Media Capture and Streams API.

Les premières versions de la spécification pour Media Capture and Streams API incluaient des interfaces séparées AudioStreamTrack et VideoStreamTrack, chacunes basées sur MediaStreamTrack et qui représentaient des types de flux différents. Celles-ci n'existent plus et il faut utiliser MediaStreamTrack directement à la place.

Évènements

Guides et tutorials

Les articles qui suivent fournissent des manuels et guides pour utiliser cette API et réaliser des certaines tâches avec elle.

There are no subpages at this time.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
MediaStreamChrome Support complet 55
Support complet 55
Support complet 21
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Edge Support complet 12Firefox Support complet 15IE Aucun support NonOpera Support complet 42
Support complet 42
Support complet 15
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Safari Support complet 11WebView Android Support complet 55
Support complet 55
Support complet ≤37
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Chrome Android Support complet 55
Support complet 55
Support complet 25
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Firefox Android Support complet 15Opera Android Support complet 42
Support complet 42
Support complet 14
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Safari iOS Support complet 11Samsung Internet Android Support complet 6.0
Support complet 6.0
Support complet 1.5
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
MediaStream() constructorChrome Support complet 21Edge Support complet ≤18Firefox Support complet 44IE Aucun support NonOpera Support complet 42Safari Aucun support NonWebView Android Support complet 37Chrome Android Support complet 25Firefox Android Support complet 42Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Support complet 6.0
activeChrome Support complet 45Edge Support complet 12Firefox Support complet 52IE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet 45Chrome Android Support complet 45Firefox Android Support complet 52Opera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 5.0
active eventChrome Support complet 45Edge Support complet ≤79Firefox ? IE Aucun support NonOpera ? Safari ? WebView Android Support complet 45Chrome Android Support complet 45Firefox Android ? Opera Android Aucun support NonSafari iOS ? Samsung Internet Android Support complet 5.0
addTrackChrome Support complet 26Edge Support complet 12Firefox Support complet 44IE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet 37Chrome Android Support complet 26Firefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 1.5
addtrack eventChrome Support complet OuiEdge Support complet 12Firefox Support complet 50IE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Support complet 50Opera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet Oui
cloneChrome Support complet 45Edge Support complet 12Firefox Support complet 48IE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet 45Chrome Android Support complet 45Firefox Android Support complet 48Opera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 5.0
ended
Obsolète
Chrome Aucun support ? — 54
Notes
Aucun support ? — 54
Notes
Notes Deprecated in Chrome 52.
Edge ? Firefox Aucun support NonIE Aucun support NonOpera Aucun support ? — 39Safari ? WebView Android Aucun support ? — 54
Notes
Aucun support ? — 54
Notes
Notes Deprecated in Chrome 52.
Chrome Android Aucun support ? — 54
Notes
Aucun support ? — 54
Notes
Notes Deprecated in Chrome 52.
Firefox Android Aucun support NonOpera Android Aucun support ? — 41Safari iOS ? Samsung Internet Android Aucun support ? — 6.0
Notes
Aucun support ? — 6.0
Notes
Notes Deprecated in Samsung Internet 6.0.
getAudioTracksChrome Support complet 26Edge Support complet 12Firefox Support complet 22
Notes
Support complet 22
Notes
Notes Prior to Firefox 64, this method returned an array of AudioStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
IE Aucun support NonOpera Support complet OuiSafari Support complet OuiWebView Android Support complet 37Chrome Android Support complet 26Firefox Android Support complet 22
Notes
Support complet 22
Notes
Notes Prior to Firefox 64, this method returned an array of AudioStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
Opera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 1.5
getTrackByIdChrome Support complet 26Edge Support complet 12Firefox Support complet 49IE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet 37Chrome Android Support complet 26Firefox Android Support complet 49Opera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 1.5
getTracks
Expérimentale
Chrome Support complet 45Edge Support complet 12Firefox Support complet OuiIE Aucun support NonOpera Support complet OuiSafari Support complet OuiWebView Android Support complet 45Chrome Android Support complet 45Firefox Android Support complet OuiOpera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 5.0
getVideoTracks
Expérimentale
Chrome Support complet 26Edge Support complet 12Firefox Support complet 22
Notes
Support complet 22
Notes
Notes Prior to Firefox 64, this method returned an array of VideoStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
IE Aucun support NonOpera Support complet OuiSafari Support complet OuiWebView Android Support complet 37Chrome Android Support complet 26Firefox Android Support complet 22
Notes
Support complet 22
Notes
Notes Prior to Firefox 64, this method returned an array of VideoStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
Opera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 1.5
idChrome Aucun support ? — 54Edge Aucun support 12 — 79Firefox Support complet 41IE Aucun support NonOpera Aucun support ? — 39Safari Support complet OuiWebView Android Aucun support ? — 54Chrome Android Aucun support ? — 54Firefox Android Support complet 41Opera Android Aucun support ? — 41Safari iOS Support complet OuiSamsung Internet Android Aucun support ? — 6.0
inactive eventChrome Support complet 45Edge Support complet ≤79Firefox ? IE Aucun support NonOpera ? Safari ? WebView Android Support complet 45Chrome Android Support complet 45Firefox Android ? Opera Android Aucun support NonSafari iOS ? Samsung Internet Android Support complet 5.0
label
Obsolète
Chrome Aucun support ? — 54
Notes
Aucun support ? — 54
Notes
Notes Deprecated in Chrome 45.
Edge ? Firefox ? IE Aucun support NonOpera Aucun support NonSafari ? WebView Android Aucun support ? — 54
Notes
Aucun support ? — 54
Notes
Notes Deprecated in Chrome 45.
Chrome Android Aucun support ? — 54
Notes
Aucun support ? — 54
Notes
Notes Deprecated in Chrome 45.
Firefox Android ? Opera Android Aucun support NonSafari iOS ? Samsung Internet Android Aucun support ? — 6.0
Notes
Aucun support ? — 6.0
Notes
Notes Deprecated in Samsung Internet 5.0.
onactiveChrome Support complet 45Edge Support complet ≤79Firefox ? IE Aucun support NonOpera ? Safari ? WebView Android Support complet 45Chrome Android Support complet 45Firefox Android ? Opera Android Aucun support NonSafari iOS ? Samsung Internet Android Support complet 5.0
onaddtrackChrome Support complet 26Edge Support complet 12Firefox Support complet 50IE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet 37Chrome Android Support complet 26Firefox Android Support complet 50Opera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 1.5
oninactiveChrome Support complet 45Edge Support complet ≤79Firefox ? IE Aucun support NonOpera ? Safari ? WebView Android Support complet 45Chrome Android Support complet 45Firefox Android ? Opera Android Aucun support NonSafari iOS ? Samsung Internet Android Support complet 5.0
onremovetrackChrome Support complet 26Edge Support complet 12Firefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet 37Chrome Android Support complet 26Firefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 1.5
removeTrackChrome Support complet 26Edge Support complet 12Firefox Support complet OuiIE Aucun support NonOpera Support complet OuiSafari Support complet OuiWebView Android Support complet 37Chrome Android Support complet 26Firefox Android Support complet OuiOpera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet 1.5
removetrack eventChrome Support complet OuiEdge Support complet 12Firefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Support complet OuiSamsung Internet Android Support complet Oui
stop
Obsolète
Chrome Aucun support ? — 47Edge Aucun support 13 — 79Firefox ? IE Aucun support NonOpera Aucun support NonSafari ? WebView Android Aucun support ? — 47Chrome Android Aucun support ? — 47Firefox Android ? Opera Android Aucun support NonSafari iOS ? Samsung Internet Android Aucun support ? — 5.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.

Voir aussi