API de Media Capture and Streams (Media Stream)
La API de Media Capture and Streams, a menudo llamada API de Media Streams o API de MediaStream, está relacionada con WebRTC y permite la transmisión de datos de audio y video.
Proporciona las interfaces y los métodos para trabajar con los flujos y con las pistas que los componen, las restricciones asociadas a los formatos de datos, las funciones de callback de éxito y de error cuando se usan los datos de forma asíncrona, y los eventos que se disparan durante el proceso.
Conceptos y uso
La API se basa en la manipulación de un objeto MediaStream que representa un flujo de datos de audio o video. Puedes ver un ejemplo en Obtener el flujo multimedia.
Un MediaStream consta de cero o más objetos MediaStreamTrack que representan distintas pistas de audio o video. Cada MediaStreamTrack puede tener uno o más canales. El canal representa la unidad más pequeña de un flujo multimedia, como la señal de audio asociada a un altavoz específico, por ejemplo el izquierdo o el derecho en una pista de audio estéreo.
Los objetos MediaStream tienen una sola entrada y una sola salida. Un objeto MediaStream generado por getUserMedia() se denomina local y tiene como fuente de entrada una de las cámaras o micrófonos del usuario. Un MediaStream no local puede representar un elemento multimedia como <video> o <audio>, un flujo procedente de la red y obtenido mediante la API RTCPeerConnection de WebRTC, o un flujo creado con el MediaStreamAudioDestinationNode de la API de Web Audio.
La salida del objeto MediaStream está vinculada a un consumidor, que puede ser un elemento multimedia como <audio> o <video>, la API RTCPeerConnection de WebRTC o un MediaStreamAudioSourceNode de la API de Web Audio.
Interfaces
En estos artículos de referencia encontrarás la información fundamental que necesitas conocer sobre cada una de las interfaces que componen la API de Media Capture and Streams.
Eventos
Guías y tutoriales
El artículo Capacidades, restricciones y configuración explica los conceptos de restricciones y capacidades, así como la configuración multimedia, e incluye un Probador de restricciones con el que puedes experimentar con los resultados de aplicar distintos conjuntos de restricciones a las pistas de audio y video que proceden de los dispositivos de entrada A/V de la computadora (como la cámara web y el micrófono).
El artículo Tomar fotos fijas con getUserMedia() muestra cómo usar getUserMedia() para acceder a la cámara de una computadora o de un teléfono móvil que sea compatible con getUserMedia() y tomar una foto con ella.
Especificaciones
| Especificación |
|---|
| Media Capture and Streams> |
| Media Capture from DOM Elements> |
Compatibilidad con navegadores
>api.MediaStream
api.MediaStreamTrack
api.MediaDevices
api.MediaDeviceInfo
api.InputDeviceInfo
api.CanvasCaptureMediaStreamTrack
Véase también
- WebRTC: la página de introducción a la API.
- Tomar fotos fijas con WebRTC: una demostración y un tutorial sobre el uso de
getUserMedia().