Đề cương khóa học

Xử Lý Thiết Bị Media

1. Quyền Hạn Trình Duyệt với navigator.permissions

  • Truy cập phần cứng:
    • Webcam
    • Microphone
  • Quyền hạn tùy chọn:
    • Geolocation
    • Notifications
    • Clipboard (đọc/viết)
  • Truy vấn và trạng thái quyền hạn
  • Hạn chế và tương thích trình duyệt

2. Đọc Thiết Bị Media với navigator.mediaDevices

  • Liệt kê thiết bị
  • Xử lý thay đổi thiết bị

3. Tương Thích Giữa Các Trình Duyệt

  • Sử dụng API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Lược đồ xử lý Safari

4. Xử Lý Thiết Bị Media

  • Khai báo thiết bị: getUserMedia(constraints)
  • Ràng buộc thiết bị media
  • Bắt đầu và dừng luồng media
  • Xử lý thay đổi thiết bị

5. Ghi Thiết Bị với MediaRecorder

  • Bắt đầu/dừng streaming và ghi âm
  • Tải xuống tệp .webm
  • Xem trước waveform thời gian thực

Tính Năng Tùy Chọn:

  • Lưu ở định dạng .wav sử dụng ScriptProcessorNode
  • Trực quan hóa phổ FFT audio
  • Nhận diện giọng nói với webkitSpeechRecognition

Kết Nối Đối Tác

1. Máy Chủ Signaling

  • Các tùy chọn kênh hai chiều:
    • WebSocket
    • Socket.io
    • SignalR
  • Cấu trúc tin nhắn
  • Khách hàng WebRTC đơn giản
  • Dòng chảy signaling đầy đủ

2. Video Chat qua WebRTC

  • Kiến trúc: Node.js + ws
  • Khách hàng WebRTC: RTCPeerConnection
  • Thử nghiệm E2E cục bộ

Tính Năng Tùy Chọn:

  • Gác máy (đóng kết nối, dừng media)
  • Gọi nhóm (phòng nhiều người dùng)
  • Xác thực đơn giản dựa trên token

3. Chia Sẻ Màn Hình

  • Sử dụng getDisplayMedia()
  • Kiến trúc và các tùy chọn

4. Giao Thức Miêu Tả Phiên (SDP)

  • Giới thiệu và nội dung
  • Đọc và diễn giải SDP
  • Codec:
    • Audio & Video
    • Đàm phán và kiểm soát
    • Lược đồ xử lý lỗi

5. Thống Kê WebRTC với getStats()

  • Các loại thống kê
  • Cách diễn giải thống kê
  • Biểu đồ tốc độ bit/jitter trực tiếp
  • Các chiến lược điều chỉnh chất lượng

6. Tất cả các chủ đề đều có

  • Trường hợp sử dụng thực tế

Yêu cầu

Khóa học này phù hợp với các nhà phát triển frontend và full-stack, kiến trúc sư kỹ thuật, và kỹ sư xây dựng các tính năng giao tiếp trực tiếp dựa trên trình duyệt như video chat, chia sẻ màn hình, hoặc streaming audio. Người tham gia nên có kiến thức hoạt động về JavaScript và công nghệ web, với kinh nghiệm tùy chọn trong Node.js và giao tiếp dựa trên WebSocket.

 14 Giờ học

Số người tham gia


Giá cho mỗi người tham gia

Đánh giá (5)

Các khóa học sắp tới

Các danh mục liên quan