Đề 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.
Đánh giá (5)
Tôi thích cách Gunnar viết hầu như toàn bộ mã nguồn ngay trong quá trình chúng tôi đang đi qua, nhưng vẫn có rất nhiều tài liệu đã chuẩn bị sẵn trên Google Drive mà tôi có thể tham khảo sau khóa đào tạo. Mã nguồn mà Gunnar viết dựa trên dữ liệu mẫu tôi cung cấp trước đó cũng cực kỳ hữu ích và làm cho khóa đào tạo trở nên phù hợp với các tập dữ liệu của chúng tôi.
Ranvir - Schroders Personal Wealth
Khóa học - Visual Studio Code
Dịch thuật bằng máy
Nhiều ví dụ cho mỗi mô-đun và kiến thức tuyệt vời của giảng viên.
Sebastian - BRD
Khóa học - Secure Developer Java (Inc OWASP)
Dịch thuật bằng máy
Module3 Các cuộc tấn công và khai thác ứng dụng, XSS, SQL injection Module4 Các cuộc tấn công và khai thác máy chủ, DOS, BOF
Tshifhiwa - Vodacom
Khóa học - How to Write Secure Code
Dịch thuật bằng máy
Ví dụ từ thực tế.
Kristoffer Opdahl - Buypass AS
Khóa học - Web Security with the OWASP Testing Framework
Dịch thuật bằng máy
Kiến thức của giảng viên về chủ đề rất tốt, và cách bố trí các buổi học để khán giả có thể theo dõi các ví dụ minh họa đã giúp củng cố kiến thức đó, so với việc chỉ ngồi và nghe.
Jack Allan - RSM UK Management Ltd.
Khóa học - Secure Developer .NET (Inc OWASP)
Dịch thuật bằng máy