Media Capture and Streams API (Media Stream)

Media Capture and Streams API, thường được gọi là Media Streams API hoặc MediaStream API, là một API liên quan đến WebRTC cung cấp hỗ trợ cho việc truyền phát dữ liệu âm thanh và video.

Nó cung cấp các giao diện và phương thức để làm việc với các luồng và các track thành phần của chúng, các ràng buộc liên quan đến định dạng dữ liệu, các callback thành công và lỗi khi dùng dữ liệu một cách bất đồng bộ, cùng các sự kiện được phát trong quá trình đó.

Khái niệm và cách dùng

API này dựa trên việc thao tác một đối tượng MediaStream đại diện cho một luồng dữ liệu âm thanh hoặc video. Xem một ví dụ trong Lấy media stream.

Một MediaStream gồm từ không đến nhiều đối tượng MediaStreamTrack, đại diện cho các track âm thanh hoặc video khác nhau. Mỗi MediaStreamTrack có thể có một hoặc nhiều channel. Channel đại diện cho đơn vị nhỏ nhất của một media stream, chẳng hạn như một tín hiệu âm thanh gắn với một loa nhất định, ví dụ trái hoặc phải trong một track âm thanh stereo.

Các đối tượng MediaStream có một đầu vào và một đầu ra duy nhất. Một đối tượng MediaStream được tạo bởi getUserMedia() được gọi là local, và có nguồn đầu vào là một trong các camera hoặc micro của người dùng. Một MediaStream không-local có thể đại diện cho một phần tử media, như <video> hoặc <audio>, một stream xuất phát qua mạng và được lấy thông qua API WebRTC RTCPeerConnection, hoặc một stream được tạo bằng Web Audio API MediaStreamAudioDestinationNode.

Đầu ra của đối tượng MediaStream được liên kết với một consumer. Nó có thể là một phần tử media, như <audio> hoặc <video>, API WebRTC RTCPeerConnection hoặc một Web Audio API MediaStreamAudioSourceNode.

Giao diện

Trong các bài viết tham chiếu này, bạn sẽ tìm thấy thông tin nền tảng cần biết về từng giao diện tạo nên Media Capture and Streams API.

Sự kiện

Hướng dẫn và bài viết

Bài viết Capabilities, constraints, and settings thảo luận về các khái niệm constraintscapabilities, cũng như các media setting, và bao gồm một Constraint Exerciser cho phép bạn thử nghiệm kết quả của các bộ constraint khác nhau được áp dụng cho các track âm thanh và video đến từ các thiết bị đầu vào A/V của máy tính (chẳng hạn như webcam và micro).

Bài viết Taking still photos with getUserMedia() cho thấy cách dùng getUserMedia() để truy cập camera trên máy tính hoặc điện thoại di động có hỗ trợ getUserMedia() và chụp ảnh bằng nó.

Thông số kỹ thuật

Specification
Media Capture and Streams
Media Capture from DOM Elements

Tương thích trình duyệt

api.MediaStream

api.MediaStreamTrack

api.MediaDevices

api.MediaDeviceInfo

api.InputDeviceInfo

api.CanvasCaptureMediaStreamTrack

Xem thêm